Token导航 LogoToken导航TokenDH.com
MCP Pubmed logo
搜索检索stdio官方级别未说明来源级核验

MCP Pubmed

MCP Server

一个通过NCBI E-utilities API为Claude或其他MCP兼容AI提供直接访问PubMed和PubMed Central的模型上下文协议(MCP)服务器。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude搜索Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

benoitleq

提供方

benoitleq

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv

详细介绍

mcp出版

A. 模型上下文协议(MCP) 通过免费的NCBI电子实用程序API,让Claude(或任何MCP-兼容AI)直接访问PubMed和PubMed Central的服务器。

无需订阅。没有第三方服务。纯NCBI。

______________________________________________________________________

特性

工具说明
search_pubmed按关键字搜索文章,使用日期范围、文章类型和排序顺序过滤器。支持完整的PubMed查询语法。
get_article按PMID检索每篇文章的完整元数据(摘要、作者、MeSH术语、关键字、DOI、PMC链接)。
get_full_text当文章开放获取时,从PubMed Central下载全文。
get_related_articles使用NCBI的相似性算法查找与给定PMID相关的文章。
search_by_author列出特定作者发表的所有文章,按最新文章排序。

______________________________________________________________________

需求

  • python 3.11 或更高

______________________________________________________________________

安装

1--克隆存储库

git clone https://github.com/benoitleq/mcp-pubmed.git
cd mcp-pubmed

2--创建虚拟环境

python -m venv .venv

激活它:

  • Windows(PowerShell) : .venv\Scripts\Activate.ps1
  • Windows(CMD) : .venv\Scripts\activate.bat
  • macOS/Linux : source .venv/bin/activate

3--安装依赖项

pip install -r requirements.txt

4-(可选)设置NCBI API密钥

在没有密钥的情况下,NCBI API仅限于 3个请求/秒. 使用免费密钥,您可以获得 10个请求/秒.

把钥匙拿到 → 设置→ API密钥管理。

复制示例env文件并添加密钥:

cp .env.example .env
# then edit .env and uncomment the NCBI_API_KEY line

或者直接在shell中设置它:

export NCBI_API_KEY=your_key_here      # macOS / Linux
$env:NCBI_API_KEY = "your_key_here"   # Windows PowerShell

______________________________________________________________________

配置Claude桌面

编辑 claude_desktop_config.json (位置取决于您的操作系统):

操作系统路径
窗户%APPDATA%\Claude\claude_desktop_config.json
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json

在内部添加以下块 "mcpServers" 对象:

{
  "mcpServers": {
    "pubmed": {
      "command": "python",
      "args": ["C:/path/to/mcp-pubmed/main.py"],
      "env": {
        "NCBI_API_KEY": "your_key_here"
      }
    }
  }
}
Windows提示: 在路径中使用正斜杠或双反斜杠。 如果 python 如果不在PATH中,请使用虚拟环境的完整路径: "C:/path/to/mcp-pubmed/.venv/Scripts/python.exe"

重新启动克劳德桌面。您应该看到可用的5个PubMed工具。

______________________________________________________________________

配置克劳德代码(VS代码/CLI)

从项目根目录运行此命令:

claude mcp add pubmed python main.py

或者手动将其添加到您的Claude Code设置中(.claude/settings.json):

{
  "mcpServers": {
    "pubmed": {
      "command": "python",
      "args": ["main.py"],
      "env": {
        "NCBI_API_KEY": "your_key_here"
      }
    }
  }
}

______________________________________________________________________

用法示例

连接后,自然地问克劳德:

Search for recent meta-analyses on SGLT2 inhibitors and heart failure.

Find the 5 latest meta-analyses on metformin and cancer.

Find all articles published by Topol EJ since 2020.

Get the abstract for PMID 33982811.

Is the full text of PMID 34591945 available?

Find articles related to PMID 31475795.

PubMed查询语法

search_pubmed 该工具接受标准PubMed查询语法:

