Skip to main content
Glama

chemdraw-mcp

CI Release License: Apache-2.0

チャット → 化学構造。 Claude Desktop 用の MCP サーバーです。分子、反応、実験結果を平易な言葉で説明すると、図を描画します。RDKit でローカルにレンダリングされた印刷可能な PNG/SVG に加え、チャット内でインタラクティブなプレビューも表示されます。「アスピリンを描いて」 はすでに完全なコマンドです。

薬学や化学の学生で、六角形をクリックするのに時間をかけすぎている人向けに作られています。レポートやスライドに実際に必要なものをカバーする 20 個のツールがあります。構造、反応スキーム、ステップバイステップの機構、基質スコープ図、TLC プレート、滴定曲線、模式スペクトル、物質データシート、Ph.Eur. 定量計算、Anki デッキなどです。

必要なものは、インストールコマンド 1 つだけです。Apache-2.0、API キー不要、サーバーへのサインアップ不要、ChemDraw ライセンスも不要です。必要なのは Claude Desktop と uv だけで、それ以外は一度だけ取得されます。レンダリングは完全にローカルで実行され、インターネットにアクセスするのは名前解決とデータベース参照のみです。ChemDraw CDXML は、そこで編集を続けたい人向けのオプションの追加形式であり、必須ではありません。

出力例

「カフェインを描いて」generate_molecule が生成した印刷可能な PNG:

「エタノールと酢酸のフィッシャーエステル化反応を示して」generate_reaction が、矢印の上に条件を付けたスキームをチャットパネルにライブでレンダリングします:

「フィッシャーエステル化機構をステップバイステップで示して」generate_mechanism が、インタラクティブパネルに曲線の電子フロー矢印をレンダリングします:

「私の鈴木カップリングのスコープ図を作って: 3a 92%、3b 88%(12 時間後)、3c 64%(ee 94%、dr 10:1)、3d 71%」generate_scope_table が、上部に一般式とその条件、その下に生成物を、共通の結合長と共通のキャプション基準線で配置します:

「酢酸エチルの IR スペクトルをスケッチして」generate_spectrum(与えられたピークを、タイプごとの軸の慣例に従って描画します):

「私のエステル化の TLC: 原料 0.30、生成物 0.65、共スポットは両方、原料が少し残っている」generate_tlc が、実験レポートが求めるプレートを、移動相と検出をキャプションとして描画します:

「カフェインを 3D で表示して」generate_3d が分子(ETKDG + 力場)を埋め込み、チャットパネルにドラッグで回転できるボール&スティックビューアを開きます:

「イブプロフェンとナプロキセン、ケトプロフェンの違いは?」compare_molecules が、共通の足場(MCS)を中性に保ち、異なる部分をすべて強調表示します:

「リン酸と NaOH の滴定曲線、指示薬はフェノールフタレイン」generate_titration_curve が、正確な電荷バランスから pH を計算し、当量点、緩衝点(pH = pKa)、指示薬の変色域を表示します。その姉妹ツール generate_species_distribution は、各 pH でどのプロトン化種が優勢かを示します:

「重要な分子を含む Anki デッキを作成して Anki で開いて」export_anki_deck が、レンダリングされた構造を埋め込んだ、インポート可能な .apkg を構築します。オプションの AnkiConnect アドオンを使用すると、カードは実行中の Anki に直接入り、クリック不要です:

Related MCP server: ChemCP

機能

サーバーが公開する全 20 ツール。ファイルは ~/ChemDraw-Output/ に書き込まれます。すべての描画ツールは、チャット内パネル用のライブプレビューも返します。

構造とスキーム

  • generate_molecule — 名前/SMILES → 2D 構造を PNG + SVG(オプションで CDXML)として出力。特性、官能基検出、Lipinski の Rule of Five チェック付き

  • batch_generate — 構造のリスト全体を 1 回の呼び出しで処理

  • generate_reaction — 原料 + 生成物 + 条件 → 矢印の上に条件を配置した反応スキーム

  • generate_mechanism — 曲線矢印の機構(SN1、SN2、フィッシャーエステル化)をステップバイステップで

  • generate_scope_table — 方法論文献の基質スコープ図: 上部に一般式とその条件、その下に生成物のグリッド。各生成物には識別子(「1a」)と収率(「78%」)、さらにオプションで ee/dr/時間。すべての構造は共通の結合長、すべてのキャプションは共通の基準線を共有。解決できないエントリは致命的ではなく報告される

  • compare_molecules — 2〜4 個の構造を並べ、違いを強調表示、共通の足場(MCS)は中性

  • generate_3d — チャットパネル内で回転可能な 3D ボール&スティック配座(ETKDGv3 + 力場)と SDF エクスポート

