mcpField
B
Bioportal

Bioportal

リモート
pipeworx.ioヘルスケア05 日前に更新
リポジトリ公式サイト

Bioportal について

Bioportalは、生物医学研究や臨床用語の業務向けに、NCBO BioPortalのオントロジーと概念を検索するMCPサーバーです。用語検索、クラス情報、オントロジー間マッピングを提供し、Pipeworx経由またはローカルのstdioで利用できます。

主な機能

  1. 01約1,300件の生物医学オントロジーを検索
  2. 02オントロジー一覧とクラス情報の参照
  3. 03オントロジー間の概念マッピング
  4. 04ラベル、同義語、定義、CUIの取得

活用シーン

  1. 01自由記述語をコード概念に対応付け
  2. 02オントロジー内のクラス情報を確認
  3. 03他のオントロジーの同等概念を検索

MCP 対応

MCPクライアントに、オントロジー検索、一覧参照、クラス検索、マッピングのツールを公開します。Pipeworxゲートウェイ経由またはローカルのstdioサーバーとして利用できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://gateway.pipeworx.io/bioportal/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

45
パラメーター型必須説明
qstringいいえquestion の別名。
askstringいいえquestion の別名。
textstringいいえquestion の別名。
inputstringいいえquestion の別名。
packsarrayいいえ任意。ルーティング対象をこれらのパックスラッグに限定します(例:["sec-form-d","sec-13f"])。その場合、ルーターは該当パック内のツールのみを選択します。省略すると、デフォルトの全カタログへのルーティングになります。スラッグは list_packs / search_packs / https://pipeworx.io/directory から取得できます。リストにない、または不明なスラッグは無視され、_meta.pack_scope.ignored に記載されます。該当するスラッグが 1 つもない場合は、カタログ全体にルーティングし、_meta.pack_scope.full_catalog:true を設定します(空の回答にはなりません)。
querystringいいえquestion の別名。
promptstringいいえquestion の別名。
messagestringいいえquestion の別名。
questionstringはい自然言語での質問またはリクエスト。query、q、prompt、text、input、ask、message をエイリアスとして使用できます。

詳細

@pipeworx/bioportal

NCBO の BioPortal が収録する約 1,300 の生物医学オントロジー(NCIT、SNOMEDCT、LOINC、RXNORM、 MESH、HPO、ICD10CM、GO など)を対象とした用語検索、クラスの検索、オントロジー間のマッピングです。

Pipeworx の一部です。AI エージェントを 1,875 以上の稼働中のデータソースに接続する MCP ゲートウェイです。これは独立した非公式の統合であり、上流プロバイダーとは提携、承認、公開のいずれの関係もありません。

ツール

  • bioportal_search(query, ontologies?, exact_match?, require_definitions?, limit?) — 自由記述のテキストからコード化された概念を検索し、優先ラベル、同義語、定義、CUI、 永続的なクラス IRI を返します。
  • bioportal_ontologies(filter?, limit?) — オントロジーのカタログです。検索前に略称を確認できます。
  • bioportal_class(ontology, class_id) — 1 つのクラスの完全なレコードです。
  • bioportal_mappings(ontology, class_id, to_ontology?, limit?) — マッピング方法とともに、 他のオントロジー内の同等の概念を返します。

認証

