
Genefoundry
io.github.berntpoppv0.10.1更新於 Oct 8, 2026
MCP gateway federating 22 biomedical MCP servers behind one endpoint: gnomAD, ClinVar, HPO, VEP.
概覽
一個遠端 MCP 閘道,將 22 個生物醫學資料伺服器聚合到單一端點,讓助理搜尋並呼叫數百個基因體學工具。
- 功能
- 此路由器把 22 個生物醫學後端(gnomAD、ClinVar、HPO、VEP、UniProt 等)聚合為單一 Streamable-HTTP 端點,以不衝突的 namespace_tool 命名提供 285 個工具。它不提供扁平目錄,而是提供搜尋介面:search_tools 依意圖尋找工具,call_tool 依名稱呼叫,每個後端的入口工具維持固定可見。它只做命名空間與介面整形,不改寫後端資料,並對工具定義做指紋比對以偵測漂移。
- 適用情境
- 當助理需要生物醫學或基因體學查詢——變異頻率、臨床意義、表型本體、蛋白質功能、剪接預測或文獻——又不想掛載多個獨立伺服器時適用。適合研究與探索流程,而非臨床用途。
- 執行需求
- 託管版本無需安裝:透過 Streamable HTTP 加入 genefoundry.org/mcp 遠端端點即可。自架需要 Python 3.12+ 與 uv,並在 .env 中設定 GF_* 後端 URL 變數與 GF_AUTH_MODE。託管端點未宣告帳號、API 金鑰或標頭。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Genefoundry,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"genefoundry": {
"type": "http",
"url": "https://genefoundry.org/mcp"
}
}
}README
genefoundry-router
[Python 3.12+] [CI] [Security] [License: MIT]
A thin FastMCP 3.x aggregator that federates the GeneFoundry *-link MCP fleet behind a
single Streamable-HTTP endpoint. A host adds one server — genefoundry — and gets every
biomedical backend with collision-free <namespace>_<tool> naming and search-based discovery.
[!IMPORTANT] Research use only. Not clinical decision support. Do not use for diagnosis, treatment, triage, or patient management.
Why
An MCP host that mounted all 21 backends directly would face a wall of several hundred tools — more than a model can reason over, and a guarantee of name collisions. The router collapses that into one endpoint and replaces the flat catalog with a search surface, so a model finds the right tool by intent instead of by scrolling.
It is a client to each backend and a server to hosts: it namespaces and shapes the surface, but never rewrites a backend's data. The caller's token is never forwarded upstream.
Quick start
The fleet is hosted — no install required:
Health check: genefoundry.org/health.
To run your own against the live fleet (Python 3.12+, uv):
An offline fake fleet (make dev-fleet + make run-dev, or one-shot make test-e2e) runs
the real router against impersonated backends over real Streamable-HTTP — no Docker, no
network.
Tools
The router does not surface the federated catalog flat. A model sees three things:
Pinning makes each domain's canonical tool reachable deterministically rather than by relevance luck. See How discovery works — including the two traps that bite MCP clients.
Federated backends
22 backends, 285 tools, each surfaced namespaced — e.g. gnomad_search_genes.
Data & provenance
The router serves no data of its own; each backend owns its sources, licences and citation guidance, and the router mirrors their disclaimers.
What it does own is integrity of the tool surface. A backend can serve a clean tool at
review time and later change its definition — the channel for a rug pull. The router
fingerprints every normalized tool definition and diffs the live fleet against a reviewed,
packaged baseline (genefoundry_router/data/fleet-baseline.json), enforced at startup and
on a schedule. See Deployment → drift detection.
Documentation
- Configuration & authentication — every
GF_*variable, the OAuth/JWT resource-server modes, and the startup guards. - Deployment — container release, digest pinning, rollback, and drift detection.
- How discovery works — the search surface, entry-point pinning, and how discoverability is measured.
- Design spec — the architecture and why it is shaped this way.
- Fleet standards — Tool-Naming · Response-Envelope · MCP-Behaviour · Tool-Surface-Budget · Tool-Schema-Documentation · Container-Hardening · Versioning · README.
Contributing
See AGENTS.md for engineering conventions. make ci-local is the
definition-of-done gate: format, lint, line budget, README standard, mypy, and tests.
License
MIT © Bernt Popp. Each federated backend carries the licence and citation terms of its upstream data source; see that backend's repository.
來源:README.md,提交 c68eb8e
工具
0版本歷史
7- v0.10.1最新Oct 4, 2026
- v0.10.0Oct 4, 2026
- v0.9.4Oct 4, 2026
- v0.9.3Oct 3, 2026
- v0.9.2Sep 18, 2026
- v0.9.1Sep 18, 2026
- v0.9.0Sep 16, 2026


