关于 genefoundry
genefoundry 是面向生物医学研究人员和 MCP 主机的网关,将 22 个生物医学后端整合到一个端点。它提供搜索式工具发现、命名空间调用,并检查后端工具定义是否发生变化。
主要功能
- 01整合 22 个生物医学后端
- 02按相关性搜索工具目录
- 03调用带命名空间的后端工具
- 04固定各后端入口工具
- 05检测工具定义变化
适用场景
- 01查找变异或基因研究工具
- 02按任务搜索生物医学资源
- 03让 MCP 主机连接单一端点
MCP 相关
它面向主机充当 MCP 服务,并作为 MCP 客户端连接各后端。它通过单一 Streamable-HTTP 端点提供目录搜索、工具调用和固定入口。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://genefoundry.org/mcpclaude mcp add --transport http berntpopp-genefoundry https://genefoundry.org/mcp{"mcpServers":{"berntpopp-genefoundry":{"type":"http","url":"https://genefoundry.org/mcp"}}}在 Cursor 中打开{"servers":{"berntpopp-genefoundry":{"type":"http","url":"https://genefoundry.org/mcp"}}}在 VS Code 中打开{"mcpServers":{"berntpopp-genefoundry":{"type":"http","url":"https://genefoundry.org/mcp"}}}{"mcpServers":{"berntpopp-genefoundry":{"serverUrl":"https://genefoundry.org/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
genefoundry-router
一个精简的 FastMCP 3.x 聚合器,将 GeneFoundry 的 *-link MCP 服务群整合到单个 Streamable-HTTP 端点之后。主机只需添加一个服务 — genefoundry — 即可使用所有生物医学后端,并通过不会冲突的 <namespace>_<tool> 命名和基于搜索的发现来查找工具。
重要
仅供研究使用。不用于临床决策支持。请勿用于诊断、 治疗、分诊或患者管理。
原因
如果 MCP 主机直接挂载所有 21 个后端,就会面对数百个工具 — 数量之多,超出模型的推理能力,还必然会出现名称冲突。路由器将其整合到一个端点,并以搜索界面取代平铺的目录,让模型按意图查找合适的工具,而不是滚动浏览。
它是每个后端的客户端,也是主机的服务端:它为工具界面添加命名空间并进行调整,但绝不会改写后端数据。调用方的令牌绝不会转发到上游。
快速开始
服务群已托管,无需安装:
claude mcp add --transport http genefoundry https://genefoundry.org/mcp
健康检查:genefoundry.org/health。
如需针对在线服务群运行自己的实例(Python 3.14+、uv):
uv sync --group dev
cp .env.example .env # set GF_*_URL backend URLs and GF_AUTH_MODE
uv run genefoundry-router run --host 127.0.0.1 --port 8000
curl -s localhost:8000/health | python -m json.tool
离线模拟服务群(make dev-fleet + make run-dev,或一次性运行 make test-e2e)会通过真实的 Streamable-HTTP,让真实路由器连接模拟后端运行 — 无需 Docker,也无需网络。
工具
路由器不会以平铺形式展示联邦目录。模型会看到三类内容:
| 工具 | 用途 |
|---|---|
search_tools | 在整个联邦目录中按相关性搜索 |
call_tool | 通过 <namespace>_<tool> 名称调用搜索结果 |
| 固定入口点 | 每个后端的入口工具,始终可见 — 在 servers.yaml 中按后端声明为 entrypoints: |
search_tools(query="splicing prediction") # → spliceai_predict_splicing (+ schema)
call_tool(name="spliceai_predict_splicing", arguments={...})
固定入口点可确保每个领域的标准工具都能确定性地访问,而非依赖相关性搜索的运气。参见发现机制 — 其中介绍了 MCP 客户端容易踩到的两个陷阱。
Federated backends
22 backends, 285 tools, each surfaced namespaced — e.g. gnomad_search_genes.
| Namespace | Domain | Data source | Tools | Repo |
|---|---|---|---|---|
pubtator | Literature & entity annotation | PubTator3 | 35 | pubtator-link |
gnomad | Variant / gene / population frequency | gnomAD | 22 | gnomad-link |
orphanet | Rare disease ontology & associations | Orphadata | 19 | orphanet-link |
clingen | Gene–disease curation | ClinGen | 17 | clingen-link |
hpo | Phenotype ontology & associations | Human Phenotype Ontology | 17 | hpo-link |
mavedb | Variant-effect assay scores | MaveDB | 15 | mavedb-link |
uniprot | Protein function | UniProt | 15 | uniprot-link |
clinpgx | Pharmacogenomics / gene-drug guidelines | ClinPGx | 13 | clinpgx-link |
genereviews | Gene–disease literature | GeneReviews | 13 | genereviews-link |
mgi | Mouse phenotype & models | MGI | 13 | mgi-link |
mondo | Disease ontology / cross-references | Mondo | 13 | mondo-link |
gencc | Gene–disease curation | GenCC | 12 | gencc-link |
metadome | Protein tolerance landscapes | MetaDome | 11 | metadome-link |
stringdb | Protein–protein interaction networks | STRING | 10 | stringdb-link |
gtex | Tissue expression | GTEx Portal | 9 | gtex-link |
hgnc | Gene nomenclature | HGNC | 9 | hgnc-link |
panelapp | Diagnostic gene panels & curation | PanelApp | 9 | panelapp-link |
autopvs1 | Variant ACMG PVS1 | AutoPVS1 | 7 | autopvs1-link |
spliceai | Splicing prediction | SpliceAI Lookup | 7 | spliceailookup-link |
vep | Variant annotation / consequence | Ensembl VEP | 7 | vep-link |
clinvar | Variant clinical significance | ClinVar | 6 | clinvar-link |
litvar | Variant literature | LitVar2 | 6 | litvar-link |
数据与来源
路由器不提供自己的数据;每个后端都负责其数据源、许可证和引用指南,路由器会保留其免责声明。
路由器负责的是工具界面的完整性。后端在审核时可能提供一个干净的工具,之后却更改其定义——这就是 rug pull 的渠道。路由器会为每个规范化的工具定义生成指纹,并将在线运行的整个服务群与经过审核并打包的基线(genefoundry_router/data/fleet-baseline.json)进行差异比对;该检查会在启动时和按计划执行。参见部署 → 漂移检测。
文档
- 配置与身份验证 — 所有
GF_*变量、OAuth/JWT 资源服务器模式以及启动保护措施。 - 部署 — 容器发布、摘要固定、回滚和漂移检测。
- 发现机制的工作方式 — 搜索界面、入口点固定,以及如何衡量可发现性。
- 设计规范 — 架构,以及采用这种设计的原因。
- 服务群标准 — 工具命名 · 响应封装 · MCP 行为 · 工具界面预算 · 工具架构文档 · 容器加固 · 版本管理 · README。
贡献
工程规范请参见 AGENTS.md。make ci-local 是完成标准:格式检查、lint、行数限制、README 标准检查、mypy 和测试。
许可证
MIT © Bernt Popp。每个联邦后端均遵循其上游数据源的许可证和引用条款;请参见该后端的代码仓库。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。