化学AIワークフローにMCPがもたらすもの
Model Context Protocol(MCP)は、AIアプリケーションが別のプログラムとコンテキストをやり取りし、そのプログラムが提供する機能を呼び出す方法を定めます。化学分野では、そのプログラムがケモインフォマティクスライブラリを公開したり、タンパク質アノテーションを取得したり、文献を検索したり、実験室の記録にアクセスしたりする場合があります。MCPはインターフェースであり、その背後にある科学的手法、データベース、モデルではありません。
実用上の価値は、責務を分離できることです。アシスタントは生成テキストだけに頼らず、文書化された操作を要求できます。基盤となる処理は科学ライブラリや上流APIが実行します。その後、研究者は引数、返された証拠、解釈をそれぞれ確認できます。
会話で最新の記録や再現可能な計算が必要な場合に役立ちます。直接APIを呼び出す方法や既存の解析スクリプトでタスクを満たせる場合は、利点が小さくなります。アクセスが標準化されても、不適切な計算が科学的に適切になるわけではありません。また、複数のツールから作られた説明がそれだけで信頼できるようになるわけでもありません。
ホスト、クライアント、サーバー、科学ツールを区別する
公式MCPアーキテクチャ概要では、AIアプリケーションと、その接続、および機能を提供するプログラムが区別されています。
| レイヤー | 役割 | 化学分野での評価上の問い |
|---|---|---|
| ホスト | 1つ以上のMCPクライアントを調整するAIアプリケーション | アシスタントがアクセスできるツールは何か、どの操作に承認が必要か? |
| クライアント | 特定のサーバーと通信するコンポーネント | この接続は必要なプロトコルとトランスポートをサポートするか? |
| サーバー | ツール、リソース、プロンプトを公開するプログラム | 実際に利用可能な操作と入力スキーマは何か? |
| ツール | サーバーが公開する呼び出し可能な操作 | これは取得、計算、ダウンロード、または重大な結果を伴う操作か? |
| 科学バックエンド | 基盤処理を担うライブラリ、データベースAPI、または構成済みサービス | どのような前提、依存関係、出典情報が結果を規定するか? |
実用的な計画の流れは、ホスト → クライアント → MCPサーバー → 科学バックエンド → 返却された証拠 → アシスタントの解釈です。各コンポーネントの実行場所と、データがネットワーク境界を越える場所を明記してください。
サーバーは、実行可能なツール、コンテキストを提供するリソース、再利用可能なプロンプトを公開できます。これらは異なるインターフェースです。ワークフロー用プロンプトがあるからといって、要求されたすべての操作が実行されると証明されるわけではありません。現在のアーキテクチャでは、ローカルプロセス通信にSTDIO、リモート通信にStreamable HTTPが記載されています。この概要は、以前の化学プロジェクトが現行のプロトコル改訂版を実装している証拠ではありません。
LLMへのリクエストが科学的操作になるまで
ホストは、ツール発見(tools/listなど)を通じて利用可能なツールの説明と入力スキーマを取得します。モデルはツール名と構造化された引数を提案できます。アプリケーションはクライアントを通じてtools/callでリクエストをルーティングし、その結果を会話コンテキストとして渡します。
たとえば、RCSB MCPではget_pdb_entryがpdb_id引数を持つものとして記載されています。そのため、エントリー情報のリクエストは、記憶に基づく根拠のない要約ではなく、構造化された検索になります。それでも結果の確認は必要です。アシスタントの説明と返されたJSONは、別個の出力です。
評価では、この流れに判断ゲートを設けます。引数を検証し、権限を確認し、許可された操作だけを実行し、完全性とエラーを調べてから要約します。これらは提案するワークフロー上の制御であり、MCPが自動的に提供する保証ではありません。
ツールの応答や取得した文章はデータとして扱ってください。その文章が要求しているというだけで、新たな認証情報、無関係なダウンロード、公開を許可してはなりません。
MCP、API、エージェント、Skillsは異なるレイヤー
APIはサービスに対するプログラム用インターフェースを提供します。MCPラッパーは、そのAPIを発見可能なツールの背後に配置できますが、アクセス要件やデータ条件を置き換えるものではありません。ホスト型MCPエンドポイントは運用されているサービスです。サーバーのソースコードをダウンロードしても、そのサービスの設定や保証が再現されるわけではありません。
エージェントとは、どの手順をいつ実行し、いつ停止するかを決めるシステムです。ツールを公開するサーバーが自律的な研究者とは限りません。NovoMCPはさらにオーケストレーションについて説明している一方、いくつかのデータベースサーバーは主に検索インターフェースを提供します。
Agent Skillは、Agent Skillsの概要に従い、手順を記した説明をSKILL.mdにまとめ、必要に応じてスクリプトや参照資料を含めます。提案するSkillによって、化学的証拠を調べ、MCPツールを呼び出す方法をエージェントに指示できます。これらの説明を読み込んでも、RDKitがインストールされるわけではなく、API認証情報が提供されるわけでも、オプションのシミュレーションサービスが利用可能になるわけでもありません。ホストによってSkillsのサポートも異なります。
レイヤー全般の比較についてはMCP、Skills、エージェント、APIを参照してください。このガイドでは、MCP接続の理解と評価に焦点を当てます。
9つのMCP実装:タスクと境界
プロジェクト名に「MCP」が含まれているかどうかではなく、操作と科学分野に基づいて選んでください。以下は情報源に記載された機能であり、組み合わせのテスト結果でも、上流データベースによる推奨でもありません。
| 分野と実装 | 文書化されている入力と出力 | 重要な境界 |
|---|---|---|
| ケモインフォマティクス:RDKit MCP Server (TandemAI) | RDKit関数を公開し、ツール一覧、OpenAI搭載のCLIクライアント、評価スイートを含む | RDKitを包括的にカバーすることは目標であり、実証済みの範囲ではありません。実際のツール一覧を確認してください |
| 分子表示:ChemCP | render_moleculeがSMILESを受け取り、RDKit.jsが埋め込みインターフェースで2D図と記述子を生成 |
対話型表示にはMCP AppsのサポートとCDNアクセスが必要です。別個の名称解決サービスがあるとは確認されていません |
| タンパク質アノテーション:UniProt MCP (cyanheads) | クエリや識別子から、アノテーション、マッピング、分類、プロテオームメタデータ、配列を取得 | マッピングではチケットのポーリングが必要な場合があります。大きなエントリーでは区分ごとの追加取得が必要な場合があります |
| タンパク質構造:RCSB MCP (cnyambura) | PDB識別子やエンドポイントのクエリからメタデータを取得し、ダウンロードではステータスとローカルパスを返す | 生物種検索が提供するのは手順であり、検索済みの一致項目ではありません。ダウンロードはファイルを書き込みます |
| 文献:PubMed MCP (cyanheads) | クエリや論文識別子から、メタデータ、抄録、利用可能な全文、参考文献を取得 | 全文を利用できない場合や、切り詰められる場合があります。識別子変換の対象はPMC収載論文です |
| 材料:Materials Project MCP (benedictdebrah) | 元素の選択、物性フィルター、材料IDを使い、mp_apiを通じて構造と材料物性データを取得 |
Materials Project API keyが必要です。個別レコードとツール出力を確認してください |
| ELN記録:Benchling MCP (longevity-genie) | 検索語とプロジェクトまたはフォルダーのフィルターから、エントリー、配列、プロジェクト、エンティティを取得 | ワークスペース認証情報が必要です。記録の編集や機器制御は文書化されていません |
| 複数分野の初期評価:PocketScout MCP | 標的識別子と結合残基を用いて、既知部位、リガンド履歴、保存性、変異、文献を評価 | 既知部位の証拠を報告するもので、新規ポケットを予測するものではありません。生データとinterpretationは区別してください |
| 計算オーケストレーション:NovoMCP | SMILESベースのプロファイルと構成済みラッパーを使い、MCPとRESTを通じた幅広い計算ワークフローをサポート | ADMETや追加の計算機能はサービスに依存します。基本的なインストールで利用できるのは一部機能です |
これらの分野は、ケモインフォマティクス、文献調査、材料探索、科学データ取得、実験室データのワークフローにまたがっています。ELNへのアクセスは、物理的な実験室の自動化と同じではありません。ツールチェーンを拡張する前に、科学的タスクで研究目的を定めてください。
接続前に入出力契約を定義する
小規模で、独立に確認できるタスクから始めます。以下を記録してください。
- **入力:**正確な識別子、分子表現、フィルター、許容する曖昧さ。
- **出力:**必須フィールド、必要に応じた単位、ソース識別子、完全性の指標。
- **証拠:**比較に使う上流レコードまたは参照計算。
- **境界:**許可する操作と、禁止する書き込み、ダウンロード、外部への送信。
- **失敗時の応答:**証拠が欠けている、曖昧である、またはアクセスできない場合の返却内容。
この契約では、取得、計算、解釈を区別してください。分子では、自然言語のリクエストによって表現上の選択が曖昧にならないよう、塩、電荷、立体化学の扱いを決めます。タンパク質では、生物種とアイソフォームの期待を指定します。文献では、実際に実行したクエリを保持し、抄録と全文を区別します。
記録では、証拠の状態を3つに分けてください。文書化済みは情報源が機能を記載していること、提案中は接続やワークフローを計画していること、評価で観測済みは自分の環境で記録された実行結果が得られたことを意味します。ここでは観測された結果を主張していません。
提案例:公開タンパク質の証拠資料
**提案する評価であり、相互運用性が実証済みという意味ではありません:**UniProt MCP、RCSB MCP、PubMed MCPを使い、研究者が選んだ公開タンパク質アクセッション1件について、小規模な資料をまとめます。
- **同一性を確認する。**アクセッションと想定生物種をUniProtの取得機能に渡します。同一性、機能、出典情報、関連する相互参照を要求します。同一性が想定生物種と一致しない場合は、確認のために停止します。
- **構造の証拠を調べる。**返されたPDB相互参照は、人が確認した後にのみ選択します。RCSB MCPからエントリーとポリマーのメタデータを要求します。試験の初期段階では、ツールが開始するファイル書き込みを避けるため、構造のダウンロードを除外します。
- **引用情報を調べる。**選択したPubMed識別子のメタデータを取得します。抄録、利用可能な訂正または撤回へのリンク、欠落項目の報告を保持します。必要な場合に限り全文を要求し、提供元と切り詰めの有無を記録します。
- **範囲を限定した出力を作成する。**アクセッション、生物種、PDBエントリー、実験方法のフィールド、論文識別子、出典情報、未解決の不足項目を含む表を返します。ツールが返した事実とアシスタントの推論を分けます。
受け入れ基準は、アシスタントが説得力のある標的提案を行うことではありません。各フィールドが対応する元レコードと一致し、不足項目が見える状態に保たれているかを確認します。この取得契約を確立した後、PocketScoutを既知部位の初期評価に別途使うことはできますが、各コンポーネントを組み合わせるのは依然として提案段階です。
サーバーを選び、障害に意図的に対処する
選択したホスト、サーバーのリビジョン、プロトコル対応、トランスポート、認証、実行環境、バックエンド依存関係を確認します。制限のないツールレジストリより、必要な作業を行う1つのツールを優先してください。化学MCP選択ガイドで、次の選択フレームワークを確認できます。
起動前に、ドキュメントの食い違いを解消します。BenchlingのREADMEはデフォルトのHTTP起動方法を説明していますが、パッケージのエントリーポイントはSTDIO関数に対応しています。どちらかの動作を決めつけず、選択した起動経路を確認してください。UniProtのREADMEに記載された前提条件とパッケージマニフェストでは、Bunの最低バージョンが異なります。ローカルにデプロイする前に、選択したパッケージの要件を確認してください。
構造化された障害状態に応じて処理を分岐します。実行中のUniProtマッピングは再送信せず、チケットをポーリングします。完了したページの続きは別途取得します。概要が返された場合は、要求したセクションを取得します。バッチでは各項目の失敗を保持します。レート制限やタイムアウトが起きた場合は、回数を制限して再試行し、欠落レコードを作り上げずに取得が不完全であることを報告します。ChemCPビューアの障害は、分子が無効なためではなく、ホストやCDNの制限に起因する場合があります。
プライバシー、再現性、科学的限界
ファイルアクセス、外部接続先、コマンド実行、認証情報の範囲、ログ記録を整理します。ローカルサーバーであっても、外部データベースやモデルサービスを呼び出す場合があります。処理と保持のルールがわかるまでは、機密性の高い構造や未公開のELN記録を試験に使わないでください。NovoMCPの文書に記載されたローカルのデフォルト設定には認証がないため、ネットワークに公開しても適切だと見なしてはなりません。
ツール名、引数、サーバーのリビジョン、依存関係のバージョン、ソースのタイムスタンプ、生の出力、解釈を別々に記録します。障害や切り詰めの通知も保持してください。証拠記録の設計では、再現可能な化学AIを参照してください。
科学的限界は手法ごとに異なります。データベース検索は網羅的なカバーを証明しません。記述子は実験活性ではありません。PocketScoutによる局所コンテキストの保存性評価は、完全な多重配列アラインメントではありません。オプションのシミュレーションラッパーは、シミュレーション設定を検証しません。LLMベースの評価判定器は応答を評価できますが、科学的な参照情報による確認の代わりにはなりません。ソースを閲覧できることもライセンス上の権利を意味しません。NovoMCPではラッパーとオーケストレーションコアで適用範囲の異なる条件があり、取得データにも独自の条件があります。
ワークフローを拡張する前に:
- [ ] ホスト、クライアント、サーバー、バックエンド、ネットワーク境界を整理する。
- [ ] 入力、出力、参照証拠、停止ルールを定義する。
- [ ] 起動、トランスポート、実行環境、依存関係に関する不確実性を解消する。
- [ ] 必要な認証情報と権限だけを付与する。
- [ ] 範囲を限定した結果を元の証拠と比較する。
- [ ] 文書化済み、提案中、観測済みの区別を保持する。
- [ ] 書き込みや重大な結果を伴う操作を有効にする前に、その影響と復旧方法を確認する。
出典
プロトコルとSkillの定義は、MCPアーキテクチャのドキュメントとAgent Skillsの概要に基づきます。実装の機能と限界は、各プロジェクトのドキュメントに記載されています:RDKit MCP Server、ChemCP、UniProt MCP、RCSB MCP、PubMed MCP、Materials Project MCP、Benchling MCP、PocketScout MCP、NovoMCP。起動方法と実行環境の相違は、BenchlingのパッケージメタデータとUniProtのパッケージメタデータで確認できます。NovoMCPの適用範囲の違いは、トップレベルのライセンスとコアライセンスに記載されています。