Catnap について
Catnap は HIV 研究向けの MCP サーバーで、LANL CATNAP の中和測定と HIV Molecular Immunology Database の記録を扱います。測定条件を伴う IC50、IC80、ID50 を提供し、打ち切り値を数値に置き換えず保持します。
主な機能
- 01抗体・ウイルス中和測定の検索
- 02抗体エピトープとメタデータの参照
- 03T 細胞エピトープと抗体結合部位の検索
- 04打ち切り値と原文の測定値の保持
- 05測定値の論文情報の提示
活用シーン
- 01ウイルスパネル間で抗体中和測定を比較
- 02抗体結合領域と関連する構造情報を確認
- 03HIV の T 細胞エピトープや抗体結合部位を検索
MCP 対応
CATNAP の中和測定と抗体情報、および HIV 免疫学データベースのエピトープ・結合部位検索ツールを MCP クライアントに提供します。Pipeworx ゲートウェイ経由で接続でき、ローカルの stdio MCP サーバーとしても実行できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/catnap/mcpclaude mcp add --transport http pipeworx-io-catnap https://gateway.pipeworx.io/catnap/mcp{"mcpServers":{"pipeworx-io-catnap":{"type":"http","url":"https://gateway.pipeworx.io/catnap/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-catnap":{"type":"http","url":"https://gateway.pipeworx.io/catnap/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-catnap":{"type":"http","url":"https://gateway.pipeworx.io/catnap/mcp"}}}{"mcpServers":{"pipeworx-io-catnap":{"serverUrl":"https://gateway.pipeworx.io/catnap/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
@pipeworx/catnap
HIV-1広域中和抗体の力価(LANL CATNAP:抗体とウイルスのパネルにおけるIC50/IC80/ID50)に加え、HIV T細胞エピトープおよび抗体結合部位の記録(LANL HIV Molecular Immunology Database)。
Pipeworx の一部です。AI エージェントを1875以上のライブデータソースに接続するMCPゲートウェイです。これは独立した非公式の連携機能であり、上流プロバイダーとの提携、承認、または同プロバイダーによる公開を受けていません。
ツール
catnap_search_neutralization(antibody?, virus?, limit?)— 抗体とウイルスの中和測定値(IC50/IC80/ID50)。抗体の力価をウイルス株間で比較できます。打ち切り境界値(>150、<.05)はcensored: true、numeric_value: nullとして返され、数値に変換されることはありません。catnap_antibody_info(name, limit?)— 抗体のメタデータ:エピトープ/結合領域、構造(PDB)、単離に関する論文、パネルの要約統計。immunology_search(table, mab_name?, epitope?, protein_name?, limit?)— T細胞エピトープ(CTL/CD8+またはTヘルパー/CD4+)または抗体結合部位を、LANL独自のAPIにライブで問い合わせます。
認証
認証情報は不要です。catnap_search_neutralization と catnap_antibody_info は、LANLのCATNAP一括ファイルから毎月取り込まれる中和/抗体データを返します(認証情報はゲートウェイが注入します)。immunology_search は呼び出しごとにLANLの公開JSON APIを直接呼び出し、データの取り込みは行いません。
データソース
- https://www.hiv.lanl.gov/components/sequence/HIV/neutralization/index.html(CATNAP) — 抗体とウイルスの中和パネル(IC50/IC80/ID50)。LANLが公開論文をもとにまとめたものです。月次のタブ区切り一括ファイル(
assay_*.txt、abs_*.txt、viruses_*.txt)は、各配布時の日付がファイル名に付いています。取り込み処理は日付をハードコードせず、ダウンロードページから最新のリンクを取得します。workers/data-pipeline/src/datasets/catnap.tsが月次で取り込み、catnap_neutralization、catnap_antibodies、catnap_virusesに格納します(supabase/migrations/170_catnap_neutralization.sqlを参照)。 - https://www.hiv.lanl.gov/mojo/immunology/api/v2(HIV Molecular Immunology Database JSON API) — CTL/CD8+、Tヘルパー/CD4+、および抗体エピトープ/結合部位の記録です。認証情報は不要で、ライブで問い合わせ、データの取り込みは行いません。
正しく扱うために
- 打ち切り値を数値に変換しないでください。 ソースのIC50/IC80/ID50は、ときに点推定値ではなく境界値(
>150= 試験した最高濃度まで中和されなかった、<.05= 試験した最低濃度で完全に中和された)です。各測定値には_raw(原文の文字列)、_value(数値。打ち切りの場合はnull)、および_censor('<'/'>'。それ以外はnull)が含まれます。>50を50として保存すると、力価の順位が逆転します。 - 測定値には必ず試験条件が伴います。 異なる論文のIC50/IC80は、異なるプロトコルやウイルスストックを使用している場合があります。このツールは常に
reference/pubmed_idを返し、2つの値に同じ「IC50」というラベルが付いているだけで、研究間の比較が可能であるかのように示すことはありません。 - このパックには、異なる2つの問いが含まれています。
catnap_search_neutralization/catnap_antibody_infoは「この抗体の力価はどれくらいか」(CATNAP)に答えます。immunology_searchは「ウイルスのどこがこの免疫応答の標的で、どのHLAによって拘束されるか」(Immunology DB)に答えます。こちらは別の上流データベースであり、独自のレコードIDを使用します。
更新方法
workers/data-pipeline/src/datasets/catnap.ts は workers/data-pipeline/src/datasets/index.ts に登録されており、schedule: 'monthly' で実行されます。実行のたびに3つすべてのCATNAP一括ファイルを再取得して解析します(中和ファイルは約20万行/約16MBで、呼び出し間でカーソルを引き継ぎながらチャンク単位でアップサートします)。古い行の削除は行いません。CATNAPは測定値を蓄積し、取り消すことはないためです。
クイックスタート
MCPクライアント(Claude Desktop、Cursor、Windsurfなど)に追加します:
{
"mcpServers": {
"catnap": {
"url": "https://gateway.pipeworx.io/catnap/mcp"
}
}
}
このエンドポイントが実際に提供するもの
https://gateway.pipeworx.io/catnap/mcp の tools/list は、上の表にあるツールに加えて、Pipeworx 共通のメタツールである ask_pipeworx、
discover_tools、search_within、remember/recall など、ゲートウェイ全体で使えるツールも返します。そのため、表示されるツール数はこの表より多くなります。現在、単一パックのエンドポイントには、そのパック固有のツールとともに、およそ 30 個の共通ツールが一覧表示されます。接続の initialize 応答には正確な対象範囲が記載されており、各時点での正式な情報となります。
これは意図的な仕様であり、偶然の多重化ではありません。メタツールを使えば、このパックが対応していない質問にも、カタログ全体を横断してルーティングする ask_pipeworx 経由で回答できるため、MCP サーバーをもう 1 つ追加する必要はありません。現時点では、メタツールなしでパックのエンドポイントをマウントする方法はありません。追加のスキーマがルーティングの利便性を上回るコンテキストを消費する場合は、複数のパックエンドポイントではなく、ゲートウェイ全体に一度接続してください。
または、Pipeworx ゲートウェイ全体に接続すると、このパックのツールだけでなく、すべてのパックのツールが直接一覧表示されます。
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
どちらの URL も、同じゲートウェイと同じ 1875 以上のデータソースに接続します。違いは、どのパックのツールが直接一覧表示されるかだけです。どちらからでも、ask_pipeworx を使ってすべてのツールにアクセスできます。
MCP クライアントがなくても、HTTP 経由で呼び出せます
curl -X POST https://gateway.pipeworx.io/v1/tools/catnap_search_neutralization \
-H 'Content-Type: application/json' \
-d '{"antibody":"10-1074","virus":"CNE8"}'
最初の呼び出しにアカウントは不要です。任意のツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/catnap_search_neutralization を実行します。ツールを検索するには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を実行します。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージは、ローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイへの往復通信も必要ありません。
{
"mcpServers": {
"catnap": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-catnap"]
}
}
}
または、直接実行して起動を確認できます。
npx -y @pipeworx/mcp-catnap
stdin/stdout 経由で MCP 通信を行い、このパックのツールのみを対象に initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共通メタツールは含まれません。同じソース、同じツールで、ask_pipeworx によるルーティングはありません。
ask_pipeworx の使用
ツールを直接呼び出す代わりに、平易な英語で質問できます。これは上記のパックエンドポイントでも、ゲートウェイ全体でも利用できます。
ask_pipeworx({ question: "your question about Catnap data" })
ゲートウェイが適切なツールを選択し、引数を自動的に設定します。
詳細
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。