mcpField
O
opentargets

opentargets

ローカル
nickzren.github.ioヘルスケア193 週間前に更新

opentargets について

opentargets は、Open Targets の標的、疾患、薬剤、変異、エビデンスを照会する読み取り専用 MCP サーバーです。名前または ID で検索し、API キーなしで構造化データを取得できます。

主な機能

  1. 01標的、疾患、薬剤の検索
  2. 02標的と疾患のエビデンス取得
  3. 03変異と研究の検索
  4. 04ドラッグリポジショニング候補の探索
  5. 05カスタム GraphQL クエリの実行

活用シーン

  1. 01標的に作用する薬剤の検索
  2. 02疾患に関連する遺伝子の比較
  3. 03標的と疾患を結ぶエビデンスの確認
  4. 04ドラッグリポジショニング候補の特定

MCP 対応

Open Targets Platform を照会する 68 個の読み取り専用ツールを MCP クライアントに公開します。構造化データを返し、利用可能な場合はデータソース ID と PubMed 参照も含みます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"nickzren-opentargets": {
"command": "uvx",
"args": [
"opentargets-mcp"
]
}
}
}
起動コマンドuvx opentargets-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiopentargets-mcp0.7.0

ツール

68

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
ensembl_idstringはい

詳細

Open Targets MCP サーバー

CI PyPI Python MCP Registry License: MIT

Open Targets Platformを通じて、ターゲット、疾患、薬剤、遺伝的エビデンスを調べるための読み取り専用 MCP サーバーです。名前または ID を使って、裏付けとなるエビデンスを取得し、ドラッグリポジショニング候補を調べられます。Open Targets の API キーは不要です。

インストール

uvが必要です。

Claude Code

claude mcp add opentargets -- uvx opentargets-mcp

Claude Desktop および Cursor:claude_desktop_config.json(Settings → Developer → Edit Config)または ~/.cursor/mcp.jsonに追加し、再起動してください:

{
  "mcpServers": {
    "opentargets": {
      "command": "uvx",
      "args": ["opentargets-mcp"]
    }
  }
}

VS Code

code --add-mcp '{"name":"opentargets","command":"uvx","args":["opentargets-mcp"]}'

Codex

codex mcp add opentargets -- uvx opentargets-mcp

その他の stdio MCP クライアントでも同様に動作します。コマンドは uvx、引数は opentargets-mcp です。

ヒント:

  • クライアントで spawn uvx ENOENT と表示される場合は、which uvxで確認できるフルパスを使用してください。
  • 新しいリリースを取得するには、引数として opentargets-mcp@latest を使用してください。
  • Apple Silicon で cryptography のビルドエラーが発生する場合、uv が Intel(Rosetta)版の Python を選択している可能性があります。uv python findで手がかりを確認できますが、キャッシュ済みのツール環境やデスクトップクライアントでは、別のインタープリターが使われる場合があります。

できること

  • 「EGFRを標的とする薬剤と、その開発段階を教えてください」
  • 「喘息との関連が最も強い遺伝子はどれですか?」
  • 「BRAFとメラノーマを結びつけるエビデンスを示してください」
  • 「2型糖尿病のドラッグリポジショニング候補を提案してください」

遺伝子シンボル、疾患名や薬剤名、rsID、Ensembl、MONDO、ChEMBL の ID など、名前または ID を使用できます。名前に一致するエンティティが複数ある場合、ツールが候補を一覧表示するので、そこから選択できます。

ツール

68 個のツールがあります。全リストを表示するには uvx opentargets-mcp --list-tools を実行してください。

分野例
ターゲットget_target_info、get_target_known_drugs
疾患get_disease_info、get_disease_associated_targets
薬剤get_drug_info、get_drug_adverse_events
エビデンスget_target_disease_evidence
バリアントと研究get_variant_info、get_credible_sets
検索と照会search_entities、map_ids
ワークフローget_drug_repurposing_candidates
生の GraphQLgraphql_query、graphql_schema

多くのツールは fields(["target.approvedSymbol"]のようなドット区切りのパス)を受け付け、必要な項目だけを返します。用意されたツールで対応できない場合は、graphql_queryを使用してください。

エビデンスの結果には、利用可能な場合、データソース ID と PubMed の文献参照が含まれます。分析で使用した Open Targets API とデータのリリースを記録するには、get_api_metadataを使用してください。clinicalReportCountが数えるのは報告レコードであり、固有の試験数ではありません。すべての報告を取得するには graphql_queryを使用してください。

仕組み

flowchart LR
    A(["AI agent<br/>Claude · Codex · VS Code · Cursor"])

    subgraph S["opentargets-mcp"]
        direction TB
        S1["1. Resolve names to IDs"]
        S2["2. Run read-only queries"]
        S3["3. Return structured JSON"]
        S1 --> S2 --> S3
    end

    subgraph O["Open Targets Platform"]
        direction TB
        API["GraphQL API"]
        DB[("ChEMBL · GWAS Catalog<br/>ClinVar · Europe PMC · more")]
        API --- DB
    end

    A <-->|MCP| S
    S <-->|GraphQL| O

    classDef client fill:#e8f0fe,stroke:#4285f4,color:#1f2328
    classDef step fill:#ffffff,stroke:#34a853,color:#1f2328
    classDef data fill:#ffffff,stroke:#f9ab00,color:#1f2328
    class A client
    class S1,S2,S3 step
    class API,DB data
    style S fill:#e6f4ea,stroke:#34a853,color:#1f2328
    style O fill:#fef7e0,stroke:#f9ab00,color:#1f2328

自然な言葉で質問すると、サーバーが名前を Open Targets の ID に変換し、読み取り専用のクエリを実行して、構造化された結果を返します。API キーは不要です。

設定

デフォルト設定はローカルでの使用に適しています。変更するには、環境変数を設定するか、フラグを渡してください(uvx opentargets-mcp --help)。

変数フラグデフォルト
MCP_TRANSPORT--transportstdio(http、sseも指定できます)
FASTMCP_SERVER_HOST--host0.0.0.0
FASTMCP_SERVER_PORT--port8000
OPEN_TARGETS_API_URL--apihttps://api.platform.opentargets.org/api/v4/graphql
OPEN_TARGETS_RATE_LIMIT_RPS--rate-limit-rps0(無効)。受信するMCPリクエストを制限します
OPEN_TARGETS_RATE_LIMIT_BURST--rate-limit-burst20

プロキシの設定はHTTPS_PROXY、HTTP_PROXY、NO_PROXYから読み込まれます。

セルフホスト

ソースから:

git clone https://github.com/nickzren/opentargets-mcp
cd opentargets-mcp
uv run opentargets-mcp

Dockerを使用する場合(ポート8000でHTTP)、クローンしたリポジトリから:

docker compose up -d --build

MCP クライアントをhttp://localhost:8000/mcpに接続します。

開発

uv sync --extra dev
uv run ruff check src tests
uv run pytest -m "not live"   # offline
uv run pytest -m live         # calls the Open Targets API

サンプルスクリプトはexamples/にあります。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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