mcpField
P
PubMed Enhanced Search Server

PubMed Enhanced Search Server

本地服务
github.com/leescot数据与分析584 周前更新

关于 PubMed Enhanced Search Server

面向研究人员的 PubMed MCP 服务,支持关键词与 PICO 检索、MeSH 查询、出版物计数和论文详情获取。

主要功能

  1. 01按关键词检索并筛选期刊
  2. 02按相关性或日期排序
  3. 03查询 MeSH 术语
  4. 04统计多个检索词的出版物数量
  5. 05按 PMID 获取论文详情
  6. 06支持同义词的 PICO 检索

适用场景

  1. 01查找主题或指定期刊的论文
  2. 02比较不同主题的出版物数量
  3. 03获取摘要和引文详情
  4. 04按 PICO 要素细化证据检索

MCP 相关

向 MCP 客户端提供 PubMed 检索与获取工具,包括 MeSH 查询、出版物计数、论文详情和 PICO 检索。还可返回 PICO 组合的检索式及计数。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"pubmed-mcp-smithery": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

PubMed 增强搜索 MCP 服务

smithery badge

一个模型内容协议服务,提供增强工具,用于搜索和检索 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 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 AND I、P AND I AND C 等)
  4. 返回每种组合对应的搜索查询和出版物数量

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

速率限制

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

许可证

此项目采用 BSD 3-Clause License 授权,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。