关于 BioGRID MCP server
BioGRID MCP server 为 LLM 和 Agent 提供 BioGRID 遗传及物理相互作用数据。研究人员可通过经过 schema 验证的调用查询基因、获取带证据的相互作用、导出网络边列表并查看统计信息。
主要功能
- 01获取遗传和物理相互作用
- 02查找基因的一级邻居
- 03导出 TSV 或 CSV 边列表
- 04搜索基因符号及别名
- 05汇总相互作用网络统计
- 06访问相互作用与出版物资源
适用场景
- 01为 CRISPR 筛选查找 TP53 相互作用对象
- 02从基因列表构建 Cytoscape 网络
- 03消除含糊的基因符号
- 04导出前检查网络密度
MCP 相关
该服务向 MCP 客户端提供 BioGRID 相互作用工具和资源模板,支持 stdio 与 HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
BioGRID MCP 服务
这是一个模型上下文协议(MCP)端点服务,可让任何大模型或自主 Agent 访问 BioGRID API,获取 BioGRID 精选的 2 × 10⁷ 条遗传和物理互作数据。本仓库提供的工具可帮助你的 Agent 技术栈从原始基因符号出发,生成有文献支持的互作网络、TSV 边列表以及可直接分析的统计数据——所有操作均通过经架构验证的 JSON 调用完成。这些工具会自行描述输入和输出,因此 Agent 可以自主发现、验证并修正调用。
工具
- get_interactions:检索涉及某个基因的所有 BioGRID 互作。
- get_neighbors:轻量级封装,返回单个基因的一级互作对象。
- export_edge_list:为一组基因生成 TSV/CSV 边列表,可直接用于 Cytoscape 或 graph-tool。
- search_genes:对 BioGRID 基因表执行模糊搜索,以查找含义不明确的符号或别名。
- interaction_stats:快速汇总基因列表的网络信息(计数、度分布、物理/遗传互作比例)。
资源模板
- biogrid://edge-list/{gene1,gene2,…}:基因集的 TSV 边列表(与 export_edge_list 相同,但会缓存且可分享)
- biogrid://interaction/{biogrid_id}:让 Agent 无需解析整个 TSV,即可引用一条互作作为证据。
- biogrid://gene/{gene_symbol}:快速“知识卡片”,模型可在介绍基因时引用。
- biogrid://publications/{pubmed_id}:无需访问 NCBI,即可实现支持引文的回答或 RAG 工作流。
- biogrid://dataset/{dataset_id}:批量下载特定版本的 BioGRID 数据集(tar/zip)。
示例用例
| 工具名称 | 用途 | 核心参数(默认值) | 典型输出 | 示例用例 |
|---|---|---|---|---|
| get_interactions | 获取涉及一个基因的所有 BioGRID 相互作用。 | gene_symbol (必填)、species = 9606、type = "all" | "physical" | "genetic"、limit = 1000 | JSON 相互作用对象数组,每个对象包含互作伙伴、实验系统、PubMed ID 和评分。 | “显示报告的 TP53 的所有物理相互作用,以便我为 CRISPR 筛选筛选辅助因子候选对象。” |
| get_neighbors | 轻量级封装,仅返回第一度互作伙伴。 | 与上述参数相同(limit 默认为 250)。 | 互作伙伴符号及元数据的 JSON 列表(非常适合提示词循环)。 | “自动扩展蛋白质集合:‘给定 BRCA1,返回其前 25 个遗传互作伙伴,并将它们用于功能富集分析。’” |
| export_edge_list | 为一组基因生成 TSV/CSV 边列表,可直接用于 Cytoscape、NetworkX、Gephi 等。 | gene_symbols[] (必填)、species、type | 单个文本块(TSV)或分块流:源、目标、相互作用类型、PubMed、证据。 | “为我的 RNA-seq DEG 列表中的基因创建边列表,以便我在 Cytoscape 中对网络进行聚类并查找功能模块。” |
| search_genes | 模糊搜索 BioGRID 的基因表,以查找含义不明确的符号或别名。 | query (必填)、species | 排序后的列表,包含官方符号、系统名称、BioGRID ID 和生物。 | “解析别名:‘我不确定 p85 对应的是 PIK3R1 还是 PIK3R2——请搜索并让我选择正确的高置信度条目。’” |
| interaction_stats | 快速汇总基因列表的网络信息(节点/边数量、度分布、物理:遗传比例) | gene_symbols[] (必填)、species、type | 包含节点数、边数、平均度数、直方图分桶的 JSON。 | “导出前,请帮我快速检查一下:我的 50 个阿尔茨海默病相关结果之间的相互作用网络有多稠密?” |
快速安装
1. 克隆并安装
git clone https://github.com/<you>/biogrid-mcp-server.git
cd biogrid-mcp-server
npm install
2. 设置你的 BioGRID API 密钥
https://webservice.thebiogrid.org/ 学术用途免费。
export BIOGRID_API_KEY=YOUR_KEY_HERE
3. 运行服务
stdio 模式最适合本地大模型
npm run start
HTTP 模式——在一个端口上公开服务,供远程 Agent 使用(选择任意可用端口):
npm run start:http -- --port 3335
你应该会看到类似内容:
[BIOGRID-MCP] server ready – manifest at /.well-known/mcp/manifest.json
5. 工具调用示例
{
"name": "get_neighbors",
"arguments": {
"gene_symbol": "TP53",
"species": 9606,
"type": "genetic",
"limit": 250
}
}
这里的 9606 表示物种“人类”。 你将获得的示例
{
"query": {"gene":"TP53","species":9606,"type":"genetic"},
"neighbors": [
{
"partner": "MDM2",
"biogridId": "111",
"experimentalSystem": "Dosage Rescue",
"pubmedIds": [12345]
}
/* … */
],
"meta": {
"total": 187,
"timestamp": "YYYY-MM-DDTHH:MM:SSZ",
"biogrid_version": "4.4.229"
}
}
跨多个 MCP 服务的工作流示例
-
变异分诊: search_genes → get_interactions → 按遗传证据筛选 → 根据 PubMed 支持度对互作伙伴排序。
-
构建模块: get_neighbors(种子基因)→ export_edge_list → 输入 GRAPH-MCP 进行聚类 → overlay_expression。
-
跨数据库富集: search_genes → STRING-MCP get_functional_enrichment → Reactome-MCP 通路叠加。
即将推出:http://github.com/kleonai/bio-mcp-servers,提供 Biology MCP 服务列表和使用指南。
开发指南
- src/api.ts – 围绕 BioGRID /interactions/ 和 /gene/ 端点的轻量 axios 封装
- src/parsers.ts – 将 TSV 转换为类型化对象
- src/tools.ts – 声明工具架构和处理程序
- src/server.ts – 接入 MCP 传输(stdio + express)
- 在 src/analytics.ts 中添加新的分析功能(例如中心性、聚类)
前提条件
| 要求 | 版本 | 备注 |
|---|---|---|
| Node.js | ≥ 18 LTS | 支持 TypeScript + ESM |
| npm | ≥ 9 | 随 Node 安装包提供 |
| BioGRID API key | 学术用途免费 | 在此申请 |
该服务由 https://kleonlab.com/ 开发。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。