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
    D
    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.
    1
    -
  • A
    license
    Not graded
    quality
    C
    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
  • A
    license
    C
    quality
    F
    maintenance
    Enables LLM agents to draw and edit ChemDraw reaction schemes, parse ELN exports and LCMS/NMR data, and generate publication-ready CDXML files through grounded chemistry tools.
    35
    3
    MIT