cdxml-toolkit
This server is a chemistry-aware MCP toolkit with 35 tools for resolving structures, running controlled molecule operations, building editable ChemDraw/Office documents, and parsing experiment data.
Resolve chemical names, abbreviations, formulas, and CAS numbers into validated molecule descriptors (SMILES, formula, MW, IUPAC) via curated DBs, ChemScript, OPSIN, or PubChem.
Analyze and transform molecules through name surgery, SMARTS, and named reactions, with MCS-based structural diffs to verify changes.
Draw single molecules and multi-step reaction schemes as editable CDXML; render PNGs, clean/merge/polish layouts, and convert CDX/CDXML.
Parse reaction files, CDXML schemes, ELN exports, SciFinder RDF, LCMS/NMR PDFs, and images (DECIMER + OCR) into structured JSON.
Summarize reaction JSONs compactly to save context, and search compounds across experiment JSONs by Tanimoto similarity.
Extract, inspect, replace, and batch-embed editable ChemDraw OLE objects in PowerPoint/Word, and fill Office templates.
Compare molecules with ChemScript identity and RDKit fingerprints, batch-compare pairs, and execute controlled ChemScript SDK programs.
Assemble lab-book entries, analyze LCMS time series, discover experiment files, and diagnose local runtime capabilities.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cdxml-toolkitDraw a 3-step reaction scheme for the Boc deprotection from this image."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.

