mcpField
C
ChEMBL MCP Server

ChEMBL MCP Server

ローカル
github.com/Augmented-Nature科学・教育8944 週間前に更新

ChEMBL MCP Server について

ChEMBL MCP Server は、ChEMBL REST API を通じて化学データベースにアクセスする非公式のMCP サーバーです。創薬、ケモインフォマティクス、生物活性研究を行う研究者を対象とし、22 種類の専用ツールを提供します。

主な機能

  1. 01化合物の検索と構造情報の取得
  2. 02UniProt と連携したターゲット分析
  3. 03生物活性とアッセイデータの検索
  4. 04薬剤の開発状況と作用機序の照会
  5. 05ADMET、物理化学的記述子、薬らしさの評価

活用シーン

  1. 01名称による化合物検索とChEMBL 詳細情報の取得
  2. 02特定ターゲットに対するIC50 などの生物活性データの照会
  3. 03複数のChEMBL ID のバッチ処理

MCP 対応

本プロジェクトはMCP サーバーであり、22 種類のChEMBL 照会ツールをMCP クライアントに公開します。また、chembl:// 形式のリソーステンプレートを提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"Augmented-Nature-ChEMBL-MCP-Server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
起動コマンドdocker run -i --rm build

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

パッケージ
ocibuild

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

ChEMBL MCP サーバーロゴ

非公式 ChEMBL MCP サーバー

ChEMBL 化学データベースへの高度なアクセスを提供する、包括的な Model Context Protocol(MCP)サーバーです。このサーバーには、AI アシスタントと MCP クライアントが ChEMBL の REST API を通じて、創薬研究、ケミカルインフォマティクス解析、生物活性調査を高度に実施できる 22 種類の専門ツールが用意されています。

Augmented Nature が開発

機能

化学物質の基本検索と取得(5 種類のツール)
  • 化合物検索:化合物名、同義語、識別子で ChEMBL データベースを検索します
  • 化合物の詳細情報:構造、特性、注釈を含む包括的な化合物情報を取得します
  • InChI による検索:InChI キーまたは InChI 文字列で化合物を検索します
  • 構造の取得:さまざまな形式(SMILES、InChI、MOL、SDF)で化学構造情報を取得します
  • 類似性検索:タニモト類似度を使用して、化学的に類似した化合物を検索します
標的解析と創薬(5 種類のツール)
  • 標的検索:名前または種類で生物学的標的を検索します
  • 標的の詳細情報:標的に関する包括的な情報と注釈を取得します
  • 標的化合物:特定の標的に対して試験された化合物を取得します
  • UniProt 連携:UniProt アクセッション番号で ChEMBL の標的を検索します
  • 標的経路:関連する生物学的経路とメカニズムを取得します
生物活性とアッセイデータ(5 種類のツール)
  • 活性検索:生物活性の測定値とアッセイ結果を検索します
  • アッセイの詳細情報:アッセイのプロトコルと条件に関する包括的な情報を取得します
  • 活性タイプ検索:特定の活性タイプと値の範囲で生物活性データを検索します
  • 用量反応解析:用量反応データと活性プロファイルを取得します
  • 活性比較:複数の化合物または標的の生物活性データを比較します
医薬品開発と臨床データ(4 種類のツール)
  • 医薬品検索:承認済み医薬品と臨床開発候補を検索します
  • 医薬品開発状況:医薬品の開発状況と臨床試験情報を取得します
  • 治療適応症:治療適応症と疾患領域を検索します
  • 作用機序:作用機序と標的との相互作用データを取得します
化学的特性の解析(4 種類のツール)
  • ADMET 解析:ADMET 特性(吸収、分布、代謝、排泄、毒性)を解析します
  • 分子記述子:分子記述子と物理化学的特性を計算します
  • 溶解性予測:水溶性と透過性を予測します
  • 医薬品らしさの評価:リピンスキーのルール・オブ・ファイブなどの指標を用いて、医薬品らしさを評価します
高度な検索と相互参照(4 種類のツール)
  • 部分構造検索:特定の部分構造を含む化合物を検索します
  • 一括処理:複数の ChEMBL ID を効率的に処理します
  • 外部参照:外部データベース(PubChem、DrugBank、PDB など)へのリンクを取得します
  • 高度な検索:複数の化学的・生物学的フィルターを使用した複雑なクエリを実行します
リソーステンプレート
  • URI テンプレートを通じて ChEMBL データに直接アクセスし、シームレスに連携できます

インストール

前提条件
  • Node.js(v16 以降)
  • npm または yarn
セットアップ
  1. リポジトリをクローンします:
git clone <repository-url>
cd chembl-server
  1. 依存関係をインストールします:
npm install
  1. プロジェクトをビルドします:
npm run build

Docker

Docker イメージのビルド

Docker イメージをビルドします:

docker build -t chembl-mcp-server .
Docker での実行

コンテナを実行します:

docker run -i chembl-mcp-server

MCP クライアントとの連携には、コンテナを直接使用できます:

{
  "mcpServers": {
    "chembl": {
      "command": "docker",
      "args": ["run", "-i", "chembl-mcp-server"],
      "env": {}
    }
  }
}

