ChEMBL MCP Server について
ChEMBL MCP Server は、ChEMBL REST API を通じて化学データベースにアクセスする非公式のMCP サーバーです。創薬、ケモインフォマティクス、生物活性研究を行う研究者を対象とし、22 種類の専用ツールを提供します。
主な機能
- 01化合物の検索と構造情報の取得
- 02UniProt と連携したターゲット分析
- 03生物活性とアッセイデータの検索
- 04薬剤の開発状況と作用機序の照会
- 05ADMET、物理化学的記述子、薬らしさの評価
活用シーン
- 01名称による化合物検索とChEMBL 詳細情報の取得
- 02特定ターゲットに対するIC50 などの生物活性データの照会
- 03複数のChEMBL ID のバッチ処理
MCP 対応
本プロジェクトはMCP サーバーであり、22 種類のChEMBL 照会ツールをMCP クライアントに公開します。また、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
セットアップ
- リポジトリをクローンします:
git clone <repository-url>
cd chembl-server
- 依存関係をインストールします:
npm install
- プロジェクトをビルドします:
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の詳細については、以下をご覧ください。
- ChEMBLウェブサイト:https://www.ebi.ac.uk/chembl/
- APIドキュメント:https://chembl.gitbook.io/chembl-interface-documentation/web-services
- REST APIガイド:https://www.ebi.ac.uk/chembl/api/data/docs
すべての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 ライセンス
コントリビューション
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更を加えます
- 該当する場合はテストを追加します
- プルリクエストを送信します
サポート
問題や質問がある場合:
- ChEMBL API のドキュメントを確認します
- Model Context Protocol の仕様を確認します
- リポジトリで issue を作成します
Augmented Nature について
この包括的な ChEMBL MCP Server は、AI を活用したバイオインフォマティクスおよび計算化学ソリューションの革新をリードする Augmented Nature が開発しています。Augmented Nature は、人工知能と化学研究の間の隔たりを埋める高度なツールの開発を専門としており、研究者が化学および生物学データからより深い知見を得られるよう支援しています。
ツールの完全なリファレンス
コア化学物質の検索・取得ツール
search_compounds- 名前、同義語、または識別子で ChEMBL データベースを検索しますget_compound_info- ChEMBL ID で化合物の詳細情報を取得しますsearch_by_inchi- InChI キーまたは InChI 文字列で化合物を検索しますget_compound_structure- さまざまな形式で化学構造を取得しますsearch_similar_compounds- Tanimoto 類似度を使用して化学的に類似した化合物を検索します
標的分析・創薬ツール
search_targets- 名前または種類で生物学的標的を検索しますget_target_info- ChEMBL 標的 ID で標的の詳細情報を取得しますget_target_compounds- 特定の標的に対して試験された化合物を取得しますsearch_by_uniprot- UniProt アクセッションで ChEMBL の標的を検索しますget_target_pathways- 標的に関連する生物学的経路を取得します
生物活性・アッセイデータツール
search_activities- 生物活性測定値とアッセイ結果を検索しますget_assay_info- ChEMBL アッセイ ID でアッセイの詳細情報を取得しますsearch_by_activity_type- 活性の種類と値の範囲で生物活性データを検索しますget_dose_response- 用量反応データと活性プロファイルを取得しますcompare_activities- 複数の化合物にわたる生物活性データを比較します
医薬品開発・臨床データツール
search_drugs- 承認済み医薬品と臨床候補薬を検索しますget_drug_info- 医薬品の開発状況と臨床試験情報を取得しますsearch_drug_indications- 治療適応症と疾患領域を検索しますget_mechanism_of_action- 作用機序と標的相互作用データを取得します
化学的性質の分析ツール
analyze_admet_properties- ADMET 特性を分析しますcalculate_descriptors- 分子記述子と物理化学的特性を計算しますpredict_solubility- 水溶性および透過性を予測しますassess_drug_likeness- リピンスキーの5原則を使用して医薬品らしさを評価します
高度な検索・相互参照ツール
substructure_search- 特定の部分構造を含む化合物を検索しますbatch_compound_lookup- 複数の ChEMBL ID を効率的に処理しますget_external_references- 外部データベースへのリンクを取得します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}
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。