MCP App that renders 2D molecular structures from SMILES using RDKit.js
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
An MCP App that renders interactive 2D molecular structure diagrams from SMILES notation using RDKit.js. Ask your AI assistant to show you any molecule, and ChemCP displays the structure with computed properties β right inside the chat.
For more functionality try: ChemIllusion
Note: Claude Desktop has full MCP Apps support. Claude.ai custom connectors are experimental and may have CSP limitations that prevent RDKit.js from loading. If you see "RDKit.js failed to load" in Claude.ai, use Claude Desktop instead.
Claude Desktop supports local MCP servers out of the box. No tunnels or remote hosting needed.
Verify it installed:
(It will start the MCP server on stdio β you can Ctrl+C to stop it.)
Open your Claude Desktop config file:
| OS | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
Add ChemCP to the mcpServers section:
Tip: If you already have other MCP servers configured, just add the
"chemcp"entry alongside them inside the existing"mcpServers"object.
Quit and reopen Claude Desktop. You should see ChemCP listed in the MCP tools (click the hammer icon at the bottom of the chat input).
Type a message like:
Claude will call the render_molecule tool, and an interactive molecule viewer will appear in the conversation showing the 2D structure and molecular properties.
β οΈ Experimental: Claude.ai custom connectors have experimental MCP Apps support. CSP restrictions may prevent RDKit.js from loading. Use Claude Desktop for the best experience.
Claude.ai supports remote MCP servers via custom connectors. This requires a paid Claude plan (Pro, Max, or Team).
Start in HTTP mode:
This starts the server on http://localhost:3001/mcp.
In a separate terminal, create a public tunnel to your local server:
Copy the generated URL (e.g., https://random-name.trycloudflare.com).
/mcp (e.g., https://random-name.trycloudflare.com/mcp)Start a new chat and ask Claude to show you a molecule:
The interactive molecule viewer will render directly in the chat.
Once connected, try these:
| Prompt | What happens |
|---|---|
| "Show me aspirin" | Renders aspirin's 2D structure + properties |
| "Render SMILES: CCO" | Renders ethanol from its SMILES code |
| "What's the structure of testosterone?" | Claude provides the SMILES and renders it |
| "Compare the structures of caffeine and theobromine" | Renders both molecules side by side |
| Molecule | SMILES |
|---|---|
| Ethanol | CCO |
| Benzene | c1ccccc1 |
| Aspirin | CC(=O)Oc1ccccc1C(=O)O |
| Caffeine | CN1C=NC2=C1C(=O)N(C(=O)N2C)C |
| Testosterone | CC12CCC3C(C1CCC2O)CCC4=CC(=O)CCC34C |
| Glucose | OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O |
The interactive UI only works in hosts that support MCP Apps:
If you're using Claude Code (CLI) or another MCP client that doesn't support MCP Apps, the tool will still return the SMILES data as text, but the visual rendering won't appear.
npx chemcp works in your terminal./mcp.Claude.ai custom connectors: CSP limitations may prevent RDKit.js from loading when using custom connectors. Solution: Use Claude Desktop instead, which has full MCP Apps support.
Claude Desktop: If RDKit.js fails to load, this usually means:
unpkg.com, ~8 MB)ChemCP requires Node.js 18 or higher. Check with:
| File | Purpose |
|---|---|
server.ts | MCP server β registers render_molecule tool and serves the UI resource |
src/mcp-app.html | HTML entry point, loads RDKit.js from CDN |
src/mcp-app.tsx | React UI β initializes RDKit WASM, renders SVG from SMILES, computes descriptors |
bin/chemcp.js | npm bin entry point |
dist/ | Built output (compiled server + bundled single-file HTML) |
render_molecule tool with a SMILES stringThe ext-apps repository includes a test host for MCP App development:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/chemcp)<a href="https://allmcps.com/mcp/chemcp"><img src="https://allmcps.com/api/badge/chemcp?style=directory" alt="ChemCP on AllMCPs" /></a>