使用方法

MCP サーバーとして使用する

このサーバーは、stdio を介して通信する MCP サーバーとして実行されるように設計されています:

npm start
MCP クライアント設定への追加

MCP クライアント設定(例:Claude Desktop)にサーバーを追加します:

{
  "mcpServers": {
    "chembl": {
      "command": "node",
      "args": ["/path/to/chembl-server/build/index.js"],
      "env": {}
    }
  }
}

利用可能なツール

1. search_compounds

化合物名、同義語、または識別子でChEMBLデータベースを検索します。

パラメーター:

  • query(必須):検索クエリ(化合物名、同義語、または識別子)
  • limit(任意):返す結果の件数(1~1000、デフォルト:25)
  • offset(任意):スキップする結果の件数(デフォルト:0)

例:

{
  "query": "aspirin",
  "limit": 10
}
2. get_compound_info

ChEMBL IDを指定して、特定の化合物の詳細情報を取得します。

パラメーター:

  • chembl_id(必須):ChEMBL化合物ID(例:CHEMBL25)

例:

{
  "chembl_id": "CHEMBL25"
}
3. search_targets

名称または種類で生物学的ターゲットを検索します。

パラメーター:

  • query(必須):ターゲット名または検索クエリ
  • target_type(任意):ターゲットの種類で絞り込みます(例:SINGLE PROTEIN、PROTEIN COMPLEX)
  • organism(任意):生物種で絞り込みます
  • limit(任意):返す結果の件数(1~1000、デフォルト:25)

例:

{
  "query": "dopamine receptor",
  "organism": "Homo sapiens",
  "limit": 5
}
4. search_activities

生物活性測定値とアッセイ結果を検索します。

パラメーター:

  • target_chembl_id(任意):ChEMBLターゲットIDで絞り込みます
  • assay_chembl_id(任意):ChEMBLアッセイIDで絞り込みます
  • molecule_chembl_id(任意):ChEMBL化合物IDで絞り込みます
  • activity_type(任意):活性の種類(例:IC50、Ki、EC50)
  • limit(任意):返す結果の件数(1~1000、デフォルト:25)

例:

{
  "target_chembl_id": "CHEMBL2095173",
  "activity_type": "IC50",
  "limit": 50
}
5. batch_compound_lookup

複数のChEMBL IDを効率的に処理します。

パラメーター:

  • chembl_ids(必須):ChEMBL化合物IDの配列(1~50)

例:

{
  "chembl_ids": ["CHEMBL25", "CHEMBL59", "CHEMBL1642"]
}

リソーステンプレート

このサーバーは、URIテンプレートを通じてChEMBLデータに直接アクセスできます。

1. 化合物情報
  • URI:chembl://compound/{chembl_id}
  • 説明:ChEMBL IDに対応する化合物の完全な情報
  • 例:chembl://compound/CHEMBL25
2. ターゲット情報
  • URI:chembl://target/{chembl_id}
  • 説明:ChEMBLターゲットIDに対応するターゲットの完全な情報
  • 例:chembl://target/CHEMBL2095173
3. アッセイ情報
  • URI:chembl://assay/{chembl_id}
  • 説明:ChEMBLアッセイIDに対応するアッセイの完全な情報
  • 例:chembl://assay/CHEMBL1217643
4. 活性情報
  • URI:chembl://activity/{activity_id}
  • 説明:活性IDに対応する生物活性測定データ
  • 例:chembl://activity/12345678
5. 検索結果
  • URI:chembl://search/{query}
  • 説明:クエリに一致する化合物の検索結果
  • 例:chembl://search/aspirin

例

基本的な化合物検索

アスピリン関連化合物を検索します。

// Tool call
{
  "tool": "search_compounds",
  "arguments": {
    "query": "aspirin",
    "limit": 5
  }
}
化合物の詳細情報を取得

アスピリンに関する包括的な情報を取得します。

// Tool call
{
  "tool": "get_compound_info",
  "arguments": {
    "chembl_id": "CHEMBL25"
  }
}
ターゲットベースの検索

ドーパミン受容体に対して試験された化合物を検索します。

// Tool call
{
  "tool": "search_targets",
  "arguments": {
    "query": "dopamine receptor D2",
    "organism": "Homo sapiens"
  }
}
生物活性の分析

特定のターゲットに対するIC50データを検索します。

// Tool call
{
  "tool": "search_activities",
  "arguments": {
    "target_chembl_id": "CHEMBL2095173",
    "activity_type": "IC50",
    "limit": 100
  }
}
バッチ処理

複数の化合物を効率的に処理します。

// Tool call
{
  "tool": "batch_compound_lookup",
  "arguments": {
    "chembl_ids": ["CHEMBL25", "CHEMBL59", "CHEMBL1642", "CHEMBL1201585"]
  }
}

API連携

このサーバーはChEMBL REST APIと連携し、化学データにプログラムからアクセスできます。ChEMBLの詳細については、以下をご覧ください。

