Unofficial PubChem MCP Server について
PubChem 化学データベースにアクセスするための非公式 MCP サーバーで、化合物検索、分子特性、バイオアッセイデータ、ケモインフォマティクスツールを提供します。化学者や創薬研究者、ライフサイエンス分野のユーザー向けで、README では 1 億 1,000 万以上の化合物を対象としています。
主な機能
- 01化合物検索と構造類似性検索
- 02分子特性、記述子、薬らしさの評価
- 03バイオアッセイと生物活性データの検索
- 04GHS 有害性と毒性情報の取得
- 05ChEMBL や UniProt などと連携するワークフロー
- 06最大 200 化合物の一括検索
活用シーン
- 01名称や SMILES から化合物を探し特性を取得
- 02創薬支援のための生物活性データの照会
- 03化合物の安全性と毒性情報の確認
MCP 対応
MCP サーバーとして、ツールとリソーステンプレート(pubchem://compound/{cid} など)を通じて PubChem データへのアクセスを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細

非公式 PubChem MCP サーバー
PubChem 化学データベースにアクセスするための包括的な Model Context Protocol(MCP)サーバーです。このサーバーでは、1億1,000万件を超える化合物に加え、豊富な分子特性、生物活性試験データ、化学情報学ツールを利用できます。
特長
🔍 化学物質の検索と取得(6 個のツール)
- search_compounds - 名前、CAS 番号、化学式、識別子で検索します
- get_compound_info - CID で化合物の詳細情報を取得します
- search_by_smiles - SMILES 文字列の完全一致検索
- search_by_inchi - InChI/InChI キーで検索します
- search_by_cas_number - CAS 登録番号を検索します
- get_compound_synonyms - すべての名称と別名を取得します
🧬 構造解析と類似性(5 個のツール)
- search_similar_compounds - タニモト係数による類似性検索
- substructure_search - 部分構造を含む化合物を検索します
- superstructure_search - クエリ構造を含む、より大きな化合物を検索します
- get_3d_conformers - 3D 構造情報を取得します
- analyze_stereochemistry - キラリティーと異性体を解析します
⚗️ 化学的特性と記述子(6 個のツール)
- get_compound_properties - 分子量、logP、TPSA などを取得します
- calculate_descriptors - 包括的な分子記述子を計算します
- predict_admet_properties - ADMET を予測します
- assess_drug_likeness - リピンスキーのルール・オブ・ファイブを解析します
- analyze_molecular_complexity - 合成容易性を解析します
- get_pharmacophore_features - ファーマコフォアをマッピングします
🧪 生物活性試験と活性データ(5 個のツール)
- search_bioassays - 生物活性試験を検索します
- get_assay_info - 試験プロトコルの詳細を取得します
- get_compound_bioactivities - 化合物のすべての活性データを取得します
- search_by_target - 標的に対して試験された化合物を検索します
- compare_activity_profiles - 化合物間の活性プロファイルを比較します
⚠️ 安全性と毒性(4 個のツール)
- get_safety_data - GHS 危険有害性分類を取得します
- get_toxicity_info - LD50、発がん性データを取得します
- assess_environmental_fate - 生分解性を解析します
- get_regulatory_info - FDA、EPA の規制情報を取得します
🔗 相互参照と連携(4 個のツール)
- get_external_references - ChEMBL、DrugBank などへのリンクを取得します
- search_patents - 化学物質の特許情報を検索します
- get_literature_references - PubMed の引用情報を取得します
- batch_compound_lookup - 一括処理(最大 200 化合物)
リソーステンプレート
URI パターンを使用して PubChem のデータにアクセスします。
pubchem://compound/{cid}- 化合物の全データpubchem://structure/{cid}- 2D/3D 構造情報pubchem://properties/{cid}- 分子特性pubchem://bioassay/{aid}- 生物活性試験データpubchem://similarity/{smiles}- 類似性検索の結果pubchem://safety/{cid}- 安全性と毒性のデータ
インストール
# Clone or create the server directory
cd pubchem-server
# Install dependencies
npm install
# Build the server
npm run build
# Run the server
npm start
使い方
基本的な化合物検索
// Search for compounds by name
{
"tool": "search_compounds",
"arguments": {
"query": "aspirin",
"max_records": 10
}
}
// Get detailed compound information
{
"tool": "get_compound_info",
"arguments": {
"cid": 2244
}
}
構造解析
// Find similar compounds
{
"tool": "search_similar_compounds",
"arguments": {
"smiles": "CC(=O)OC1=CC=CC=C1C(=O)O",
"threshold": 85,
"max_records": 50
}
}
// Analyze molecular properties
{
"tool": "get_compound_properties",
"arguments": {
"cid": 2244,
"properties": ["MolecularWeight", "XLogP", "TPSA"]
}
}
生物活性解析
// Get bioassay information
{
"tool": "get_assay_info",
"arguments": {
"aid": 1159607
}
}
// Search compounds by target
{
"tool": "search_by_target",
"arguments": {
"target": "cyclooxygenase",
"max_records": 100
}
}
安全性情報
// Get safety classifications
{
"tool": "get_safety_data",
"arguments": {
"cid": 2244
}
}
一括処理
// Process multiple compounds
{
"tool": "batch_compound_lookup",
"arguments": {
"cids": [2244, 5090, 3672],
"operation": "property"
}
}
他の MCP サーバーとの連携
この PubChem サーバーは、他の化学/生物学データベースとシームレスに連携します。
包括的な化学情報学パイプライン
1. Target Discovery: UniProt → STRING → AlphaFold
2. Chemical Discovery: PubChem ← → ChEMBL
3. Complete Workflow: Protein → Structure → Interactions → Small Molecules → Bioactivity
データベース横断ワークフロー
- UniProt → PubChem:タンパク質標的を検索 → 低分子リガンドを検索
- PubChem → ChEMBL:化合物を見つける → 生物活性データを解析する
- STRING → PubChem:タンパク質間相互作用 → 化学的モジュレーター
API レート制限
PubChem API のガイドライン:
- 1 秒あたり 5 リクエスト
- 最大で 1 分あたり 400 リクエスト
- API キーは不要です
- 節度ある利用を推奨します
データソース
- 1億1,000万件以上の化合物と完全な化学データ
- 150万件以上の生物活性試験と生物活性データ
- 化学的特性と計算済み記述子
- 3D コンフォーマーと構造データ
- 安全性分類と毒性情報
- 500件以上の外部データベースへの相互参照
エラー処理
このサーバーには、包括的なエラー処理が備わっています。
- 無効な化合物 ID に対して、明確なエラーメッセージを返します
- API のタイムアウトを適切に処理します
- レート制限への準拠が組み込まれています
- すべての入力を TypeScript で検証します
貢献
このサーバーでは、次の技術を使用しています。
- TypeScript による型安全性
- HTTP リクエスト用の Axios
- プロトコル準拠のための MCP SDK
- データアクセス用の PubChem REST API
ライセンス
MIT License — 詳細については LICENSE ファイルを参照してください。
サポート
次の問題については、
- サーバーの機能:エラーメッセージと API レスポンスを確認してください
- PubChem API:PubChem の公式ドキュメントを参照してください
- 化学データ:化合物識別子と検索語を検証してください
例
創薬ワークフロー
// 1. Search for anti-inflammatory compounds
{
"tool": "search_compounds",
"arguments": {
"query": "anti-inflammatory",
"max_records": 100
}
}
// 2. Analyze drug-likeness
{
"tool": "assess_drug_likeness",
"arguments": {
"cid": 2244
}
}
// 3. Check safety profile
{
"tool": "get_safety_data",
"arguments": {
"cid": 2244
}
}
// 4. Find bioactivity data
{
"tool": "search_by_target",
"arguments": {
"target": "COX-2",
"activity_type": "IC50"
}
}
化学的類似性の分析
// 1. Find similar compounds
{
"tool": "search_similar_compounds",
"arguments": {
"smiles": "your_query_smiles",
"threshold": 90
}
}
// 2. Compare molecular properties
{
"tool": "batch_compound_lookup",
"arguments": {
"cids": [1234, 5678, 9012],
"operation": "property"
}
}
// 3. Analyze structural features
{
"tool": "analyze_stereochemistry",
"arguments": {
"cid": 1234
}
}
アーキテクチャ
このサーバーは、モジュール式アーキテクチャで構築されています。
- すべての API 入力に対する型安全な検証
- 明確なメッセージを伴う包括的なエラー処理
- 複数の化合物を対象とする効率的なバッチ処理
- データへ直接アクセスするためのリソーステンプレート
- 複数データベースのワークフローに対応する容易な統合
これにより、現在利用できる最も包括的な化学情報学 MCP サーバーとなっています!
引用
このプロジェクトを研究や出版物で使用する場合は、以下の形式で引用してください。
author = {Moudather Chelbi},
title = {PubChem MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/PubChem-MCP-Server},
note = {Accessed: 2025-06-29}
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。