返回市场
NCBI数据集MCP服务器

NCBI数据集MCP服务器

作者:Augmented-Nature8 星标更新:2025-07-28

项目介绍

NCBI 数据集 MCP 服务器标志

非官方 NCBI 数据集 MCP 服务器

这是一个提供对 NCBI 数据集 API 全面访问的模型上下文协议(MCP)服务器。该服务器通过 31 种专业工具实现了与 NCBI 巨大基因组、分类学和生物数据集的无缝集成。

Augmented Nature 开发

功能

  • 31 种全面工具 覆盖 NCBI 数据集的所有主要功能
  • 9 类组织好的生物数据操作
  • 资源模板 直接基于 URI 的数据访问
  • 完整的 TypeScript 实现 并具有适当的错误处理
  • 速率限制和缓存 以实现最佳性能
  • 环境变量配置 用于 API 密钥

安装

npm install
npm run build

配置

环境变量

  • NCBI_API_KEY(可选):您的 NCBI API 密钥,用于更高的速率限制和优先访问

MCP 配置

添加到您的 MCP 设置中:

{
  "mcpServers": {
    "ncbi-datasets-server": {
      "command": "node",
      "args": ["/path/to/ncbi-datasets-server/build/index.js"],
      "env": {
        "NCBI_API_KEY": "your_api_key_here"
      }
    }
  }
}

可用工具

🧬 基因组操作

  • search_genomes - 按照生物体、关键词或标准搜索基因组组装
  • get_genome_info - 获取特定基因组组装的详细信息
  • get_genome_summary - 获取基因组组装的概要统计

🧬 基因操作

  • search_genes - 按照符号、名称、生物体或位置搜索基因
  • get_gene_info - 获取特定基因的详细信息
  • get_gene_sequences - 获取特定基因的序列

🏷️ 分类学操作

  • search_taxonomy - 按照生物体名称搜索分类学信息
  • get_taxonomy_info - 获取特定分类单元的详细分类学信息
  • get_organism_info - 获取特定生物体的信息和数据集

🏗️ 组装操作

  • search_assemblies - 使用详细的过滤条件搜索基因组组装
  • get_assembly_info - 获取组装的详细元数据和统计信息
  • get_assembly_reports - 获取组装质量报告和验证信息
  • download_genome_data - 获取基因组数据文件的下载 URL
  • batch_assembly_info - 获取多个组装的信息

🦠 病毒操作

  • search_virus_genomes - 搜索病毒基因组组装
  • get_virus_info - 获取病毒基因组的详细信息

🧪 蛋白质操作

  • search_proteins - 按照名称或功能搜索蛋白质序列
  • get_protein_info - 获取特定蛋白质的详细信息

📝 注释操作

  • get_genome_annotation - 获取组装的注释信息
  • search_genome_features - 搜索特定的基因组特征

🔬 比较基因组学

  • compare_genomes - 比较两个或多个基因组组装
  • find_orthologs - 在不同生物体之间查找直系同源基因

🧬 序列操作

  • get_sequence_data - 获取基因组/基因/蛋白质的序列数据
  • blast_search - 对 NCBI 数据库执行 BLAST 搜索

🌳 系统发生学操作

  • get_phylogenetic_tree - 获取生物体的系统发生树数据
  • get_taxonomic_lineage - 获取完整的分类学谱系

📊 统计操作

  • get_database_stats - 获取关于 NCBI 数据集内容的统计数据
  • search_by_bioproject - 按照 BioProject 访问号搜索数据集
  • search_by_biosample - 按照 BioSample 访问号搜索数据集

✅ 质量控制

  • get_assembly_quality - 获取基因组组装的质量指标
  • validate_sequences - 验证序列数据并检查问题

使用示例

基因组分析

// 搜索 E. coli 基因组
{
  "tool": "search_genomes",
  "arguments": {
    "tax_id": 511145,
    "assembly_level": "complete",
    "max_results": 10
  }
}

// 获取详细基因组信息
{
  "tool": "get_genome_info",
  "arguments": {
    "accession": "GCF_000005845.2",
    "include_annotation": true
  }
}

// 获取基因组概要统计
{
  "tool": "get_genome_summary",
  "arguments": {
    "accession": "GCF_000005845.2"
  }
}

基因研究

// 搜索 BRCA1 基因
{
  "tool": "search_genes",
  "arguments": {
    "gene_symbol": "BRCA1",
    "organism": "Homo sapiens",
    "max_results": 5
  }
}

// 获取详细基因信息
{
  "tool": "get_gene_info",
  "arguments": {
    "gene_id": 672,
    "include_sequences": true
  }
}

// 获取基因序列
{
  "tool": "get_gene_sequences",
  "arguments": {
    "gene_id": 672,
    "sequence_type": "transcript"
  }
}

分类学分析

// 按照生物体名称搜索分类学
{
  "tool": "search_taxonomy",
  "arguments": {
    "query": "Escherichia coli",
    "max_results": 10
  }
}

// 获取详细分类学信息
{
  "tool": "get_taxonomy_info",
  "arguments": {
    "tax_id": 511145,
    "include_lineage": true
  }
}

// 获取生物体信息
{
  "tool": "get_organism_info",
  "arguments": {
    "organism": "Escherichia coli"
  }
}

组装操作

// 使用过滤条件搜索组装
{
  "tool": "search_assemblies",
  "arguments": {
    "query": "human",
    "assembly_level": "chromosome",
    "assembly_source": "refseq",
    "max_results": 20
  }
}

// 获取组装信息
{
  "tool": "get_assembly_info",
  "arguments": {
    "assembly_accession": "GCF_000001405.40",
    "include_annotation": true
  }
}

// 批量组装查询
{
  "tool": "batch_assembly_info",
  "arguments": {
    "accessions": ["GCF_000001405.40", "GCF_000005825.2", "GCF_000002305.1"]
  }
}

比较基因组学

// 比较多个基因组
{
  "tool": "compare_genomes",
  "arguments": {
    "accessions": ["GCF_000005845.2", "GCF_000001405.40"],
    "comparison_type": "basic_stats",
    "include_orthologs": true
  }
}

// 查找直系同源基因
{
  "tool": "find_orthologs",
  "arguments": {
    "gene_symbol": "BRCA1",
    "source_organism": "Homo sapiens",
    "target_organisms": ["Mus musculus", "Rattus norvegicus"],
    "similarity_threshold": 80
  }
}

病毒研究

// 搜索病毒基因组
{
  "tool": "search_virus_genomes",
  "arguments": {
    "virus_name": "SARS-CoV-2",
    "host": "Homo sapiens",
    "max_results": 50
  }
}

// 获取病毒基因组信息
{
  "tool": "get_virus_info",
  "arguments": {
    "accession": "NC_045512.2",
    "include_proteins": true,
    "include_metadata": true
  }
}

资源模板

该服务器提供了直接数据访问的资源模板:

  • ncbi://genome/{accession} - 完整的基因组组装信息
  • ncbi://gene/{gene_id} - 带有注释的基因信息
  • ncbi://taxonomy/{tax_id} - 分类学分类和谱系
  • ncbi://assembly/{assembly_accession} - 组装元数据和统计信息
  • ncbi://search/{data_type}/{query} - 指定查询的搜索结果

API 速率限制

  • 无 API 密钥:每秒 3 次请求
  • 有 API 密钥:每秒 10 次请求,并享有优先访问权

要获取 API 密钥,请访问:https://www.ncbi.nlm.nih.gov/account/settings/

错误处理

该服务器实现了全面的错误处理:

  • 网络错误:自动重试并采用指数退避策略
  • 速率限制:智能请求队列和节流
  • 无效参数:清晰的验证错误消息
  • API 错误:带有上下文的详细错误报告

数据来源

此服务器访问的数据来自:

  • NCBI 数据集 API v2:主要的基因组和组装数据
  • NCBI 分类学:分类学分类和谱系
  • NCBI 基因:基因注释和序列
  • NCBI 组装:组装元数据和质量指标
  • NCBI BioProject/BioSample:项目和样本信息

许可证

MIT 许可证 - 详情见 LICENSE 文件。

贡献

欢迎贡献!请随时提交问题、功能请求或拉取请求。

支持

对于以下相关的问题:

  • 服务器功能:在此仓库中打开一个问题
  • NCBI 数据:参考 NCBI 数据集文档
  • API 访问:联系 NCBI 支持以获取与 API 相关的问题解答