Skip to main content
Glama

ChemDraw MCP Server (DSH plugin)

Build chemical structures in ChemDraw via COM: arbitrary atoms/bonds or quick benzene derivatives, export PNG/CDXML/MOL. DSH plugin wrapping a stdio MCP server.

Windows only. These servers drive the real commercial applications through COM automation — the target software must be installed and licensed on the machine.

Verified on

ChemDraw 2023 (x64 ProgID ChemDraw_x64.Application). lib/chemdraw2023.py wraps ChemDrawBase.dll v22 typelib.

Related MCP server: chemdraw-mcp

Tools

  • chemdraw_structure — atoms [[x,y,'C']...], bonds [[i,j,order]...], labels {'0':'OH'}, save formats

  • chemdraw_benzene — ring + top/bottom substituents shorthand

Outputs are written to {cwd}/lab-out/ (override with env LAB_OUT_DIR). First call cold-starts the application and can take 30–120 s.

Requirements

  • Windows + Python 3.10+ with pywin32 (pip install pywin32)

  • The target application installed and COM-registered

Install as a DSH plugin

dsh plugin --profile web add <path-or-git-url>

The bundled cordis.patch.yml registers the server through @deepseek-ai/dsh-mcp-client; tools appear as mcp__chemdraw__*.

Manual MCP client config (Claude Desktop etc.)

{
  "mcpServers": {
    "chemdraw": {
      "command": "python",
      "args": ["<abs-path>/server/server.py"]
    }
  }
}

Point command at your real interpreter (on Windows avoid the Microsoft Store python.exe stub).

Layout

server/server.py     stdio MCP server (JSON-RPC 2.0)
lib/*.py             helper module + makepy typelib wrappers (self-contained)
cordis.patch.yml     DSH bundle patch

Regenerating makepy wrappers

If your app version differs, rebuild the typed wrapper and drop it into lib/:

python -m win32com.client.makepy -o lib/<wrapper>.py "<path-to-tlb-or-dll>"

(See each repo's README notes for the exact typelib location.)

Caveats learned the hard way (already handled in code)

  • COM points must be VT_ARRAY|VT_R8 VARIANTs; some methods need the typed wrapper.

  • ChemDraw Position returns a copy — writeback required (handled in cd_helper).

  • AutoCAD modal dialogs freeze the COM pump; cad_helper ships close_modal_dialogs().

  • stdout is forced UTF-8 (GBK consoles corrupt JSON-RPC frames otherwise).

License

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables intelligent identification and validation of compound data from documents and images, then automatically draws compound structures using local ChemDraw software with academic formatting.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables generation of chemical structures, reactions, spectra, titration curves, 3D models, and more from natural language or SMILES, using RDKit for offline rendering and supporting formats like PNG, SVG, CDXML, and Anki decks.
    331 PyPI
    13
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Connects AI assistants to a live ChemDraw window on Windows via COM automation, enabling drawing, editing, and organizing chemical structures directly in the open document. Supports structure insert/export, scope tables, shorthand groups, figure layout, chemistry QC, publication tools, annotations, polymer brackets, and TLC plates.
    1
    MIT