課題別チュートリアル

ローカルMCPで化学名からSMILESを取得する

ローカルMCPプロセスから化学名を1つPubChemへ送り、返った異性体SMILESを出典と一緒に残します。

作るもの

ローカル構造解析の前に、アスピリンのPubChem由来SMILES取得記録を残すこと。

手順

  1. ソースcheckoutからローカルMCPサーバーを起動します。
  2. 下のレガシーJSON-RPC要求で化学名を送ります。
  3. 出典とSMILESを確認し、その正確な文字列をローカルの解析または物性ツールへ渡します。
git clone https://github.com/kent-tokyo/chematic.git
cd chematic
printf '%s\n' \
  '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{}}}' \
  '{"jsonrpc":"2.0","method":"notifications/initialized","params":{}}' \
  '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"name_to_smiles","arguments":{"name":"aspirin"}}}' \
  | cargo run -p chematic-mcp --release --quiet

期待する結果

応答には入力名、出典としてのPubChem、アスピリンではCC(=O)OC1=CC=CC=C1C(=O)Oが含まれます。

うまくいかないとき

name_to_smilesは、20個のMCPツールのうちネットワーク通信を行う唯一のツールです。化学名はPubChemへ送られ、要求には10秒のタイムアウトがあります。返ったSMILESは検索結果であり、同定・安全性・入手可能性・実験的妥当性の証明ではありません。

次の行動

ローカルMCP連携の案内を読む