使用说明
PubMed搜索MCP服务器
作为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,Select,默认值:10):要返回的最大结果数outputDir(string,选择,默认值:“./output”):保存结果文件的目录路径
- 输入:
-
load_impact_factor:加载Impact Factor数据文件
- 输入:
filePath(string,必需):Impact Factor数据文件路径
- 输入:
安装和设置
必备条件
- Node.js 16或更高版本
- NCBI API키 (무료로 발급 가능: https://ncbiinsights.ncbi.nlm.nih.gov/2017/11/02/new-api-keys-for-the-e-utilities/)
- Impact Factor数据JSON文件
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 미상 논문 목록
开发指南
扩展项目时的注意事项:
- pubmed-service.ts:核心模块,包括PubMed API请求和结果处理逻辑
- index.ts:MCP服务器初始化和工具定义,请求处理模块
- impact-actor-converter.js:Impact Factor数据转换脚本(PDF→JSON)
添加新功能
要添加新功能或工具,请:
pubmed-service.ts实现所需的函数index.ts的ListToolsRequestSchema向处理程序添加工具定义CallToolRequestSchema将工具处理逻辑添加到处理程序
许可证
根据MIT许可证分发。有关详细信息,请参阅LICENSE文件。