genefoundry について
genefoundryは、生物医学研究者やMCPホスト向けに、22の生物医学バックエンドを1つのエンドポイントへ集約するゲートウェイです。検索によるツール発見と名前空間付き呼び出しに加え、バックエンドのツール定義の変更を検出します。
主な機能
- 0122の生物医学バックエンドを集約
- 02関連度によるカタログ検索
- 03名前空間付きバックエンドツールの実行
- 04各バックエンドの入口ツールを固定
- 05ツール定義の変更を検出
活用シーン
- 01変異や遺伝子研究用ツールの検索
- 02タスクに応じた生物医学リソースの検索
- 03MCPホストを単一エンドポイントに接続
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
GeneFoundry の *-link MCP フリートを単一の Streamable-HTTP エンドポイントの背後に集約する、薄型の FastMCP 3.x アグリゲーターです。ホストは 1 つのサーバー — genefoundry — を追加するだけで、名前の衝突を避ける <namespace>_<tool> 形式の命名と検索ベースの検出機能を備えた、すべてのバイオメディカルバックエンドを利用できます。
重要
研究目的でのみ使用してください。臨床上の意思決定支援には使用できません。診断、 治療、トリアージ、患者管理には使用しないでください。
開発の背景
21 個すべてのバックエンドを直接マウントする MCP ホストには、数百ものツールが並ぶことになり、モデルが推論できる範囲を超えるうえ、名前の衝突も避けられません。このルーターはそれらを単一のエンドポイントに集約し、フラットなカタログを検索インターフェースに置き換えるため、モデルは一覧をスクロールするのではなく、意図に基づいて適切なツールを見つけられます。
このルーターは各バックエンドに対してはクライアント、ホストに対してはサーバーとして機能します。インターフェースに名前空間を付与し、使いやすい形に整えますが、バックエンドのデータを書き換えることはありません。呼び出し元のトークンが上流に転送されることはありません。
クイックスタート
フリートはホスト済みのため、インストールは不要です。
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)では、Docker もネットワークも使わず、実際の Streamable-HTTP 上で偽装バックエンドに対して本物のルーターを実行できます。
ツール
このルーターは、連携するカタログをフラットな形では公開しません。モデルに表示されるのは次の 3 つです。
| ツール | 目的 |
|---|---|
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 クライアントが陥りやすい 2 つの落とし穴を含め、検出の仕組みをご覧ください。
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 |
データと出典
ルーターは独自のデータを提供しません。各バックエンドがデータソース、ライセンス、引用に関するガイダンスを管理し、ルーターはそれらの免責事項を反映します。
ルーターが管理するのは、ツールサーフェスの完全性です。レビュー時には問題のないツールをバックエンドが提供していても、その後に定義を変更する可能性があり、これがラグプルの経路となります。ルーターは正規化されたすべてのツール定義のフィンガープリントを作成し、稼働中のフリートとレビュー済みのパッケージ化されたベースライン(genefoundry_router/data/fleet-baseline.json)との差分を、起動時および定期的に検出します。デプロイ → ドリフト検出を参照してください。
ドキュメント
- 設定と認証 — すべての
GF_*変数、OAuth/JWTリソースサーバーモード、起動時のガードについて説明します。 - デプロイ — コンテナーのリリース、ダイジェストの固定、ロールバック、ドリフト検出について説明します。
- ディスカバリーの仕組み — 検索サーフェス、エントリーポイントの固定、発見可能性の測定方法について説明します。
- 設計仕様 — アーキテクチャと、この設計を採用した理由について説明します。
- フリート標準 — Tool-Naming · Response-Envelope · MCP-Behaviour · Tool-Surface-Budget · Tool-Schema-Documentation · Container-Hardening · Versioning · README。
コントリビューション
エンジニアリング規約についてはAGENTS.mdを参照してください。make ci-localは完了条件のゲートです。フォーマット、リント、行数の上限、README標準、mypy、テストを確認します。
ライセンス
MIT © Bernt Popp。各フェデレーションバックエンドには、上流のデータソースのライセンスと引用条件が適用されます。各バックエンドのリポジトリを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。