Sponsored by Deepsite.site

PubMed Search MCP Server

Created By
YOUNGSUK818 months ago
MCP server for PubMed medical research search with Impact Factor analysis
Content

PubMed Search MCP Server

Model Context Protocol(MCP) 서버로, 의학 주제에 관한 질문을 분석하여 PubMed에서 관련 논문을 검색하고 연관성 및 저널 Impact Factor에 따라 결과를 EndNote 형식으로 제공합니다.

주요 기능

  • 검색 쿼리 분석: 의학 관련 질문을 분석하여, PubMed API를 통해 의학 논문 검색
  • 연관성 분석: 논문의 제목, 초록, MeSH 용어 등을 분석하여 질문과 가장 관련성 높은 논문 선별
  • Impact Factor 기반 정렬: 저널의 Impact Factor에 따라 논문을 정렬하여 영향력 높은 연구 제공
  • EndNote 형식 출력: 선별된 논문을 EndNote 호환 포맷으로 출력하여 문헌 관리 용이
  • 결과 분류: 세 가지 파일로 결과 제공
    • 연관성이 높은 논문 목록
    • Impact Factor가 높은 논문 목록
    • Impact Factor 데이터베이스에 없는 저널의 논문 목록

도구 설명

  • pubmed_search: PubMed에서 의학 논문 검색 및 분석

    • 입력:
      • query (string, 필수): 의학 관련 질문 또는 검색 쿼리
      • maxResults (number, 선택, 기본값: 10): 반환할 최대 결과 수
      • outputDir (string, 선택, 기본값: "./output"): 결과 파일을 저장할 디렉터리 경로
  • load_impact_factor: Impact Factor 데이터 파일 로드

    • 입력:
      • filePath (string, 필수): Impact Factor 데이터 파일 경로

설치 및 설정

필수 조건

Impact Factor 데이터 변환

PDF 형식의 Impact Factor 데이터를 JSON으로 변환:

# 변환 스크립트 실행
node impact-factor-converter.js impact-factor.pdf impact_factor_data.json

설치

# 저장소 클론
git clone https://github.com/YOUNGSUK81/Pubmed_Search.git
cd Pubmed_Search

# 의존성 설치
npm install

# 빌드
npm run build

환경 변수 설정

# NCBI API 키 설정
export NCBI_API_KEY=your_api_key_here

# Impact Factor 데이터 경로 설정(선택 사항)
export IMPACT_FACTOR_PATH=./path/to/impact_factor_data.json

# 출력 디렉터리 설정(선택 사항)
export OUTPUT_DIR=./output

사용 방법

Claude Desktop과 함께 사용

Claude Desktop 설정 파일(claude_desktop_config.json)에 다음을 추가:

{
  "mcpServers": {
    "pubmed-search": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-pubmed-search"],
      "env": {
        "NCBI_API_KEY": "9585a3fc07ce86e32a3f42169e2c571a5708",
        "IMPACT_FACTOR_PATH": "./impact_factor_data.json",
        "OUTPUT_DIR": "./output"
      }
    }
  }
}

Docker 사용

{
  "mcpServers": {
    "pubmed-search": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "NCBI_API_KEY=9585a3fc07ce86e32a3f42169e2c571a5708",
        "-v",
        "/path/to/impact_factor_data.json:/data/impact_factor_data.json",
        "-v",
        "/path/to/output:/data/output",
        "mcp/pubmed-search"
      ]
    }
  }
}

VS Code와 함께 사용

VS Code 설정 파일(.vscode/settings.json 또는 User Settings)에 다음 추가:

{
  "mcp": {
    "servers": {
      "pubmed-search": {
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-pubmed-search"],
        "env": {
          "NCBI_API_KEY": "9585a3fc07ce86e32a3f42169e2c571a5708",
          "IMPACT_FACTOR_PATH": "./impact_factor_data.json",
          "OUTPUT_DIR": "./output"
        }
      }
    }
  }
}

도커 빌드

직접 도커 이미지를 빌드하려면:

docker build -t mcp/pubmed-search .

디렉토리 구조

pubmed-search-mcp-server/
├── package.json                   # 프로젝트 의존성 정보
├── tsconfig.json                  # TypeScript 설정
├── Dockerfile                     # Docker 빌드 설정
├── README.md                      # 프로젝트 문서
├── impact-factor-converter.js     # PDF → JSON 변환 스크립트
├── impact_factor_data.json        # Impact Factor 데이터 (생성됨)
├── src/
│   ├── index.ts                   # 메인 서버 파일
│   └── pubmed-service.ts          # PubMed API 및 분석 서비스
└── output/                        # 결과 출력 디렉터리 (생성됨)
    ├── relevance-results.txt      # 연관성 높은 논문 결과
    ├── impact-factor-results.txt  # Impact Factor 높은 논문 결과
    └── unknown-impact-factor.txt  # Impact Factor 미상 논문 목록

개발 가이드

프로젝트 확장 시 고려할 사항:

  1. pubmed-service.ts: PubMed API 요청 및 결과 처리 로직이 포함된 핵심 모듈
  2. index.ts: MCP 서버 초기화 및 도구 정의, 요청 처리 모듈
  3. impact-factor-converter.js: Impact Factor 데이터 변환 스크립트 (PDF → JSON)

새 기능 추가하기

새로운 기능이나 도구를 추가하려면:

  1. pubmed-service.ts에 필요한 함수 구현
  2. index.tsListToolsRequestSchema 핸들러에 도구 정의 추가
  3. CallToolRequestSchema 핸들러에 도구 처리 로직 추가

라이센스

MIT 라이센스에 따라 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
ChatWiseThe second fastest AI chatbot™
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Amap Maps高德地图官方 MCP Server
Tavily Mcp
Serper MCP ServerA Serper MCP Server
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
DeepChatYour AI Partner on Desktop
Playwright McpPlaywright MCP server
WindsurfThe new purpose-built IDE to harness magic
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
CursorThe AI Code Editor
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors