PubMed增强搜索服务

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

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

使用说明

PubMed增强搜索MCP服务器

一个模型内容协议服务器,提供增强工具以从PubMed数据库中搜索和检索学术论文,并具备额外功能,如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桌面配置文件_CLAUDE_DIRECTORY/claude_desktop_config.json 翻译为中文是:CLAUDE目录/claude桌面配置文件.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. 在每个元素内使用“或”运算符组合术语
  3. 对元素进行AND组合(P AND I,P AND I AND C等)
  4. 返回每个组合的搜索查询结果和出版物数量

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

速率限制

服务器实现了带有退避延迟的自动重试机制,以应对NCBI的E-utilities服务可能实施的速率限制。

许可证

此项目采用BSD 3-Clause许可证授权 - 详情请参见LICENSE文件。