BioPortal ではすべてのリクエストに apikey が必要です。このパックでの解決順序は次のとおりです。

  1. 呼び出し元から渡された _apiKey(無料キー、https://bioportal.bioontology.org/accounts/new)、
  2. それ以外の場合は、NCBO が独自の REST ドキュメントで公開しているデモキー。すべてのユーザーで共有され、相応のレート制限が適用されます。

すべてのレスポンスには key_source が含まれるため、どちらのキーで応答したかを確認できます。

プラットフォームキーが設定された場合(PLATFORM_BIOPORTAL_KEY)、変更は 1 行です。このパックの workers/gateway/src/pack-manifest.json のエントリーに "platformKeyEnv": "PLATFORM_BIOPORTAL_KEY" を追加し、 node scripts/sync-pack-manifest.mjs を再実行します。するとゲートウェイがキーを _apiKey として注入し、 デモキーへのフォールバックは行われなくなります。現時点では意図的に宣言していません。ゲートウェイの keyBlockedTools() は、未設定の platformKeyEnv を宣言しているパックのすべてのツールをキー不足としてブロックするため、 現在誰でも使えるパックが利用できなくなるからです。

データソース

知らないと午後がつぶれてしまうポイント:

  • display_links=false にすると、/ontologies のサイズは 4.4 MB から 312 KB に減ります。 ここでは使用してください。
  • ただし、/search には設定しないでください。 検索結果のオントロジー略称は links.ontology からしか取得できません。 @id は purl(http://purl.bioontology.org/ontology/MESH/D008545)であり、そのパス要素が 必ずしも略称とは限りません。
  • クラス IRI は、# と / を含めて単一のパス要素として URL エンコードする必要があります。 例: /ontologies/NCIT/classes/http%3A%2F%2Fncicb.nci.nih.gov%2Fxml%2Fowl%2FEVS%2FThesaurus.owl%23C3224。
  • マッピングレコードの classes には、問い合わせたクラスを含む両方のクラスが記載されます。 自己マッピングに見えてしまわないよう、ソースとは異なるオントロジーのクラスを選んでください。
  • すべての概念が主要な用語体系にマッピングされるわけではありません。 NCIT の「Melanoma」(C3224)には 114 件のマッピングがありますが、SNOMEDCT へのマッピングはありません。対象は CADSR-VS、RH-MESH、MESH、MEDDRA、LOINC などです。to_ontology フィルターの結果が空でも、それは失敗ではなく実際の結果です。

スコープ(同じものを二度作らないために)

ols パックは、EBI の Ontology Lookup Service を対象としています。BioPortal とは異なるリポジトリで、OBO 系のオントロジーを中心に収録しています。米国の臨床用語体系を収録しているのは BioPortal です。cbioportal はがんゲノミクスを扱うもので、名前が似ているだけで無関係です。

クイックスタート

MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します:

{
  "mcpServers": {
    "bioportal": {
      "url": "https://gateway.pipeworx.io/bioportal/mcp"
    }
  }
}
このエンドポイントが実際に提供するもの

https://gateway.pipeworx.io/bioportal/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 も、同じゲートウェイと同じ1,875以上のデータソースに接続します。違いは、どのパックのツールが直接一覧表示されるかだけです。どちらからでも、ask_pipeworx を通じてすべてのツールを利用できます。

MCP クライアントがない場合:HTTP 経由で呼び出す

curl -X POST https://gateway.pipeworx.io/v1/tools/bioportal_search \
  -H 'Content-Type: application/json' \
  -d '{"query":"melanoma","ontologies":"NCIT,DOID","limit":3}'

最初の呼び出しにはアカウントは不要です。ツールの詳細を確認するには、GET https://gateway.pipeworx.io/v1/tools/bioportal_search を実行します。ツールを探すには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を実行します。

スタンドアロン(ゲートウェイアカウント不要)

このパッケージは、ローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイへの往復通信も不要です。

{
  "mcpServers": {
    "bioportal": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-bioportal"]
    }
  }
}

または、直接実行して起動を確認できます。

npx -y @pipeworx/mcp-bioportal

stdin/stdout 経由で MCP を通信し、このパックのツールのみを対象に initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールですが、ask_pipeworx によるルーティングはありません。

ask_pipeworx の使い方

ツールを直接呼び出す代わりに、自然な英語で質問できます。この機能は、上記のパックエンドポイントとフルゲートウェイの両方で利用できます。

ask_pipeworx({ question: "your question about Bioportal data" })

ゲートウェイが適切なツールを選び、引数を自動的に設定します。

詳細

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。