PubChem MCP Server について
PubChem MCP Serverは、PubChemの化合物データや構造を検索するPython製MCPサーバーです。複数形式での出力に対応し、キャッシュと代替3D構造生成機能を備えています。
主な機能
- 01化合物名またはPubChem CIDで検索
- 02化学的特性と識別子の取得
- 03JSON、CSV、XYZ形式での出力
- 04SDF、MOL、SMILES構造のダウンロード
- 05応答のキャッシュとAPI再試行
- 06代替3D構造の生成
活用シーン
- 01化合物名やCIDから特性を調査
- 02化学研究用の分子識別子を取得
- 03化合物データや3D座標を出力
- 04化合物の構造ファイルをダウンロード
MCP 対応
PubChemの化合物検索と構造ダウンロードをMCPツールとして提供し、MCPクライアントから化学的特性や構造データを取得できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
PubChem MCP Server
PubChem データベースから化合物データを取得するための Model Context Protocol(MCP)サーバーです。
概要
PubChem MCP Server は、AI モデルが PubChem データベースから化合物情報を照会できる Python 実装の MCP サーバーです。標準の MCP インターフェースを通じて、化合物の特性、2D 構造、3D 分子座標に簡単にアクセスできます。
機能
- 化合物名または PubChem CID で化合物を照会
- 以下を含む包括的な化合物データを取得:
- IUPAC 名
- 分子式
- 分子量
- SMILES 表記
- InChI および InChIKey
- 複数の出力形式に対応:
- JSON(デフォルト)
- CSV
- XYZ(3D 構造)
- パフォーマンスを向上させるキャッシュシステムを内蔵
- API の信頼性を高める自動再試行メカニズム
- PubChem で 3D 構造を利用できない場合のフォールバックとして、3D 構造を生成
要件
- Python 3.8+
- Requests ライブラリ
- RDKit(オプション。3D 構造の処理を強化する場合に使用)
インストール
ソースから
# Clone the repository
git clone https://github.com/yourusername/pubchem-mcp-server.git
cd pubchem-mcp-server/python_version
# Install the package
pip install -e .
# For enhanced 3D structure handling, install with RDKit
pip install -e ".[rdkit]"
MCP の設定
Claude またはその他の MCP 対応 AI モデルでサーバーを使用するには、MCP 設定ファイルに以下を追加します:
{
"mcpServers": {
"pubchem": {
"command": "python3",
"args": ["/path/to/pubchem-mcp-server/python_version/mcp_server.py"],
"env": {
"PYTHONUNBUFFERED": "1"
},
"disabled": false,
"autoApprove": [
"get_pubchem_data",
"download_structure"
]
}
}
}
利用可能なツール
get_pubchem_data
化合物の構造と特性のデータを取得します。
パラメーター:
query(必須):化合物名または PubChem CIDformat(任意):出力形式。「JSON」(デフォルト)、「CSV」、または「XYZ」include_3d(任意):3D 構造を含めるかどうか(formatが「XYZ」の場合のみ有効)
使用例:
<use_mcp_tool>
<server_name>pubchem</server_name>
<tool_name>get_pubchem_data</tool_name>
<arguments>
{
"query": "aspirin",
"format": "JSON"
}
</arguments>
</use_mcp_tool>
download_structure
化合物の構造ファイルをダウンロードします。
パラメーター:
cid(必須):PubChem CIDformat(任意):ファイル形式。「sdf」(デフォルト)、「mol」、または「smi」filename(任意):ダウンロードする構造ファイルのカスタムファイル名
使用例:
<use_mcp_tool>
<server_name>pubchem</server_name>
<tool_name>download_structure</tool_name>
<arguments>
{
"cid": "2244",
"format": "sdf"
}
</arguments>
</use_mcp_tool>
プロジェクト構成
pubchem-mcp-server/
├── python_version/ # Python implementation
│ ├── mcp_server.py # Main MCP server script
│ ├── setup.py # Package installation script
│ ├── pubchem_mcp_server/ # Core package
│ │ ├── __init__.py
│ │ ├── pubchem_api.py # PubChem API interaction
│ │ ├── xyz_utils.py # 3D structure and XYZ format utilities
│ │ ├── server.py # MCP server implementation
│ │ ├── cli.py # Command-line interface
│ │ └── async_processor.py # Asynchronous request handling
└── LICENSE
キャッシュ
サーバーはパフォーマンス向上のため、キャッシュメカニズムを使用します:
- API レスポンスはメモリにキャッシュされます
- 3D 構造データは
~/.pubchem-mcp/cache/にキャッシュされます
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