Platform support: Portable CDXML and RDKit workflows run on Windows, macOS, and Linux. ChemDraw COM rendering, ChemScript, and editable ChemDraw objects in Word or PowerPoint require a Windows host with a licensed desktop ChemDraw installation.
A real editable scheme
The repository produces native chemistry artifacts, not screenshot-only output. The reaction below was exported directly from the editable CDXML through ChemDraw COM; its YAML description and PNG render are retained beside the source:
YAML source · Editable CDXML · Native PNG · More scheme examples
Related MCP server: CovAiLent
What it provides
Area | Practical result |
Chemistry grounding | Resolve names, abbreviations, CAS numbers, formulas, and recognized image candidates through databases, ChemScript, OPSIN, or DECIMER. |
Controlled structure work | Compare molecules, apply named transformations, preserve stereochemistry, and inspect MCS-based structural differences. |
ChemDraw output | Draw molecules, clean or merge schemes, convert CDX/CDXML, and render native PNG or SVG files. |
Office workflows | Extract, replace, and batch-embed editable ChemDraw OLE objects in PowerPoint and Word. |
Experiment workflows | Parse ELN exports, SciFinder RDF, LCMS or NMR reports, and assemble structured lab-book material. |
Agent service | Run through stdio locally or authenticated Streamable HTTP for a trusted remote computer. |
Quick start
Required: 64-bit Python 3.10–3.13. Portable CDXML and RDKit operations run without ChemDraw. Native rendering, ChemScript, and editable Office objects require Windows plus a licensed desktop ChemDraw installation. Python 3.14 is not supported yet.
conda create -n cdxml python=3.12 pip -y
conda activate cdxml
git clone https://github.com/ZiChenWang114514/cdxml-toolkit-community.git
Set-Location .\cdxml-toolkit-community
# Both distributions expose the cdxml_toolkit import package.
pip uninstall -y cdxml-toolkit
pip install -e ".[all]"
# Read-only environment and capability report.
cdxml-doctor --no-testsThe default installation includes the portable CDXML, RDKit, and MCP runtime. Optional groups are windows, office, chemscript, analysis, image, decimer, opsin, http, all, and dev.
Install the current community source directly when a checkout is unnecessary:
pip install "cdxml-toolkit-community[all] @ git+https://github.com/ZiChenWang114514/cdxml-toolkit-community.git@main"cdxml-doctor --no-tests does not change the machine. To detect ChemDraw and prepare a compatible ChemScript environment interactively, run:
cdxml-doctor --no-tests --configure-chemscript
cdxml-doctor --jsonChemScript is optional. OPSIN provides offline IUPAC name resolution when Java is available. The wheel does not bundle a JRE; the runtime first checks JAVA_HOME and java on PATH. A pre-approved local archive can be installed with explicit integrity metadata:
$env:CDXML_TOOLKIT_JRE_ZIP = "C:\installers\temurin-jre.zip"
$env:CDXML_TOOLKIT_JRE_SHA256 = "approved sha256"
cdxml-doctor --no-testsArchive size, extracted size, paths, links, and optional SHA-256 are checked before installation.
Connect an agent
The codex profile exposes all 35 tools. Start a local stdio server directly:
cdxml-mcp --profile codexFor Codex, add the server to %USERPROFILE%\.codex\config.toml and replace the Python path with the interpreter from the cdxml environment:
[mcp_servers.chemdraw]
command = "C:\\Users\\YOU\\miniconda3\\envs\\cdxml\\python.exe"
args = ["-m", "cdxml_toolkit.mcp_runtime", "--profile", "codex"]
startup_timeout_sec = 120
tool_timeout_sec = 600Restart the agent, then try:
Resolve aspirin, draw it as CDXML, and render a PNG preview.Add the server under mcpServers in %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"cdxml-toolkit": {
"command": "C:\\Users\\YOU\\miniconda3\\envs\\cdxml\\python.exe",
"args": ["-m", "cdxml_toolkit.mcp_runtime", "--profile", "codex"]
}
}
}The same process-based configuration works with other MCP-compatible agents.
Copy CLAUDE.md into an agent workspace when the client supports project instructions. It tells the agent to obtain molecular structures from tools, use OCSR for images, preserve chemical semantics, and verify transformations instead of inventing structure strings.
How the runtime works
Important runtime properties:
Tool calls run in subprocess workers with configurable hard timeouts and structured errors.
ChemDraw, Word, and PowerPoint automation share serialized native-resource coordination.
Output-producing tools validate artifacts and avoid unintentionally replacing existing files.
Metrics record counts, duration, timeouts, worker failures, and queue length without tool arguments or molecular content.
get_toolkit_capabilitiesreports the available local features before an agent chooses a workflow.
Tool profiles
Choose the smallest useful profile to reduce tool-selection noise:
Profile | Tools | Focus |
| 16 | Compatible core tools plus capability discovery |
| 21 | Office inspection, replacement, templates, and batch embedding |
| 20 | Experiment discovery, LCMS series, lab books, and SciFinder RDF |
| 20 | Molecule comparison and controlled ChemScript SDK access |
| 35 | Complete local and remote collection |
The generated MCP tool reference and JSON schema contain the exact live signatures. CI checks both files for drift.
Streamable HTTP
Stdio remains the local default. An activated Windows workstation can serve a trusted remote computer after installing the http extra:
$env:CHEMDRAW_MCP_HTTP_API_KEY = "generate-a-long-random-value"
cdxml-mcp --transport streamable-http --host 0.0.0.0 --port 8029 `
--allowed-host chemdraw-host.example:8029 `
--allowed-origin https://trusted-client.exampleRemote binding requires a bearer key and an explicit host list. /health contains no molecule data; /metrics requires authentication when the server is remotely reachable.
DECIMER image upload is disabled by default. Remote recognition requires confirm_upload=true, validates that the payload decodes as an image, and enforces request and response limits.
Command line
Command | Purpose |
| Complete MCP runtime; 35-tool |
| Compatible 15-tool core server |
| Read-only diagnostics, tests, and explicit ChemScript setup |
| Render JSON, YAML, or compact text to CDXML |
| Render CDXML to PNG or SVG |
| Merge schemes or clean reaction layout |
| Embed editable ChemDraw objects in PPTX or DOCX |
| Parse instrument reports |
| Regenerate the Markdown and JSON tool references |
The scheme renderer accepts YAML, reaction JSON, and a compact text syntax described in the showcase catalog.
Development
python -m pip install -e ".[dev,windows,office,analysis,image]"
python -m pytest -m "not network" -q
python -m build
python -m twine check dist/*Hosted CI checks Python 3.10–3.13, MCP SDK 1.x and 2.x, generated references, portable tests, and distributions. Native ChemDraw, ChemScript, Word, and PowerPoint checks run on a licensed Windows workstation.
Read the contribution guide, security policy, and maintenance guide before proposing or releasing changes.
Community stewardship
This repository continues leehiufung911/cdxml-toolkit. The distribution is cdxml-toolkit-community; the compatible Python import remains cdxml_toolkit.
Community maintainer: ZiChenWang114514
Original author: Hiu Fung Kevin Lee (@leehiufung911)
Third-party data and component notices: NOTICE.md
License: MIT
The original project was directed by Hiu Fung Kevin Lee, a PhD organic chemist, and documented as built and tested with Claude Code (Opus 4.6).
Maintenance
Related MCP Servers
AlicenseNot gradedqualityCmaintenanceChemMCP is an easy-to-use and extensible chemistry toolkit for LLMs and AI assistants, enabling molecular analysis, property prediction, and reaction synthesis tasks without domain-specific training.70Apache 2.0- AlicenseNot gradedqualityDmaintenanceAn MCP server for chemistry-focused tools, enabling LLM agents to perform molecule parsing, format conversion, property lookup, and other chemistry operations with explainable responses.Apache 2.0
- FlicenseBqualityDmaintenanceProvides computational chemistry tools for LLMs, enabling molecular operations like SMILES processing and geometry manipulation via a modular agent and tool system.9
- AlicenseNot gradedqualityAmaintenanceEnables 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.8Apache 2.0
Related MCP Connectors
AI-powered bioprotocol optimization — generate, search, and manage lab protocols via MCP
Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
Codebase intelligence for agents: 152 structured artifacts across 21 programs, one call.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ZiChenWang114514/cdxml-toolkit-community'
If you have feedback or need assistance with the MCP directory API, please join our Discord server