mcpField
L
lineex-pubmed-mcp-smithery

lineex-pubmed-mcp-smithery

远程服务
github.com/lineex搜索与检索158 周前更新
代码仓库

关于 lineex-pubmed-mcp-smithery

lineex-pubmed-mcp-smithery 是面向研究者的 PubMed 文献搜索与检索 MCP 服务。它还提供 MeSH 查询、发表数量统计、论文详情,以及支持同义词的结构化 PICO 检索。

主要功能

  1. 01按关键词和期刊搜索
  2. 02按相关性或日期排序
  3. 03查询相关 MeSH 词
  4. 04统计多个词的发表数量
  5. 05按 PMID 获取论文详情
  6. 06运行支持同义词的 PICO 检索

适用场景

  1. 01查找特定医学主题的论文
  2. 02比较不同检索词的发表数量
  3. 03为证据综述构建 PICO 检索

MCP 相关

它向 MCP 客户端提供 PubMed 搜索、MeSH 查询、发表数量统计、论文详情和 PICO 检索工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://server.smithery.ai/@lineex/pubmed-mcp-smithery/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://server.smithery.ai/@lineex/pubmed-mcp-smithery/mcp需要授权

工具

详细介绍

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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。