実験結果と分析

  • generate_spectrum — ピークリストからの模式スペクトル(IR、NIR、ラマン、UV/Vis、蛍光、ORD、CD、¹H/¹³C NMR、MS)を、タイプごとの軸の慣例に従って描画。与えられたピークを描くだけで、スペクトルを予測するものではない

  • generate_tlc — Rf 値からの TLC プレートのスケッチ: 下端にスタートライン、上端に溶媒フロント、各スポット(原料/反応/共スポット)にキャプション付きレーン、各スポットに Rf を注記、移動相と検出をキャプションとして印刷 — 実験レポートが求めるスケッチ

  • generate_titration_curve — 正確な電荷バランスからの pH 対 滴定剤体積。当量点、緩衝点(pH = pKa)、指示薬の変色域付き

  • generate_species_distribution — pH に対するプロトン化種の割合(Henderson–Hasselbalch)と pKa クロスオーバーをマーク

  • generate_calibration_curve — 標準液を通る最小二乗直線と、そこから読み取った未知試料。校正範囲外の試料は、静かに報告するのではなく外挿としてラベル付け。検出限界と定量限界(DIN 32645)も検証の質問に付随

ベンチ計算(数値 計算過程 — 実験レポートは両方を要求します)

  • calculate_solution — 秤量すべき量(m = c · V · M)、実際に得られた量、希釈(C₁V₁ = C₂V₂ で溶媒量を明記)、混合十字、CuSO₄·5H₂O のような水和物を含むモル質量。計算された量が分析天秤の分解能を下回る場合に警告 — その場合はより大きな量を希釈するのが正しい

  • calculate_content — プロトコルが求める定量: 各測定の含有量 → Grubbs 外れ値検定 → 平均、s、RSD → 表示含有量に対する t 検定。滴定(参照滴定からの力価決定を含む)と光度測定、さらに油脂特性(酸価、けん化価、エステル価、ヨウ素価)と Karl Fischer 水分を追加の method として

  • calculate_ph — 弱酸・強酸・弱塩基・強塩基、緩衝液、秤量可能な質量までの緩衝液レシピ。正確な電荷バランスで解き、教科書の近似式を横に表示。両者が一致しない場合、近似式はその前提を失っていると明示。10⁻⁸ M HCl は pH 6.98 であり、8 ではない

物質データ(オンライン参照)

  • lookup — 質問ごとに 1 つの topic でテキストとして事実を返す: properties(分子式、質量、CAS、InChIKey — デフォルト)、safety(GHS 危険有害性情報、ピクトグラム、注意喚起語)、physical(融点/沸点、溶解度、密度)、biochem(ChEBI 分類と関連 UniProt エントリ)、pathway(KEGG からの代謝経路)

  • lookup_molecule_data — PubChem + GHS を 1 つのデータシートに統合し、チャット内パネル用に構造も含めて表示

  • predict_spectrum — 構造が示すべき IR バンド(強度とバンド形状付き)、測定波数が何に属する可能性があるか、¹H シグナルがいくつ期待されるかとその積分比。決定的なので、できないことも明言: 化学シフト(ppm)は提供せず、ジアステレオトピックなプロトンは 1 つのシグナルとして数える

試験対策

  • export_anki_deck — インポート可能な Anki .apkg としてフラッシュカードを作成: 構造↔名前のドリル(オプションで逆方向: 1 ノートで両方向)、穴埋めカード、同定/検出反応、スペクトルバンドの割り当て — レンダリングされた画像を埋め込み、カードごとのタグ、Parent::Child サブデッキ付き。デッキを再エクスポートすると、カードを複製せずに更新。オプションで AnkiConnect アドオン経由で実行中の Anki に直接配信。独自のカードの代わりに curated_deck_id を渡すと、式検証済みのスターターデッキ(古典的な鎮痛薬、Ph.Eur. 同定反応)を入手可能

