返回市场
PubMed-MCP-锻造厂服务器

PubMed-MCP-锻造厂服务器

作者:leescot5 星标更新:2025-03-22

项目介绍

PubMed 增强搜索 MCP 服务器

smithery 徽章

这是一个提供增强工具来搜索和检索 PubMed 数据库中学术论文的 Model Content Protocol 服务器,具有额外的功能,如 MeSH 词查找、出版物数量统计以及基于 PICO 的证据搜索。

功能

  • 通过关键词搜索 PubMed,可选期刊过滤
  • 支持按相关性或日期排序结果(最新/最旧优先)
  • 获取与搜索词相关的 MeSH(医学主题词)术语
  • 获取多个搜索词的出版物数量(用于比较流行度)
  • 检索详细的论文信息,包括摘要、DOI、作者和关键词
  • 执行基于 PICO 的结构化搜索,支持同义词和组合查询

安装

预备条件

  • Python 3.6+
  • pip

安装步骤

  1. 克隆此仓库:

    git clone https://github.com/leescot/pubmed-mcp-smithery
    cd pubmed-mcp-smithery
    
  2. 安装依赖项:

    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"
    ]
}

MCP 函数

该服务器提供了以下主要功能:

  1. search_pubmed - 按关键词搜索 PubMed 文章,可选期刊过滤

    # 示例
    results = await search_pubmed(
        keywords=["糖尿病", "胰岛素抵抗"],
        journal="Nature Medicine",
        num_results=5,
        sort_by="date_desc"
    )
    
  2. get_mesh_terms - 查找与医疗概念相关的 MeSH 术语

    # 示例
    mesh_terms = await get_mesh_terms("糖尿病")
    
  3. get_pubmed_count - 获取多个搜索词的出版物数量

    # 示例
    counts = await get_pubmed_count(["糖尿病", "肥胖症", "高血压"])
    
  4. format_paper_details - 根据 PMID 获取特定论文的详细信息

    # 示例
    paper_details = await format_paper_details(["12345678", "87654321"])
    
  5. pico_search - 执行基于 PICO(人群、干预、对照、结局)的结构化搜索,支持同义词

    # 示例
    pico_results = await pico_search(
        p_terms=["糖尿病", "2型糖尿病", "T2DM"],
        i_terms=["二甲双胍", "格列本脲"],
        c_terms=["磺脲类药物", "格列吡嗪"],
        o_terms=["HbA1c降低", "血糖控制"]
    )
    

PICO 搜索功能

PICO 搜索工具帮助研究人员进行基于证据的文献搜索,通过:

  1. 允许每个 PICO 元素使用多个同义词
  2. 使用 OR 运算符在每个元素内组合术语
  3. 在元素之间执行 AND 组合(P AND I,P AND I AND C 等)
  4. 返回每种组合的搜索查询和出版物数量

这种方法有助于细化研究问题并识别最相关的文献。

速率限制

该服务器实现了自动重试机制和退避延迟,以处理 NCBI 的 E-utilities 服务可能的速率限制。

许可证

本项目根据 BSD 3-Clause 许可证发布 - 详情见 LICENSE 文件。 </中文翻译>