本文へスキップ
公式

Claude + RDKit MCP による分子解析

Claude Desktop をローカルの RDKit MCP に接続し、SMILES から分子式、平均・精密分子質量、TPSA、Crippen 記述子を計算します。再現可能な導入手順と受け入れ確認を用意します。

難易度: 中級 費用: 無料・有料混在 プライバシー: クラウド ~30 分
セットアップ開始

できるようになること

  • SMILES から分子式、平均分子質量、精密分子質量を計算する。
  • トポロジカル極性表面積、Crippen logP とモル屈折率を計算する。
  • 実際のツール呼び出しを調べ、受け入れ基準と結果を比較する。

構築するもの

対象範囲

Claude Desktop が対話とツール選択を担当し、TandemAI の RDKit MCP サーバーが RDKit で計算します。ソースは 3a7000ae62e94e095ecd804a403fca12982570cb に固定しています(サーバーパッケージ 0.2.3、RDKit 2025.3.1)。PubChem と OpenAI API キーは不要です。Claude のアカウントやプランの料金は別途確認してください。

環境とプライバシー

上流の要件は Python >=3.10 で、この手順では Python 3.11 を使用します。Git、venv/pip を含む Python、ローカル MCP を許可した Claude Desktop を準備します。macOS と Windows の手順を掲載しています。Linux サーバーの導入はこのデスクトップ手順の対象外です。 RDKit の計算はローカルで実行されますが、対話とツール結果は Claude のクラウドで処理されます。完全なオフライン構成ではありません。

トランスポートとツール

サーバーの既定値は SSE のため、この手順では stdio を明示します。必要な五つのツールだけを公開し、待受ポートは開きません。

Claude Desktop 向け MCP 接続

RDKit MCP Server (TandemAI)

化学情報処理の計算エンジン

RDKit

構成リソース

RDKit MCP Server (TandemAI)

Claude Desktop 向け MCP 接続 · 0.2.3; commit 3a7000ae62e94e095ecd804a403fca12982570cb

記録したコミットから導入し、stdio と五つのツールの許可リストを指定します。

サーバーと RDKit はオープンソースです。Claude の料金は利用プランに依存します。

リソースを見る

RDKit

化学情報処理の計算エンジン · ==2025.3.1

MCP パッケージが rdkit==2025.3.1 を自動導入します。この環境では未固定の版に置き換えないでください。

サーバーと RDKit はオープンソースです。Claude の料金は利用プランに依存します。

リソースを見る

互換性

クライアントOSアーキテクチャバージョン要件
Claude Desktop macOSarm64 / x64構成リソースの要件を参照
Claude Desktop Windowsx64構成リソースの要件を参照
Python macOS指定なし>= 3.10
Python Windows指定なし>= 3.10
Python Linux指定なし>= 3.10

セットアップとテスト

1. デスクトップと Python の環境を準備

全プラットフォーム

Git、Python 3.11、Claude Desktop を用意し、アカウントや組織のポリシーがローカル MCP を許可しているか確認します。新しいディレクトリに clone してください。掲載コマンドは実際の操作用で、ここではインストールを実行していません。

公式出典

期待される結果

Git と Python が利用でき、Claude がローカル MCP を許可している。

2. macOS に固定版サーバーを導入

macOS

ターミナルで実行します。ソースと仮想環境を同じ場所に保持します。上流の pip install . を独立したインタープリターで実行し、表示された依存パッケージの版を記録します。

git clone https://github.com/tandemai-inc/rdkit-mcp-server.git
cd rdkit-mcp-server
git checkout 3a7000ae62e94e095ecd804a403fca12982570cb
python3.11 -m venv .venv
.venv/bin/python -m pip install .
.venv/bin/python -m pip show rdkit rdkit-mcp-server mcp
公式出典

期待される結果

導入が完了し、RDKit は 2025.3.1、サーバーパッケージは 0.2.3 を表示する。

3. Windows に固定版サーバーを導入

Windows

PowerShell で実行します。仮想環境の Python を直接呼び出すため、PowerShell スクリプトの有効化は不要です。py ランチャーがなければ Python 3.11 の絶対パスを指定します。

git clone https://github.com/tandemai-inc/rdkit-mcp-server.git
cd rdkit-mcp-server
git checkout 3a7000ae62e94e095ecd804a403fca12982570cb
py -3.11 -m venv .venv
.\.venv\Scripts\python.exe -m pip install .
.\.venv\Scripts\python.exe -m pip show rdkit rdkit-mcp-server mcp
公式出典

期待される結果

導入が完了し、RDKit は 2025.3.1、サーバーパッケージは 0.2.3 を表示する。

4. 公開する RDKit ツールを限定

全プラットフォーム

リポジトリ内に recipe-settings.yaml として保存します。上流の例には許可と拒否が重複する例示があるため、そのままコピーしないでください。ここに示す名前はソースのラッパーで確認済みです。許可リストによりクライアントに公開するツールも絞れます。

ALLOW_LIST:
  - MolWt
  - ExactMolWt
  - CalcMolFormula
  - CalcTPSA
  - CalcCrippenDescriptors
BLOCK_LIST: []
公式出典

期待される結果

YAML に五つの許可ツールと空の拒否リストがある。

5. macOS の Claude Desktop を設定

macOS

Claude Desktop の Settings > Developer > Edit Config を開き、既存の mcpServers にこの項目を追加します。他のサーバーは保持してください。すべての /ABSOLUTE/PATH を実際の絶対パスに置き換えます。設定場所は ~/Library/Application Support/Claude/claude_desktop_config.json です。shell のパス展開は使いません。

