用途
ncbi-mcp-server 是一个 Model Context Protocol(MCP)服务器,用于搜索 NCBI 数据库,专为生命科学和生物医学领域的研究人员设计。它通过自然语言查询,提供对 PubMed 超过 3500 万篇科学文章的访问,使 AI 助手能够协助文献综述、研究发现和科学分析。
主要能力
- 全面搜索:搜索 PubMed 超过 3500 万篇文章,覆盖所有生物学科。
- 高级查询:支持布尔运算符、字段标签和过滤器的复杂搜索。
- 生命科学研究:覆盖遗传学、生态学、医学和生物技术等所有生物和生物医学领域。
- 计算生物学:适合查找生物信息学方法、算法和计算工具。
- 研究应用:文献综述、假设生成、方法发现和跟踪科学进展。
- 完整文章详情:获取摘要、作者列表、MeSH 术语、DOI 和出版信息。
- 相关文章:通过 NCBI 关系算法发现相关研究。
- MeSH 集成:搜索和利用医学主题词以实现精确术语。
- 分析与性能监控:包括请求总数、运行时间、操作分解、缓存性能指标、最近活动和错误率等。
- 批量处理:支持一次获取多个文章的详细信息。
使用方式
环境要求
- Python 3.8 或更高版本
- Poetry(推荐)
设置步骤
- 创建并初始化项目:
mkdir ncbi-mcp-server && cd ncbi-mcp-server,然后poetry init。在初始化期间添加依赖:mcp、httpx、typing-extensions。 - 创建项目结构:
mkdir -p src/ncbi_mcp_server,将 server.py 代码保存为src/ncbi_mcp_server/server.py。 - 安装依赖:
poetry install。 - 测试服务器:
poetry run python src/ncbi_mcp_server/server.py。 - 配置 Claude Desktop:编辑配置文件(macOS:
~/Library/Application Support/Claude/claude_desktop_config.json;Windows:%APPDATA%/Claude/claude_desktop_config.json;Linux:~/.config/claude/claude_desktop_config.json),添加配置:
{
"mcpServers": {
"ncbi-literature": {
"command": "poetry",
"args": ["run", "python", "src/ncbi_mcp_server/server.py"],
"cwd": "/FULL/PATH/TO/YOUR/ncbi-mcp-server"
}
}
}
- 重启 Claude Desktop 并开始搜索。
部署选项
- 本地开发:
./deploy.sh local,适合开发和测试。 - Docker 部署:
./deploy.sh docker,提供完整设置(含 Redis 缓存和 Redis Commander UI)或简单设置(仅服务器容器,内存缓存)。 - 生产部署:
./deploy.sh production,适合生产环境。
配置凭据
复制 .env.example 为 .env,编辑并填入 NCBI 邮箱和 API 密钥。API 密钥可选但推荐,用于更高请求限制:无 API 密钥为 3 请求/秒;有 API 密钥为 10 请求/秒;有 API 密钥和邮箱则批量请求限制更高。
工具与功能
- search_pubmed:主要搜索工具,支持查询术语(字段标签如 [ti]、[au]、[mh])、最大结果数(1-100,默认 20)、排序方式(相关性、出版日期、作者、期刊)和日期范围(30、90、365、1095 天)。
- get_article_details:获取特定文章的完整信息,支持最多 50 个 PMID,返回摘要、作者列表、MeSH 术语、DOI 和出版详情。
- search_mesh_terms:查找标准医学主题词,帮助发现相关概念并提高搜索精度。
- get_related_articles:发现与特定论文相关的文章,支持最多 50 个结果(默认 10)。
- advanced_search:使用多标准进行复杂搜索,支持术语组合(AND、OR、NOT)、作者、期刊、出版类型和日期范围。
- 分析工具:获取综合概览(请求总数、运行时间、操作分解、缓存指标、最近活动、错误率)、特定时间段的详细性能指标、重置分析数据。
适用场景
- 进化生物学与系统发育学
- 计算生物学与生物信息学
- 分子进化与群体遗传学
- 比较基因组学与蛋白质组学
- 系统生物学与网络分析
- 生物统计学与数学生物学
- 古 DNA 与古基因组学
- 保护遗传学与生态学
限制
- 需要 Python 3.8+ 和 Poetry 环境。
- 无 API 密钥时请求限制为 3 请求/秒,可能影响大量搜索。
- 分析数据重置会永久清除所有收集的指标。
- XML 解析错误可能因 NCBI 服务器临时问题导致,需重试。
- 该服务器目前主要针对 PubMed,其他数据库如 PMC、BioRxiv 等暂未提供。