示例含义
"heart failure"[MeSH]精确的MeSH术语
metformin[tiab]标题或摘要中的单词
Smith J[au]按作者分类的文章
2020:2024[pdat]出版日期范围
"Randomized Controlled Trial"[pt]按发布类型筛选
AND, OR, NOT 布尔运算符

______________________________________________________________________

费率限制

情况限制
没有API密钥3个请求/秒
使用API密钥10个请求/秒

服务器处理 429个速率限制错误5xx服务器错误 自动执行,最多可重试3次,并呈指数级回退。

______________________________________________________________________

项目结构

mcp-pubmed/
├── main.py            # MCP server — all tools defined here
├── requirements.txt   # Python dependencies
├── pyproject.toml     # Package metadata
├── .env.example       # Environment variable template
└── README.md

______________________________________________________________________

运作原理

Claude ──MCP── main.py ──HTTPS── NCBI E-utilities API
                                 ├── esearch.fcgi  (search)
                                 ├── efetch.fcgi   (fetch records / full text)
                                 └── elink.fcgi    (related articles)
  1. 克劳德称之为工具(例如。 search_pubmed).
  2. main.py 向相应的NCBI端点构建请求。
  3. XML/JSON响应被解析并格式化为纯文本。
  4. 克劳德收到结果并将其呈现给您。

______________________________________________________________________

MCP与技能——选择哪种方法?

有两种方法可以让克劳德访问PubMed:

  1. 这个项目 --MCP服务器(Python进程、显式工具)
  2. 技能 -Markdown提示文件,指示Claude通过内置的NCBI API直接调用 web_fetch 能力(参见例如。 耻骨技能)

比较

MCP(此项目)技能(提示文件)
设置Python 3.11+venv+依赖+配置 claude_desktop_config.json复制一个 .md 文件--已完成
维护要启动并保持运行的服务器进程无需维护
可移植性必须在每个Claude客户端中配置适用于Claude有网络访问权限的任何地方
可靠性确定性——显式重试逻辑、错误处理、XML解析取决于Claude对提示的解释
力量完全控制:分页、缓存、身份验证、复杂的后处理仅限于Claude在单个提示回合中可以做的事情
共享可作为Python包或Docker镜像分发只需分享 .md 文件
可审计性代码是明确的、可测试的、可版本化的行为可能因Claude版本而异

何时选择MCP

  • 你需要 有保证的、可重复的行为 每次通话
  • 您正在为 团队或应用程序 (不仅仅是个人使用)
  • 你需要 复杂逻辑:分页、缓存、结构化输出、身份验证
  • 你想让PubMed暴露给 非克劳德客户 通过MCP标准

何时选择技能

  • 个人使用 在Claude Desktop或Claude Code中——你只是想让它工作
  • 你想要 零摩擦:无需安装,无需配置,无需管理进程
  • 该任务是偶然的,正确性变化是可以接受的

底线

对于单独使用,技能更简单,也足够好。 对于生产、团队或复杂的工作流程,MCP更为稳健。

______________________________________________________________________

故障排除

“没有名为mcp的模块” → 确保您的虚拟环境已激活并运行 pip install -r requirements.txt.

“无法连接到NCBI” → 检查您的互联网连接。NCBI位于 eutils.ncbi.nlm.nih.gov.

速率限制错误(429) → 添加一个NCBI API密钥(请参见上文)。

克劳德没有看到工具 → 检查路径是否正确 claude_desktop_config.json 是绝对和正确的。 → 更改任何配置后重新启动Claude Desktop。

______________________________________________________________________

许可证

麻省理工学院——个人和商业用途免费。

______________________________________________________________________

致谢

建立在 NCBI电子实用程序API (免费,无需订阅)和 模型上下文协议 通过Anthropic。

目录标签

目录标签

PythonClaude搜索PubMed搜索本地部署医学文献检索NCBIAPIAI工具集成科研辅助

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononeremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP