gget-mcp 是一个为 gget 生物信息学库实现的 MCP(Model Context Protocol)服务器,旨在为 AI 助手和智能体提供访问生物信息学工具与数据库的标准化接口。借助 MCP,AI 可以通过结构化接口执行复杂的基因组学查询。
【用途】 该项目将 gget 生物信息学工具包的常用功能封装为 MCP 工具,使 AI 助手能够以自然语言完成基因组数据库查询与序列分析等任务。gget 本身提供对基因组数据库的高效查询能力。
【主要能力】 服务器提供的工具按类别划分如下:
- 基因信息与检索:gget_search(根据搜索词查找 Ensembl ID)、gget_info(获取 Ensembl ID 的详细信息)、gget_seq(获取核苷酸或氨基酸序列)、gget_ref(从 Ensembl 获取参考基因组信息)。
- 序列分析:gget_blast(对核苷酸或氨基酸序列进行 BLAST)、gget_blat(查找序列的基因组位置)、gget_muscle(多序列比对)。
- 表达与功能分析:gget_archs4(从 ARCHS4 获取基因表达数据)、gget_enrichr(进行基因集富集分析)。
- 蛋白质结构与功能:gget_pdb(从 PDB 获取蛋白质结构数据)、gget_alphafold(使用 AlphaFold 预测蛋白质结构)。
- 癌症与突变分析:gget_cosmic(在 COSMIC 数据库中检索癌症突变)。
- 单细胞分析:gget_cellxgene(查询 CellxGene 的单细胞 RNA-seq 数据)。
【使用方式】
- 运行:可使用 uvx 直接运行 gget-mcp 服务器而无需克隆仓库。若遇到问题,通常可通过清理 uv 缓存解决。HTTP 模式会启动一个 Web 服务器,可访问 http://localhost:3002/mcp(文档位于 http://localhost:3002/docs)。STDIO 模式面向通过标准输入/输出通信的 MCP 客户端;SSE 模式使用 Server-Sent Events 进行实时通信。
- 配置客户端:提供针对不同用例的预配置 JSON 文件。STDIO 模式(推荐)适用于大多数 AI 客户端,尤其当你希望将大型输出文件(序列、结构、比对)保存到磁盘而非作为文本返回时。另有 HTTP 模式配置。
- 检查工具:如需查看服务器提供的方法,可使用 npx 运行 MCP Inspector(可能需要安装 Node.js 和 npm)。对于 STDIO 模式配合 uvx 有相应命令;也可手动运行 Inspector 并通过界面配置。之后可在 MCP Inspector(通常位于 6274 端口,多次运行可能改变端口)中浏览工具与资源。
- 集成 AI 系统:将 AI 客户端(如 Cursor、Windsurf、ClaudeDesktop、带 Copilot 的 VS Code 等)指向仓库中合适的配置文件即可。
- 若已克隆仓库,可配合 uv 运行服务器。
仓库还提供了 Claude Desktop + gget_mcp 的 Windows 分步指南,涵盖 Google Drive 集成,包括安装 Google Drive for Desktop、配置离线访问、安装 uv 与 Node.js、编辑 claude_desktop_config.json 添加 gget_mcp 服务器配置、在 Claude Desktop 的扩展与开发者选项卡中启用并验证等步骤,最终可将获取的基因序列、蛋白质数据等直接保存到 Google Drive 离线文件夹并自动同步。
【适用场景】 可用于自然语言驱动的生物信息学分析,例如:分析 TP53 基因并查找蛋白序列与癌症突变;预测给定蛋白序列的 3D 结构(如 BLAST 识别为绿色荧光蛋白 GFP,AlphaFold 预测出经典 β-桶结构且置信度 90%+);对 DNA 修复相关基因(TP53、BRCA1、BRCA2、ATM)进行通路富集分析(如 DNA Damage Response、Homologous Recombination、Cell Cycle Checkpoints、p53 Signaling)。批量操作如搜索所有凋亡相关基因并生成汇总表,或跨库交叉引用(从 Ensembl 和 UniProt 获取 COL1A1 信息)也被列为使用示例。
【限制与安全】 安全特性包括:输入校验(对所有 gget 函数进行全面的参数验证)、错误处理(稳健的、附带信息性消息的错误处理)、速率限制(对使用外部 API 与数据库保持克制)、数据校验(类型检查与数据格式验证)。 测试与验证:项目提供全面的测试,包括单元测试和针对依赖网络操作的集成测试。评测测试(test_judge.py)使用大语言模型评估 AI 智能体使用 gget 工具的表现,已自动从 CI/CD 中排除以避免成本,需要 API 密钥(GEMINI_API_KEY 或类似),可能产生 LLM API 提供商的费用,仅用于本地开发和手动评估。 GitHub Actions 工作流:CI(.github/workflows/ci.yml)在每次推送/PR 时运行基本 lint 与快速测试;Tests(.github/workflows/test.yml)跨多种操作系统与 Python 版本进行综合测试,包含各平台快速测试、集成测试(可能需要网络)、慢速测试(如 BLAST 操作,仅在 Ubuntu + Python 3.11 运行)、代码覆盖率报告以及使用 bandit 和 safety 的安全检查;Publish(.github/workflows/publish.yml)在推送标签时发布到 PyPI。 注意:目前没有 Swagger/OpenAPI 接口,直接在浏览器访问服务器不会有太多有用信息;如需探索可用工具与能力,应使用 MCP Inspector 或通过 MCP 客户端连接查看。使用 MCP Inspector 的 npx 方式需确保安装 Node.js 与 npm,推荐用 nvm 管理 Node.js 版本。此外,gget 需从在线数据库获取数据,因此需要稳定的网络连接。
该指南更新于 2025 年 10 月 13 日。