概要
RDKit MCP Server (TandemAI) は、言語モデルとの自然言語によるやり取りを通じて RDKit のケモインフォマティクス機能にアクセスできるようにすることを目的とした Python MCP サーバーです。上流の RDKit ライブラリへのインターフェースとして機能し、ライブラリの代替ではなく、単独で動作する自律エージェントを提供するものでもありません。README には RDKit 2025.3.1 の全関数を公開する目標が記載されていますが、これはカバレッジの目標であり、すべての関数が利用可能、または検証済みであることを示すものではありません。
一般的なワークフローでは、ユーザーがサーバーを起動し、MCP 対応の言語モデルクライアントを接続します。クライアントはその後、リクエストに応答する際に、サーバーが公開する RDKit ツールを利用できます。リポジトリには、実験用の OpenAI 搭載コマンドラインクライアントと、利用可能なツールを一覧表示するユーティリティも含まれています。入力には、クライアントが処理する自然言語のリクエストと、任意の設定ファイルで指定するサーバー設定が含まれます。出力には RDKit ツールの結果とクライアントの応答が含まれますが、提供された抜粋には個々のツールのスキーマや対応する分子入力形式は記載されていません。
リポジトリには、ツール出力とエージェント応答を評価するための pydantic-evals 使用評価スイートがあります。LLMJudge は、エージェントが適切にツールを使用し、正確な結果を生成したかを確認します。詳細出力の確認、ケースの選択、JSON 結果のエクスポートも可能です。これらの機能はローカル評価に役立ちますが、科学的な正確性、関数の網羅的なカバレッジ、または本番環境への準備が整っていることを証明するものではありません。パッケージメタデータには Python と固定された RDKit 依存関係が記載されており、リポジトリのコードは MIT ライセンスです。このライセンスは、外部モデルサービスやその他の依存関係の条件を定めるものではありません。
主な機能
- Model Context Protocol を通じて RDKit 関数を公開し、MCP 対応の言語モデルクライアントから利用できるようにします。
- 素早い実験に使える、OpenAI 搭載のコマンドラインクライアントを含みます。
- 任意のサーバー設定ファイルに対応し、設定の参照先として settings.example.yaml を示しています。
- サーバーが公開する RDKit ツールを確認するためのツール一覧ユーティリティを提供します。
- LLMJudge による評価、ケースのフィルタリング、詳細出力、JSON 結果のエクスポートに対応した pydantic-evals 評価スイートを含みます。
用途
- 想定される評価用途:既存の MCP クライアントワークフローで、自然言語のリクエストから適切な公開済み RDKit ツールを呼び出せるかを評価する。
- 想定される評価用途:付属の CLI クライアントを使って RDKit の対話型インターフェースを試作し、その後に別のクライアントを統合する。
- 想定される評価用途:リポジトリ内の評価ケースを選んで実行し、想定するケモインフォマティクスワークフローについて、エージェント応答と合わせてツール出力を確認する。
使い方
- 公式 READMEを読み、サーバーとクライアントの役割分担、およびローカルでのインストール手順を確認します。パッケージメタデータで宣言された Python と依存関係の要件を確認してください。これらは互換性がテスト済みであることを示すものではありません。
- リポジトリのチェックアウトから、README のインストール手順に従います。設定を変更する必要がある場合は、サーバーを起動する前に、参照先の settings.example.yaml を確認します。
- 文書化された run_server.py の手順に従ってサーバーを起動します。設定ファイルは任意で指定できます。MCP 対応クライアントを接続します。例として、README には Claude Desktop クイックスタートへのリンクがあります。
- 文書化された list_tools.py ユーティリティを使い、リクエストを設計する前に公開されているツールを確認します。付属の OpenAI クライアントを使う場合は、自分の認証情報を安全に設定し、認証情報を公開せずに run_client.py の手順に従います。
- 文書化された評価用依存関係をインストールし、サーバーを稼働させた状態で評価スイートを実行します。詳細な入力と出力を確認し、関連するケースを絞り込むか、JSON 結果をエクスポートします。LLMJudge の評価は、検討対象となる評価の証拠として扱い、独立した科学的検証とはみなさないでください。