すべてのAPIリクエストには、以下が含まれます。

  • User-Agent:ChEMBL-MCP-Server/1.0.0
  • タイムアウト:30秒
  • ベースURL:https://www.ebi.ac.uk/chembl/api/data

エラー処理

このサーバーには、包括的なエラー処理が含まれています。

  • 入力検証:すべてのパラメーターは型ガードを使用して検証されます
  • APIエラー:ネットワークエラーとAPIエラーを捕捉し、内容を説明するメッセージとともに返します
  • タイムアウト処理:リクエストは30秒後にタイムアウトします
  • 適切な縮退動作:部分的な失敗にも適切に対処します

開発

プロジェクトのビルド
npm run build
開発モード

TypeScriptコンパイラーをウォッチモードで実行します。

npm run dev
プロジェクト構成
chembl-server/
├── src/
│   └── index.ts          # Main server implementation
├── build/                # Compiled JavaScript output
├── package.json          # Node.js dependencies and scripts
├── tsconfig.json         # TypeScript configuration
└── README.md            # This file

依存関係

  • @modelcontextprotocol/sdk:サーバー実装用のコア MCP SDK
  • axios:ChEMBL API リクエスト用 HTTP クライアント
  • typescript:開発用 TypeScript コンパイラー

ライセンス

MIT ライセンス

コントリビューション

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. 該当する場合はテストを追加します
  5. プルリクエストを送信します

サポート

問題や質問がある場合:

  1. ChEMBL API のドキュメントを確認します
  2. Model Context Protocol の仕様を確認します
  3. リポジトリで issue を作成します

Augmented Nature について

この包括的な ChEMBL MCP Server は、AI を活用したバイオインフォマティクスおよび計算化学ソリューションの革新をリードする Augmented Nature が開発しています。Augmented Nature は、人工知能と化学研究の間の隔たりを埋める高度なツールの開発を専門としており、研究者が化学および生物学データからより深い知見を得られるよう支援しています。

ツールの完全なリファレンス

コア化学物質の検索・取得ツール
  1. search_compounds - 名前、同義語、または識別子で ChEMBL データベースを検索します
  2. get_compound_info - ChEMBL ID で化合物の詳細情報を取得します
  3. search_by_inchi - InChI キーまたは InChI 文字列で化合物を検索します
  4. get_compound_structure - さまざまな形式で化学構造を取得します
  5. search_similar_compounds - Tanimoto 類似度を使用して化学的に類似した化合物を検索します
標的分析・創薬ツール
  1. search_targets - 名前または種類で生物学的標的を検索します
  2. get_target_info - ChEMBL 標的 ID で標的の詳細情報を取得します
  3. get_target_compounds - 特定の標的に対して試験された化合物を取得します
  4. search_by_uniprot - UniProt アクセッションで ChEMBL の標的を検索します
  5. get_target_pathways - 標的に関連する生物学的経路を取得します
生物活性・アッセイデータツール
  1. search_activities - 生物活性測定値とアッセイ結果を検索します
  2. get_assay_info - ChEMBL アッセイ ID でアッセイの詳細情報を取得します
  3. search_by_activity_type - 活性の種類と値の範囲で生物活性データを検索します
  4. get_dose_response - 用量反応データと活性プロファイルを取得します
  5. compare_activities - 複数の化合物にわたる生物活性データを比較します
医薬品開発・臨床データツール
  1. search_drugs - 承認済み医薬品と臨床候補薬を検索します
  2. get_drug_info - 医薬品の開発状況と臨床試験情報を取得します
  3. search_drug_indications - 治療適応症と疾患領域を検索します
  4. get_mechanism_of_action - 作用機序と標的相互作用データを取得します
化学的性質の分析ツール
  1. analyze_admet_properties - ADMET 特性を分析します
  2. calculate_descriptors - 分子記述子と物理化学的特性を計算します
  3. predict_solubility - 水溶性および透過性を予測します
  4. assess_drug_likeness - リピンスキーの5原則を使用して医薬品らしさを評価します
高度な検索・相互参照ツール
  1. substructure_search - 特定の部分構造を含む化合物を検索します
  2. batch_compound_lookup - 複数の ChEMBL ID を効率的に処理します
  3. get_external_references - 外部データベースへのリンクを取得します
  4. advanced_search - 複数の化学的・生物学的フィルターを用いた複雑なクエリを実行します

変更履歴

v1.0.0 - 初回リリース
  • 包括的な化学情報:創薬向けの27種類の専門ツール
  • コア機能:化合物検索、標的分析、生物活性データ
  • 高度な機能:類似性検索、バッチ処理、相互参照
  • リソーステンプレート:URIベースでChEMBLデータに直接アクセス
  • Docker対応:セキュリティのベストプラクティスに沿ったコンテナ化デプロイ
  • 専門的なドキュメント:ツールの完全なリファレンスと使用例
  • Augmented Natureが開発:専門的な化学情報プラットフォーム

引用

このプロジェクトを研究または出版物で使用する場合は、以下の形式で引用してください。

author = {Moudather Chelbi},
title = {ChEMBL MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/ChEMBL-MCP-Server},
note = {Accessed: 2025-06-29}

コメント

MCP は初めてですか?

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

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