Unofficial Human Protein Atlas MCP Server について
Unofficial Human Protein Atlas MCP Serverは、Human Protein Atlasのタンパク質データにプログラムからアクセスするためのサーバーです。タンパク質の発現、局在、病理、抗体情報を調べる研究者などを対象としています。
主な機能
- 01タンパク質名、遺伝子、説明による検索
- 02組織・血液・脳の発現データ取得
- 03細胞内局在と病理情報の確認
- 04一括検索と発現プロファイル比較
- 05抗体の検証・染色データの取得
活用シーン
- 01遺伝子の発現データの確認
- 02がん関連タンパク質の検索
- 03複数タンパク質の発現プロファイル比較
- 04抗体検証情報の取得
MCP 対応
Human Protein Atlasの検索・取得ツールに加え、タンパク質、発現、局在、病理、抗体データのリソーステンプレートを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細

Human Protein Atlas 非公式 MCP サーバー
Human Protein Atlas のデータにアクセスするための包括的な Model Context Protocol(MCP)サーバーです。タンパク質の発現、細胞内局在、病理などの情報を提供します。
概要
Human Protein Atlas MCP サーバーを使用すると、Human Protein Atlas(https://www.proteinatlas.org)の膨大なタンパク質データリポジトリにシームレスにアクセスできます。このサーバーは、次のツールとリソースを提供します。
- タンパク質の検索と情報:名前、遺伝子シンボル、説明からタンパク質を検索
- 組織発現:組織特異的な発現プロファイルにアクセス
- 細胞内局在:タンパク質の局在データを取得
- 病理データ:がん関連のタンパク質情報にアクセス
- 血液と脳の発現:血球と脳領域の特化した発現データ
- 抗体情報:抗体の検証データと染色データ
- バッチ処理:複数のタンパク質を効率的に検索
- 高度な検索:複数のフィルターを使った複雑なクエリ
特徴
主な機能
- 🔍 包括的な検索:さまざまな識別子やキーワードを使ってタンパク質を検索
- 🧬 マルチモーダルデータ:発現、局在、病理情報にアクセス
- 🩸 特化型アトラス:Blood Atlas と Brain Atlas のデータを統合
- 📊 バッチ処理:複数のタンパク質クエリを効率的に処理
- 🔬 研究品質のデータ:高品質で査読済みのタンパク質情報
- ⚡ 高速応答:迅速なデータ取得に最適化
利用可能なデータの種類
-
基本的なタンパク質情報
- 遺伝子シンボルと Ensembl ID
- タンパク質の説明と分類
- UniProt の相互参照
-
発現データ
- 組織特異的な RNA 発現
- 血球の発現プロファイル
- 脳領域の発現データ
- 単一細胞の発現情報
-
細胞内局在
- タンパク質の局在パターン
- 信頼性スコア
- 免疫蛍光データ
-
病理情報
- がんの予後マーカー
- 疾患との関連
- 治療標的
-
抗体データ
- 抗体の検証情報
- 染色パターン
- 信頼性評価
インストール
前提条件
- Node.js 18 以降
- npm または yarn パッケージマネージャー
セットアップ
-
サーバーコードをクローンまたはダウンロードします
-
依存関係をインストールします。
cd proteinatlas-server npm install -
サーバーをビルドします。
npm run build -
サーバーを使用する準備が整いました。
使用方法
コマンドライン
サーバーを直接実行します。
npm start
# or
node build/index.js
MCP クライアントとの統合
MCP クライアントの設定に追加します。
{
"mcpServers": {
"proteinatlas": {
"command": "node",
"args": ["/path/to/proteinatlas-server/build/index.js"]
}
}
}
利用可能なツール
基本的な検索と取得
search_proteins
Human Protein Atlas で、名前、遺伝子シンボル、または説明からタンパク質を検索します。
パラメーター:
query(必須):検索クエリ(遺伝子名、タンパク質名、またはキーワード)format:出力形式(json、tsv)— デフォルト:jsoncolumns:結果に含める列を指定maxResults:結果の最大数(1~10000)— デフォルト:100compress:応答を圧縮するかどうか — デフォルト:false
例:
{
"query": "BRCA1",
"format": "json",
"maxResults": 10
}
get_protein_info
遺伝子シンボルを指定して、特定のタンパク質の詳細情報を取得します。
パラメーター:
gene(必須):遺伝子シンボル(例:BRCA1、TP53)format:出力形式(json、tsv、xml、trig)— デフォルト:json
get_protein_by_ensembl
Ensembl 遺伝子 ID を使ってタンパク質情報を取得します。
パラメーター:
ensemblId(必須):Ensembl 遺伝子 ID(例:ENSG00000139618)format:出力形式(json、tsv、xml、trig)— デフォルト:json
発現解析
get_tissue_expression
タンパク質の組織特異的な発現データを取得します。
パラメーター:
gene(必須):遺伝子シンボルformat:出力形式(json、tsv)— デフォルト:json
search_by_tissue
特定の組織で高発現しているタンパク質を検索します。
パラメーター:
tissue(必須):組織名(例:肝臓、脳、心臓)expressionLevel:発現レベルのフィルター(高、中、低、未検出)format:出力形式(json、tsv)— デフォルト:jsonmaxResults:結果の最大数(1~10000)— デフォルト:100
get_blood_expression
タンパク質の血球発現データを取得します。
get_brain_expression
タンパク質の脳領域発現データを取得します。
細胞内局在
get_subcellular_location
タンパク質の細胞内局在データを取得します。
search_by_subcellular_location
特定の細胞内区画に局在するタンパク質を検索します。
パラメーター:
location(必須):細胞内局在(例:核、ミトコンドリア、細胞質)reliability:信頼性のフィルター(承認済み、強化済み、支持あり、不確実)format:出力形式(json、tsv)— デフォルト:jsonmaxResults:結果の最大数(1~10000)— デフォルト:100
病理学とがん
get_pathology_data
タンパク質のがんおよび病理学データを取得します。
search_cancer_markers
特定のがんに関連するタンパク質、または予後的価値のあるタンパク質を検索します。
パラメーター:
cancer:がんの種類(例:乳がん、肺がん)prognostic:予後のフィルター(良好、不良)format:出力形式(json、tsv)— デフォルト:jsonmaxResults:結果の最大数(1~10000)— デフォルト:100
高度な機能
advanced_search
複数のフィルターと条件を使って高度な検索を実行します。
パラメーター:
query:基本検索クエリtissueSpecific:組織特異的発現のフィルターsubcellularLocation:細胞内局在のフィルターcancerPrognostic:がんの予後のフィルターproteinClass:タンパク質クラスのフィルターchromosome:染色体のフィルターantibodyReliability:抗体の信頼性のフィルターformat:出力形式(json、tsv)— デフォルト:jsoncolumns:結果に含める特定の列maxResults:結果の最大数(1~10000)— デフォルト:100
batch_protein_lookup
複数のタンパク質を同時に検索します。
パラメーター:
genes(必須):遺伝子シンボルの配列(最大100)format:出力形式(json、tsv)— デフォルト:jsoncolumns:結果に含める特定の列
compare_expression_profiles
複数のタンパク質間で発現プロファイルを比較します。
パラメーター:
genes(必須):比較する遺伝子シンボルの配列(2~10)expressionType:発現データの種類(tissue、brain、blood、single_cell)— デフォルト:tissueformat:出力形式(json、tsv)— デフォルト:json
利用可能なリソース
サーバーは、データに直接アクセスするための複数のリソーステンプレートを提供します。
リソーステンプレート
hpa://protein/{gene}:遺伝子シンボルのタンパク質アトラスデータ一式hpa://ensembl/{ensemblId}:Ensembl 遺伝子 ID のタンパク質アトラスデータ一式hpa://tissue/{gene}:遺伝子の組織特異的発現データhpa://subcellular/{gene}:遺伝子の細胞内局在情報hpa://pathology/{gene}:遺伝子のがんおよび病理学データhpa://blood/{gene}:遺伝子の血球発現データhpa://brain/{gene}:遺伝子の脳領域発現データhpa://antibody/{gene}:遺伝子の抗体検証および染色情報hpa://search/{query}:クエリに一致するタンパク質の検索結果
リソースへのアクセス例
// Access tissue expression data for BRCA1
const resource = await client.readResource("hpa://tissue/BRCA1");
// Search for insulin-related proteins
const searchResults = await client.readResource("hpa://search/insulin");
データソース
このサーバーは、次のデータにアクセスします。
- Human Protein Atlas:メインのタンパク質アトラスデータベース
- Tissue Atlas:正常組織の発現データ
- Blood Atlas:血球の発現プロファイル
- Brain Atlas:脳領域の発現データ
- Pathology Atlas:がん関連タンパク質のデータ
- Cell Atlas:単一細胞の発現情報
レート制限とベストプラクティス
- Human Protein Atlas API に配慮し、サーバーは適切なレート制限を実装しています
- バッチ操作では、大規模なリクエストを小さな単位に分割することを検討してください
- 可能な場合は、レスポンスサイズを削減するために特定の列を選択してください
- 適切な場合は、頻繁にアクセスするデータをキャッシュしてください
エラー処理
サーバーは包括的なエラー処理を提供します。
- 無効なパラメーター:入力が正しくない場合に、明確なエラーメッセージを表示します
- ネットワークの問題:一時的な障害に対する再試行ロジック
- データ形式のエラー:予期しないレスポンス形式を適切に処理します
- レート制限:適切なバックオフ戦略
例
基本的なタンパク質検索
// Search for BRCA1 protein
const result = await callTool("search_proteins", {
query: "BRCA1",
format: "json",
});
組織発現の分析
// Get tissue expression for multiple genes
const comparison = await callTool("compare_expression_profiles", {
genes: ["BRCA1", "BRCA2", "TP53"],
expressionType: "tissue",
});
がん研究
// Find breast cancer prognostic markers
const markers = await callTool("search_cancer_markers", {
cancer: "breast cancer",
prognostic: "unfavorable",
maxResults: 50,
});
バッチ処理
// Look up multiple proteins at once
const batchResult = await callTool("batch_protein_lookup", {
genes: ["BRCA1", "BRCA2", "TP53", "EGFR", "MYC"],
format: "json",
});
開発
ソースからのビルド
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode
npm run dev
テスト
# Run the server
npm start
# Test with MCP client or direct stdio communication
貢献
貢献を歓迎します。以下を確認してください。
- コードが TypeScript のベストプラクティスに従っていること
- エラー処理が包括的であること
- 新機能に合わせてドキュメントが更新されていること
- 新しい機能のテストが含まれていること
ライセンス
MIT ライセンスの詳細については、LICENSE ファイルを参照してください。
サポート
問題や質問がある場合は、以下をご確認ください。
- Human Protein Atlas のドキュメントを確認してください:https://www.proteinatlas.org/about/help
- MCP の仕様を確認してください:https://modelcontextprotocol.io/
- プロジェクトのリポジトリから問題を報告してください
謝辞
- 包括的なタンパク質データベースを提供してくださった Human Protein Atlas チーム
- 標準化された通信フレームワークを提供してくださった Model Context Protocol コミュニティ
- 開発ツールを提供してくださった TypeScript および Node.js コミュニティ
このサーバーは、研究および教育目的で Human Protein Atlas のデータにプログラムからアクセスできるようにします。出版物でこのデータを使用する場合は、適切な出典を引用してください。
引用
このプロジェクトを研究や出版物で使用する場合は、以下の形式で引用してください。
author = {Moudather Chelbi},
title = {Human Protein Atlas MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/ProteinAtlas-MCP-Server/},
note = {Accessed: 2025-06-29}
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。