
live-chemdraw-mcp
by MALeitch
live-chemdraw-mcp
MCP server that connects AI assistants to a live ChemDraw window on Windows via COM automation — draw, edit, and organize structures directly in the document you have open.
Capabilities:
- Insert & export — SMILES, name, molfile, InChI, CDXML; export as an image, structure text, or straight to the clipboard
- Substrate-scope tables — build a whole scope figure in one call, sized for journal columns, with labels/yields placed under each structure
- Shorthand groups — detect and contract functional groups inline
(
chemdraw_contract_group: Ph, TES, Boc, Ts... ~40 groups, SMARTS-matched via RDKit), or contract/expand a whole structure to a single label, including a one-call bulk expand across the whole document - Figure layout —
chemdraw_describe_canvasgives one semantic read of a whole page (structures, captions matched to their owners, panel boxes, overlap/overflow violations);chemdraw_arrange_in_regionfits structures into a panel box in one call, captions riding along, nothing ever rescaled;chemdraw_get_layout/chemdraw_move_objectsfor raw-geometry plans with automatic collateral-movement detection - Chemistry QC — read/set stereochemistry (wedge/hash, "and1"/"or1" enhanced-stereo grouping), duplicate detection, valence warnings, IUPAC naming, HRMS text generation
- Publication tools — journal style presets, reaction schemes, and derivative-library enumeration with RDKit-computed properties
- Annotations — mechanism/reaction arrows (
chemdraw_make_arrow: solid/ hollow/angle heads, single-barb "fishhook" electron-pushing arrows, crossed-out "no-go" pathway markers, dipole markers) and symbols (chemdraw_make_symbol: racemic/absolute/relative stereo-descriptor labels; lone pairs/radicals/daggers also place but currently render at a tiny, apparently unscalable default size — see the tool's own docstring). Isotope labeling (chemdraw_edit_atom(..., isotope=13, ...)) survives export as real isotope notation, not just a ChemDraw-display label. Limitation: arrows/symbols are free-floating — moving a nearby structure withchemdraw_move_objects/chemdraw_transformwill NOT carry them along, the same class of gap already documented for captions below. Curved/arc arrows and true double-object ⇌ equilibrium-arrow pairs aren't supported yet — both were probed live and need more COM investigation before a design commitment (seedocs/com_typelib/) - Polymer repeat-unit brackets (
chemdraw_make_bracket: square/curly/ round glyph, SRU/monomer/copolymer/crosslink/... usage with ChemDraw's own auto-generated abbreviation label — "n"/"mon"/"xl"/etc.) wraps a structure (or an explicit rectangle) with an opening + closing bracket pair. Limitations, confirmed live, not solved: RepeatCount/SRULabel/ ComponentOrder cannot be set via COM at all (both get and put reliably raise); the pair's mirrored orientation ("[...]" vs two identically- oriented marks) is unreliable once a second bracket exists in one automation session — always check the exported image; brackets are purely decorative (not bound to real atom/bond membership despite ChemDraw exposing InsideAtoms/ContainedAtoms/CrossingBonds properties — confirmed these don't reflect true geometry) and share the same free-floating/doesn't-move-with-the-structure limitation as arrows/ symbols above - TLC plates (
chemdraw_make_tlc_plate: rectangular plate outline with labeled Rf-spot lanes for reaction-monitoring figures) — a spot's vertical position is driven entirely by itsrf(0-1) property, which ChemDraw itself interpolates between the plate's origin/solvent-front lines (confirmed live via
Related servers

n8n
by n8n-io
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
NOASSERTION★ 198,904

@modelcontextprotocol/server-everything
OfficialMCP server that exercises all the features of the MCP protocol
★ 89,105

@modelcontextprotocol/server-filesystem
OfficialMCP server for filesystem access
SEE LICENSE IN LICENSE★ 89,105