各ツールは 5 つの領域のいずれかに属します — 描画、実験グラフ、参照、計算、Anki — そして各ツールは「何に使わないか」を双方向で明示します。そのため「アスピリンを描いて」が基質スコープグリッドになることはなく、「私の緩衝液の pH は?」がプロットツールになることもありません。1 つのツールだけはその外側にあります: save_png はパネルのエクスポートボタンのサーバー側で、クリックしたときに呼び出され、単独では呼び出されません。

2 つのオプションのボールトツール(search_vaultread_vault_entry)は、CHEMDRAW_VAULT_PATH が設定されている場合にのみ表示されます。設定されていない場合、サーバーは上記の 20 ツールのみを公開します。

描画ツールのオプション

  • formats — デフォルトは ["png","svg"]generate_moleculegenerate_reactionbatch_generate ではさらに "cdxml" が加わります。図ツール(generate_scope_tablegenerate_tlcgenerate_spectrum)は、無意味なものを書き出す代わりに、明確なエラーを出して CDXML を拒否します。

  • abbreviate_groups=True — 一般的な置換基を、化学者が実際に書くラベル(Ph、Bn、OMe、OAc、tBu、CO₂H、Boc、Ts、TBS)として描画します。セルが小さくなるときに価値があります — 基質間で異なる部分だけが明記されるため、スコープ図は読みやすいままです。generate_moleculegenerate_reactiongenerate_scope_tablebatch_generate で利用できます。

  • render_style — レンダーパラメータの羅列ではなく、名前付きの外観を指定します。同じ4つのツールで使えます。"compact"(細い結合、ラベルサイズ上限、余白を詰める)は2段組レイアウトの小さな図用、"presentation"(結合幅2倍、最小フォントサイズ、余白を多め)は講義スライド用、"grayscale" は白黒印刷用で、赤と青が区別できない2つのグレーになるのを防ぎます。空の場合はデフォルトの外観のまま、変更されません。

  • annotate_stereo=True — 2D描画にCIP記述子(R/S、E/Z)を表示します(generate_moleculebatch_generate)。

インストール

3つの方法があります。1つ選んでください。方法1と2は設定に冪等にマージされ、事前にバックアップを取り、設定済みの他のすべてのMCPサーバーには触れません。その後、Claude Desktopを再起動して、「カフェインを描いて」 と尋ねてください。

方法1 — リポジトリをクローン(コードを読んだり変更したりしたい場合におすすめ。uvがなければインストールし、依存関係を同期し、サーバーを登録します):

git clone https://github.com/jurimaxam-dotcom/chemdraw-mcp.git
cd chemdraw-mcp && ./install.sh

方法2 — PyPIから、クローンなしuv が必要):

uv tool install chemdraw-mcp
chemdraw-install

chemdraw-install は、インストールされたランチャーの絶対パスを使ってClaude Desktopのエントリを書き込み、登録した起動コマンドを表示します。

方法3 — 設定を手で編集。 これを claude_desktop_config.jsonmcpServers の下に追加します(macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):

"chemdraw-tool": {
  "command": "/opt/homebrew/bin/uvx",
  "args": ["chemdraw-mcp"]
}

手動インストールを失敗させる唯一の落とし穴: Claude DesktopはログインシェルからMCPサーバーを起動しません — 最小限のGUI PATHを使用します。素の "uvx""uv" はそこで解決できず、サーバーは何も言わずに起動に失敗します。必ず、あなたの マシンで which uvx が出力する絶対パスを command に入れてください。方法1と2はこれを自動で行います。

オプションの追加機能

  • Javaランタイム(例: brew install openjdk)があれば、OPSIN が体系的なIUPAC名をオフラインで解析できます — データベースに索引がない名前も含みます。Javaがない場合、リゾルバーは単にPubChem/NCIのオンライン検索に進みます。

  • AnkiConnectアドオンがあれば、export_anki_deck がカードを実行中のAnkiに直接プッシュできます。ない場合は .apkg ファイルを受け取り、自分でインポートします。

  • ChemDraw(macOS)は決して必要ありません: formats=["cdxml"] をリクエストし、そこで編集を続けたい場合は自分でファイルを開いてください。

うまくいかないときは? ドクターを実行

chemdraw-doctor                            # after "uv tool install chemdraw-mcp"
uv run chemdraw-doctor                     # in the cloned repo
uvx --from chemdraw-mcp chemdraw-doctor    # without installing anything

