article
README
🚀 增强PubMed搜索MCP服务器
这是一个提供增强工具的Model Content Protocol(MCP)服务器,可从PubMed数据库中搜索和检索学术论文。它具备额外功能,如MeSH术语查找、出版物数量统计以及基于PICO的证据搜索,能极大提升学术论文搜索的效率和精准度。
🚀 快速开始
本服务器可帮助你从PubMed数据库中高效搜索和检索学术论文。以下是使用前的准备和操作步骤。
✨ 主要特性
- 支持通过关键词搜索PubMed,还能进行可选的期刊过滤。
- 可按相关性或日期(最新/最旧优先)对搜索结果进行排序。
- 能够获取与搜索词相关的MeSH(医学主题词)。
- 可以获取多个搜索词的出版物数量,方便比较流行度。
- 能检索论文详细信息,包括摘要、DOI、作者和关键词。
- 支持PICO(人群、干预、对照、结局)结构化搜索,支持同义词和组合查询。
📦 安装指南
先决条件
- Python 3.6+
- pip
安装步骤
- 克隆此仓库:
git clone https://github.com/leescot/pubmed-mcp-smithery cd pubmed-mcp-smithery - 安装依赖项:
pip install fastmcp requests
💻 使用示例
本地运行
启动服务器:
python pubmed_enhanced_mcp_server.py
开发模式(自动重载):
mcp dev pubmed_enhanced_mcp_server.py
添加到Claude Desktop
编辑你的Claude Desktop配置文件(CLAUDE_DIRECTORY/claude_desktop_config.json)以添加此服务器:
"pubmed-enhanced": {
"command": "python",
"args": [
"/path/pubmed-mcp-smithery(pubmed_enhanced_mcp_server.py"
]
}
基础用法
该服务器提供了多个实用的功能,以下是一些基础用法示例:
# 根据关键词搜索PubMed文章,可选期刊过滤
results = await search_pubmed(
keywords=["糖尿病", "胰岛素抵抗"],
journal="Nature Medicine",
num_results=5,
sort_by="date_desc"
)
# 查找与医学概念相关的MeSH术语
mesh_terms = await get_mesh_terms("糖尿病")
# 获取多个搜索词的出版物数量
counts = await get_pubmed_count(["糖尿病", "肥胖症", "高血压"])
# 根据PMID获取特定论文的详细信息
paper_details = await format_paper_details(["12345678", "87654321"])
# 基于PICO(人群、干预、对照、结局)的结构化搜索,支持同义词和组合查询
pico_results = await pico_search(
p_terms=["糖尿病患者", "非糖尿病患者"],
i_terms=["二甲双胍"],
c_terms=["安慰剂"],
o_terms=["血糖水平"]
)
📚 详细文档
MCP功能
该服务器提供以下主要功能:
search_pubmed- 根据关键词搜索PubMed文章,可选期刊过滤get_mesh_terms- 查找与医学概念相关的MeSH术语get_pubmed_count- 获取多个搜索词的出版物数量format_paper_details- 根据PMID获取特定论文的详细信息pico_search- 基于PICO(人群、干预、对照、结局)的结构化搜索,支持同义词和组合查询
🔧 技术细节
- 代码示例中的参数需根据实际需求调整:在使用代码示例时,你需要根据自己的实际需求调整参数,以获得符合预期的结果。
- PICO搜索功能支持复杂的医学查询:通过指定人群(p_terms)、干预(i_terms)、对照(c_terms)和结局(o_terms),可以进行高级筛选,满足复杂的医学查询需求。
📄 许可证
该软件受[许可证名称]许可,具体内容请参考项目仓库。
扫码联系在线客服