{
  "mcpServers": {
    "rdkit": {
      "command": "/ABSOLUTE/PATH/rdkit-mcp-server/.venv/bin/python",
      "args": [
        "/ABSOLUTE/PATH/rdkit-mcp-server/run_server.py",
        "--transport",
        "stdio",
        "--settings",
        "/ABSOLUTE/PATH/rdkit-mcp-server/recipe-settings.yaml"
      ]
    }
  }
}
公式出典

期待される結果

有効な JSON にインタープリター、スクリプト、設定ファイルの絶対パスと --transport stdio がある。

6. Windows の Claude Desktop を設定

Windows

Claude Desktop の Settings > Developer > Edit Config を開き、既存の mcpServers にこの項目を追加します。他のサーバーは保持してください。C:\ABSOLUTE\PATH を実際の絶対パスに置き換え、JSON のバックスラッシュをエスケープします。設定場所は %APPDATA%\Claude\claude_desktop_config.json です。

{
  "mcpServers": {
    "rdkit": {
      "command": "C:\\ABSOLUTE\\PATH\\rdkit-mcp-server\\.venv\\Scripts\\python.exe",
      "args": [
        "C:\\ABSOLUTE\\PATH\\rdkit-mcp-server\\run_server.py",
        "--transport",
        "stdio",
        "--settings",
        "C:\\ABSOLUTE\\PATH\\rdkit-mcp-server\\recipe-settings.yaml"
      ]
    }
  }
}
公式出典

期待される結果

有効な JSON に正しくエスケープされた Windows 絶対パスと --transport stdio がある。

7. 再起動して接続を確認

全プラットフォーム

Claude Desktop を完全に終了して再起動し、Developer の接続状態とコネクター一覧を確認します。MolWt、ExactMolWt、CalcMolFormula、CalcTPSA、CalcCrippenDescriptors が必要です。承認が求められたら SMILES 引数を確認します。既定の SSE サーバーを別途起動する必要はありません。

公式出典

期待される結果

コネクターが接続済みで、指定した五つのツールが表示される。

8. アスピリンの確認 Prompt を実行

全プラットフォーム

新しいチャットで RDKit コネクターを有効にし、この Prompt を入力します。実際のツール呼び出しを確認してください。モデルの記憶だけによる回答は合格としません。

rdkit コネクターでアスピリンを解析してください。SMILES は CC(=O)Oc1ccccc1C(=O)O です。この文字列を smiles 引数として CalcMolFormula、MolWt、ExactMolWt、CalcTPSA、CalcCrippenDescriptors を実際に呼び出してください。各ツールの戻り値、単位、ツール名を示し、平均分子質量と単同位体質量を区別してください。logP は計算記述子であり実測値ではないと説明してください。ツールが利用できない場合や失敗した場合は明示し、モデルの記憶で数値を補わないでください。
公式出典

期待される結果

指定した SMILES で実際に呼び出す。分子式は C9H8O4、平均分子質量は約 180.159 g/mol(許容差 0.02)、単同位体質量は約 180.04226 Da(許容差 0.001)、TPSA は約 63.60 Ų(許容差 0.1)。CalcCrippenDescriptors の logP とモル屈折率は約 (1.3101, 44.7103)(許容差 0.05)。これらは実測前の期待値で、このセッションの実行結果ではない。

9. 不正入力への対応を確認

全プラットフォーム

この Prompt を別に入力します。明確なツールエラー、または入力検証後の計算停止を確認します。不正入力に対して分子物性を作り出した回答は不合格です。

RDKit ツールで SMILES not-a-smiles を解析してください。まず入力を検証し、不正なら検証またはツールのエラーを報告して停止してください。分子物性を作り出さないでください。
公式出典

期待される結果

不正な SMILES が明示的に拒否され、分子式や記述子の数値が作り出されない。

トラブルシューティング

  • RDKit の配布物が見つからない:Python の版と CPU アーキテクチャを確認します。この手順は Python 3.11 を選んでいます。RDKit 2025.3.1 の対応 wheel を確認してから続けます。固定版を保持し、別環境は未検証として記録します。
  • ModuleNotFoundError:導入時と Claude の設定で同じ .venv Python を使用します。JSON をシステム Python に向けないでください。
  • サーバーが表示されない/接続が切れる:JSON 構文と recipe-settings.yaml を含む絶対パスを確認します。--transport stdio が必要です。Developer ログを確認してください。macOS は ~/Library/Logs/Claude、Windows は %APPDATA%\Claude\logs です。
  • ツール未登録/不足:ALLOW_LIST の綴りと固定ソースの五つのラッパーを確認し、YAML 保存後に Claude を完全に再起動します。
  • 計算エラー:SMILES、選択ツール、引数を確認します。不正 SMILES のエラーをモデルの推測で回避しないでください。
  • 質量が一致しない:MolWt と ExactMolWt を区別し、中性アスピリン、同位体、電荷、コンポーネント版を確認します。
  • ネットワークや組織ポリシーで利用できない:Claude クラウドとローカル MCP の許可が必要です。適合しない環境では下記の Python 代替手順を利用します。
まだ動作しません

代替案

クラウドでの対話を使わずにローカル計算する場合は RDKit を Python から直接利用できます:https://www.rdkit.org/docs/GettingStartedInPython.html 。PubChem 検索は別のデータ拡充ワークフローであり、この手順には不要です。RDKit 記述子を実験測定値と同一視しないでください。