これが最初に試すべきことです — 「サーバーが何もしない」を名前付きの原因に変えます。チャットでサーバーが死んでいるように見える6つの項目(RDKitレンダリング、Java/OPSINランタイム、uv パス、Claude Desktopエントリ、名前データベース、出力ディレクトリ)をチェックし、問題ごとに、それを修正する正確なコマンドを表示します。3つのレベルが区別されます: [OK][LIMITED](動作するが制限あり)、[FAIL](壊れている)。[NOTE] は、Claude Desktopがインストールされていないなど、単に該当しないチェックを示します。サーバーが使用可能である限り終了コードは0のままなので、スクリプトで実行できます。(PyPIインストールの場合、uv とClaude Desktopのチェックは [NOTE] を報告します — これらはリポジトリインストーラーに関連するものです。)

制限事項

あらかじめ明記しておきます。レポートで驚くことがないように:

  • Javaはオプションであり、それには代償があります。 JREがない場合、OPSINはスキップされ、名前はPubChem/NCI経由でオンラインで解決されます — つまり、名前の検索にはインターネット接続が必要で、それらのデータベースが索引化している名前に対してのみ機能します。SMILES入力はネットワークに触れません。

  • スペクトルは模式図です。 generate_spectrum は渡されたピークを、スペクトルタイプに応じた正しい軸の規則で描画します。何も測定せず、何も予測しません — ピーク値が計器ではなくチャットから来た場合は、レポートに入れる前に検証してください。

  • TLCの強度は描画上のヒントです。 オプションの intensity(0…1)は、スケッチ上のスポットを薄くします。これはデンシトメトリーではなく、定量的な意味を持ちません。

  • CDXMLは脇道です。 RDKit分子から書き出され、ラウンドトリップ検証されますが、PNG/SVGが主要な出力であり、ピクセルテストがカバーするものです。CDXMLはデフォルトでオフで、構造と反応スキームに限定されます — TLCプレート、スコープ図、スペクトルはそれを拒否します。

  • 3Dは1つのコンフォマーです。 generate_3d はETKDGv3で埋め込み、MMFF(フォールバックとしてUFF)で最適化します。これは眺めるためのもっともらしい幾何構造であり、コンフォメーション探索でもエネルギーに関する主張でもありません。

  • ChemDrawブリッジはmacOS専用で、ローカルにインストールされたChemDrawが必要です。それ以外はすべて、それがなくても動作します。

仕組み

name / SMILES
   │
   ▼
resolver ──► OPSIN (systematic IUPAC names, offline) ──► PubChem / NCI (names)  ·  direct parse (SMILES)
   │
   ▼
RDKit 2D coordinates ──► validation (sanity, round-trip)
   │
   ├──► image_export   → PNG + SVG files          (primary, offline)
   ├──► svg_renderer   → interactive chat preview (MCP App resource)
   └──► cdxml_writer   → ChemDraw CDXML           (optional, on request)

開発

Python 3.11以上、パッケージマネージャーは uv

uv sync                      # backend deps
cd chemdraw_tool/ui && npm install && npx playwright install chromium  # frontend, once
./test.sh                    # the gate: pytest + JS unit + headless-Chromium e2e

600以上のテストを、テストファーストで記述。e2eテストは、実際のRDKit SVGをヘッドレスChromiumでラスタライズし、正確なピクセルスナップショットと比較します — エクスポートパスとチャット内プレビューは、同じ描画定数に保たれています。

ライセンス

Apache-2.0 — LICENSE を参照。Copyright 2026 jurimaxam-dotcom.

免責事項: これは非公式の独立したプロジェクトであり、Revvityとの提携や承認を受けたものではありません。ChemDraw はRevvity Signals Software, Inc.の商標です。このツールはChemDrawを含まず、必要としません。オプションでオープンなCDXML形式でファイルをエクスポートできます。

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    B
    maintenance
    Enables chemical reaction predictions (retrosynthesis, product, reagents), molecule validation, and property calculation through the Model Context Protocol, integrating with AI assistants.
    5
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Renders interactive 2D molecular structure diagrams from SMILES notation and computes molecular properties like molecular weight, LogP, and TPSA, directly in the chat.
    1
    55
    1
    ISC
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides in-process RDKit cheminformatics operations — descriptors, fingerprints, similarity and substructure search, reaction enumeration, standardization, and 3D conformer generation — for AI agents.
    -