NCBI生物数据服务

提供NCBI E-utilities和BLAST工具访问的模型上下文协议服务器,支持智能搜索、获取和分析NCBI数据库中的生物数据。

  • by hamzameer
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 hamzameer/ncbi-mcp-server

使用说明

NCBI MCP服务器

一种模型上下文协议(MCP)服务器,提供对NCBI电子实用程序和BLAST工具的访问。该服务器使Claude Desktop等人工智能应用程序能够以智能、代理的方式从NCBI数据库中搜索、获取和分析生物数据。

特性

🔧 可用工具

  • search_ncbi -使用自然语言查询搜索任何NCBI数据库
  • fetch_records -检索各种格式的完整记录(XML、FASTA、GenBank等)
  • 总结记录 -获取包含标题、作者、期刊等的结构化摘要。
  • 查找相关记录 -发现不同数据库中的相关记录
  • 爆破研究 -执行BLAST序列比对搜索
  • 列表_数据库 -获取所有可用的NCBI数据库
  • get_database_info -获取特定数据库的详细信息

📚 可用资源

  • ncbi://databases -NCBI数据库综合列表及说明
  • ncbi://blast-programs -BLAST程序和数据库指南

🧠 代理行为示例

当你向Claude Desktop提问时,它会智能地将多种工具结合使用:

示例查询: “查找最近关于人类CRISPR基因编辑的论文,并给我摘要”

克劳德将自动:

  1. 使用 search_ncbi 在PubMed上搜索CRISPR论文
  2. 使用 summarize_records 获取摘要和元数据
  3. 以可读格式呈现信息

示例查询: “我有这个DNA序列ATCGATCGATCG——它编码什么蛋白质?”

克劳德将自动:

  1. 使用 blast_search 使用blastx程序翻译和搜索蛋白质数据库
  2. 分析结果以确定最可能的蛋白质匹配
  3. 可能使用 fetch_records 获取有关比赛的更多详细信息

示例查询: “向我展示大肠杆菌的所有基因组组装及其质量指标”

克劳德将自动:

  1. 使用 search_ncbi 大肠杆菌组装数据库的研究
  2. 使用 fetch_records 获取详细的装配信息
  3. 以结构化的方式分析和呈现质量指标

快速开始

安装

使用紫外线进行安装(推荐):

uv add ncbi-mcp-server

或者使用pip:

pip install -e .

配置

  1. 获取NCBI API密钥(推荐)

    • 访问:https://www.ncbi.nlm.nih.gov/account/settings/
    • 为更高的速率限制生成API密钥(10请求/秒与3请求/秒)
  2. 设置环境变量

    cp env.example .env
    # Edit .env with your credentials
    export NCBI_API_KEY="your_api_key_here"
    export NCBI_EMAIL="your.email@example.com"
    

使用Claude Desktop

  1. 在Claude Desktop中安装:

    mcp install ncbi_mcp_server/server.py --name "NCBI Research Assistant"
    
  2. 或者手动添加到Claude配置中:

    {
      "mcpServers": {
        "ncbi": {
          "command": "python",
          "args": ["/path/to/ncbi_mcp_server/server.py"],
          "env": {
            "NCBI_API_KEY": "your_api_key",
            "NCBI_EMAIL": "your.email@example.com"
          }
        }
      }
    }
    
  3. 开始使用它! 问克劳德以下问题:

    • “查找阿尔茨海默病遗传学的最新研究”
    • “爆破这个蛋白质序列,告诉我它是什么”
    • “给我提供有关人类基因组组装的信息”
    • “查找作者约翰·史密斯关于癌症研究的论文”

开发与测试

使用MCP检查器测试您的服务器:

mcp dev ncbi_mcp_server/server.py

使用自定义环境运行:

NCBI_API_KEY=your_key mcp dev ncbi_mcp_server/server.py

支持的NCBI数据库

该服务器适用于所有NCBI数据库,包括:

文献与参考文献

  • pubmed -PubMed生物医学文献
  • 私营军事公司 -PubMed Central全文文章
  • 书籍 -NCBI书架

序列

  • 核苷酸 -核苷酸序列
  • 蛋白质 -蛋白质序列
  • 核心 -核苷酸收集(GenBank+EMBL+DDBJ+PDB+RefSeq)

基因组和组装

  • 基因组 -基因组测序项目
  • 装配 -基因组组装
  • 基因 -以基因为中心的信息

专用数据库

  • 太太 -序列读取存档
  • 分类学 -分类信息
  • 单核苷酸多态性 -单核苷酸多态性
  • 克林瓦尔 -基因组变异的临床意义
  • 网格 -医学主题标题

支持BLAST程序

  • 爆炸 -核苷酸vs核苷酸
  • 比对 -蛋白质vs蛋白质
  • 爆炸 -翻译核苷酸与蛋白质
  • tblastn -蛋白质与翻译核苷酸
  • tblastx -翻译核苷酸与翻译核苷酸

示例工作流

文献研究

User: "Find recent papers about COVID-19 vaccines effectiveness"
→ Claude automatically searches PubMed
→ Gets paper summaries with abstracts  
→ Presents organized results with key findings

序列分析

User: "Analyze this DNA sequence: ATCGATCGATCGAAATTTCCCGGG"
→ Claude runs appropriate BLAST search
→ Identifies similar sequences and organisms
→ Explains biological significance

比较基因组学

User: "Compare the genome assemblies of different E. coli strains"  
→ Claude searches assembly database
→ Fetches assembly statistics
→ Compares quality metrics and completeness

费率限制和最佳实践

  • 使用API密钥:10个请求/秒
  • 没有API密钥:3个请求/秒
  • 始终提供电子邮件:NCBI服务条款要求
  • 要有礼貌:不要让NCBI服务器不堪重负

故障排除

常见问题

  1. 速率限制错误

    • 获取NCBI API密钥以获得更高的限制
    • 降低请求频率
  2. 未找到结果

    • 检查数据库名称拼写
    • 尝试更广泛的搜索词
    • 验证BLAST的序列格式
  3. 连接错误

    • 检查互联网连接
    • 验证NCBI服务是否正常运行

调试模式

运行详细日志记录:

DEBUG=1 mcp dev ncbi_mcp_server/server.py

贡献

欢迎投稿!请查看开发设置:

git clone https://github.com/your-username/ncbi-mcp-server.git
cd ncbi-mcp-server
uv sync
uv run mcp dev ncbi_mcp_server/server.py

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

致谢