AgentStack
MCP verified Apache-2.0 Self-run

Chemdraw Mcp

mcp-jurimaxam-dotcom-chemdraw-mcp · by jurimaxam-dotcom

MCP server for Claude: molecule names or SMILES → publication-style 2D structure drawings (PNG/SVG, offline via RDKit), reaction schemes, curved-arrow mechanisms and schematic spectra. Optional ChemDraw CDXML export — unofficial, not affiliated with Revvity.

No reviews yet
0 installs
9 views
0.0% view→install

Install

$ agentstack add mcp-jurimaxam-dotcom-chemdraw-mcp

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Chemdraw Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

chemdraw-mcp

[](https://github.com/jurimaxam-dotcom/chemdraw-mcp/actions/workflows/ci.yml) [](https://github.com/jurimaxam-dotcom/chemdraw-mcp/releases) [](LICENSE)

Chat → chemical structure. An MCP server for Claude Desktop that turns molecule names or SMILES into publication-style 2D structure drawings — "draw aspirin" produces a print-ready PNG/SVG, rendered fully offline with RDKit. No ChemDraw required; ChemDraw CDXML is available as an optional extra format for users who want to keep editing there.

Built for pharmacy/chemistry students who spend too much time clicking hexagons: structures, full reaction schemes, step-by-step mechanisms, substance data sheets and Ph.Eur. assay calculations — straight from the chat, with an interactive preview panel rendered inline.

Example output

"Draw caffeine" — print-ready PNG, generated by generate_molecule:

"Show the Fischer esterification of ethanol with acetic acid"generate_reaction renders the scheme with conditions above the arrow, live in the chat panel:

"Show the Fischer esterification mechanism step by step"generate_mechanism renders curved electron-flow arrows in the interactive panel:

"Sketch the IR spectrum of ethyl acetate"generate_spectrum (draws the peaks it is given, with per-type axis conventions):

"Show caffeine in 3D"generate_3d embeds the molecule (ETKDG + force field) and opens a drag-to-rotate ball-and-stick viewer in the chat panel:

"What distinguishes ibuprofen from naproxen and ketoprofen?"compare_molecules keeps the shared scaffold (MCS) neutral and highlights everything that differs:

"Titration curve of phosphoric acid with NaOH, phenolphthalein as indicator"generate_titration_curve computes pH from the exact charge balance, with equivalence points, buffer points (pH = pKa) and the indicator band; its sibling generate_species_distribution shows which protonation species dominates at every pH:

"Create an Anki deck with important molecules and open it in Anki"export_anki_deck / export_curated_deck build a ready-to-import .apkg with rendered structures embedded; with the optional AnkiConnect add-on the cards land straight in the running Anki, no clicks:

Features

  • generate_molecule — name/SMILES → 2D structure as PNG + SVG

(optionally CDXML), with properties, functional-group detection and a Lipinski rule-of-five check

  • generate_reaction — educts + products + conditions → reaction scheme
  • batch_generate — a whole list of structures in one call
  • generate_mechanism — curved-arrow mechanisms (SN1, SN2, Fischer

esterification) step by step

  • generate_spectrum — schematic spectra from peak lists (IR, NIR,

Raman, UV/Vis, fluorescence, ORD, CD, ¹H/¹³C NMR, MS) with per-type axis conventions — draws given peaks, does not predict spectra

  • export_anki_deck — exam-prep flashcards as a ready-to-import

Anki .apkg: structure↔name drills (optionally reversed: one note, both directions), cloze/fill-in-the-blank cards, identity/detection reactions, spectrum band assignment — with rendered images embedded, per-card tags, Parent::Child subdecks; re-exporting a deck updates cards instead of duplicating them. Optional delivery straight into the running Anki via the AnkiConnect add-on

  • export_curated_deck — small, formula-verified starter decks

(classic analgesics, Ph.Eur. identity reactions)

  • generate_titration_curve — pH vs. titrant volume from the exact

charge balance, with equivalence points, buffer points (pH = pKa) and indicator transition band

  • generate_species_distribution — protonation species fractions

over pH (Henderson-Hasselbalch) with pKa crossovers marked

  • compare_molecules — 2-4 structures side by side, differences

highlighted, shared scaffold (MCS) neutral

  • generate_3d — rotatable 3D ball-and-stick conformer in the chat

panel (ETKDG + force field) plus SDF export; stereo descriptors (R/S, E/Z) available on 2D drawings via annotate_stereo

  • lookup_* — substance data from PubChem, ChEBI, KEGG and UniProt

(properties, GHS safety, pathways)

  • calculate_validation — Ph.Eur.-style content determination with full

calculation steps, t-test/F-test statistics

  • Interactive in-chat UI (MCP App): hover atoms, inspect functional

groups, export PNG with one click

  • macOS ChemDraw bridge (optional): open any generated structure directly

in ChemDraw via open_chemdraw_file

Installation

Option 1 — straight from PyPI (needs uv): add this to your Claude Desktop config (claude_desktop_config.jsonmcpServers):

"chemdraw": {
  "command": "uvx",
  "args": ["chemdraw-mcp"]
}

Option 2 — one-command installer (clones the repo and registers the server in Claude Desktop automatically):

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

Both are idempotent and leave existing MCP servers untouched. Restart Claude Desktop, then ask: "draw caffeine".

Optional: with a Java runtime installed (e.g. brew install openjdk), systematic IUPAC names — including ones no database indexes — are parsed offline via OPSIN. Without Java the server falls back to the PubChem/NCI online lookup.

How it works

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)

Development

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

~400 tests, written test-first. The e2e test rasters a real RDKit SVG in headless Chromium and compares it against an exact pixel snapshot.

License

Apache-2.0 — see [LICENSE](LICENSE). Copyright 2026 jurimaxam-dotcom.

> Disclaimer: This is an unofficial, independent project, not affiliated > with or endorsed by Revvity. ChemDraw is a trademark of Revvity Signals > Software, Inc. This tool does not include or require ChemDraw; it can > optionally export files in the open CDXML format.

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.