PubMed增强搜索服务

一个提供增强工具来搜索和检索PubMed数据库学术论文的模型内容协议服务器,包括MeSH术语查找、出版物计数统计和基于PICO的证据搜索等功能。

  • by leescot
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 leescot/pubmed-mcp-smithery

使用说明

PubMed增强型搜索MCP服务器

一个模型内容协议服务器,提供增强的工具从PubMed数据库中搜索和检索学术论文,并具有MeSH术语查找、发表计数统计和基于PICO的证据搜索等附加功能。

特性

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

安装

先决条件

  • Python 3.6+
  • 点

安装

  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桌面

编辑您的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中搜索与关键字匹配的文章

    # Example
    results = await search_pubmed(
        keywords=["diabetes", "insulin resistance"],
        journal="Nature Medicine",
        num_results=5,
        sort_by="date_desc"
    )
    
  2. get_mesh_terms -查找与医学概念相关的MeSH术语

    # Example
    mesh_terms = await get_mesh_terms("diabetes")
    
  3. get_pubmed_count -获取多个搜索词的出版物计数

    # Example
    counts = await get_pubmed_count(["diabetes", "obesity", "hypertension"])
    
  4. format_paper_details -通过PMID获取特定论文的详细信息

    # Example
    paper_details = await format_paper_details(["12345678", "87654321"])
    
  5. pico_search -使用同义词进行结构化PICO(人群、干预、比较、结果)搜索

    # Example
    pico_results = await pico_search(
        p_terms=["diabetes", "type 2 diabetes", "T2DM"],
        i_terms=["metformin", "glucophage"],
        c_terms=["sulfonylurea", "glipizide"],
        o_terms=["HbA1c reduction", "glycemic control"]
    )
    

PICO搜索功能

PICO搜索工具通过以下方式帮助研究人员进行循证文献搜索:

  1. 允许每个PICO元素有多个同义词
  2. 使用OR运算符组合每个元素中的术语
  3. 在元素之间执行AND组合(P与I、P与I与C等)
  4. 返回每种组合的搜索查询和发布计数

这种方法有助于完善研究问题,并确定最相关的文献。

速率限制

服务器实现了具有退避延迟的自动重试机制,以处理NCBI电子公用事业服务的潜在速率限制。

许可证

此项目根据BSD 3-Clause许可证进行许可-有关详细信息,请参阅License文件。