Genefoundry

io.github.berntpoppv0.10.1更新於 Oct 8, 2026

MCP gateway federating 22 biomedical MCP servers behind one endpoint: gnomAD, ClinVar, HPO, VEP.

已驗證Streamable HTTP可網頁執行AI & MLData & AnalyticsKnowledge & Memory

概覽

AI 產生的概覽

一個遠端 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 金鑰或標頭。
安裝前請注意
標示為僅供研究使用,明確不用於診斷、治療、分流或病患管理。路由器本身不提供資料,僅鏡像各後端的授權與免責聲明;呼叫方權杖不會轉送到上游。自架需要設定 GF_* 變數與驗證模式。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Genefoundry,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

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:

bash
claude mcp add --transport http genefoundry https://genefoundry.org/mcp

Health check: genefoundry.org/health.

To run your own against the live fleet (Python 3.12+, uv):

bash
uv sync --group devcp .env.example .env                    # set GF_*_URL backend URLs and GF_AUTH_MODEuv run genefoundry-router run --host 127.0.0.1 --port 8000curl -s localhost:8000/health | python -m json.tool

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:

ToolPurpose
search_toolsRelevance search over the entire federated catalog
call_toolInvoke a hit by its <namespace>_<tool> name
pinned entry pointsEach backend's front-door tool, always visible — declared per-backend as entrypoints: in servers.yaml
text
search_tools(query="splicing prediction")   # → spliceai_predict_splicing (+ schema)call_tool(name="spliceai_predict_splicing", arguments={...})

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.

NamespaceDomainData sourceToolsRepo
pubtatorLiterature & entity annotationPubTator335pubtator-link
gnomadVariant / gene / population frequencygnomAD22gnomad-link
orphanetRare disease ontology & associationsOrphadata19orphanet-link
clingenGene–disease curationClinGen17clingen-link
hpoPhenotype ontology & associationsHuman Phenotype Ontology17hpo-link
mavedbVariant-effect assay scoresMaveDB15mavedb-link
uniprotProtein functionUniProt15uniprot-link
clinpgxPharmacogenomics / gene-drug guidelinesClinPGx13clinpgx-link
genereviewsGene–disease literatureGeneReviews13genereviews-link
mgiMouse phenotype & modelsMGI13mgi-link
mondoDisease ontology / cross-referencesMondo13mondo-link
genccGene–disease curationGenCC12gencc-link
metadomeProtein tolerance landscapesMetaDome11metadome-link
stringdbProtein–protein interaction networksSTRING10stringdb-link
gtexTissue expressionGTEx Portal9gtex-link
hgncGene nomenclatureHGNC9hgnc-link
panelappDiagnostic gene panels & curationPanelApp9panelapp-link
autopvs1Variant ACMG PVS1AutoPVS17autopvs1-link
spliceaiSplicing predictionSpliceAI Lookup7spliceailookup-link
vepVariant annotation / consequenceEnsembl VEP7vep-link
clinvarVariant clinical significanceClinVar6clinvar-link
litvarVariant literatureLitVar26litvar-link

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

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
  1. v0.10.1最新Oct 4, 2026
  2. v0.10.0Oct 4, 2026
  3. v0.9.4Oct 4, 2026
  4. v0.9.3Oct 3, 2026
  5. v0.9.2Sep 18, 2026
  6. v0.9.1Sep 18, 2026
  7. v0.9.0Sep 16, 2026