ChemCP

Provides an MCP server to render 2D molecular structures from SMILES with RDKit.js and show molecular properties.
  • typescript

0

GitHub Stars

typescript

Language

4 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs

ChemCP is an MCP App that renders interactive 2D molecular structure diagrams from SMILES notation using RDKit.js. You can ask your AI assistant to show any molecule, and ChemCP displays the structure with computed properties right inside the chat, making molecular exploration quick and visual.

How to use

You connect an MCP client to the ChemCP server to render molecules inside your chat. The server accepts a SMILES string and returns an interactive 2D structure SVG along with molecular properties such as molecular weight, LogP, hydrogen bond donors and acceptors, topological polar surface area, rotatable bonds, rings, and more.

How to install

Prerequisites you need before installing ChemCP.

• Node.js 18+ install from the official site.

• A compatible MCP host (Claude Desktop is recommended for best support). Claude.ai is experimental for MCP Apps.

npm install -g chemcp

Verify installation by checking the help output. This starts the MCP server in stdio mode.

chemcp --help

Configuration for MCP clients

Two primary ways to connect ChemCP to your chat client are described here. Use the method that matches your environment.

  1. Claude Desktop (recommended) — local MCP server support with a built-in host. You add ChemCP to the MCP servers configuration so Claude Desktop can load the viewer inside chats.
{
  "mcpServers": {
    "chemcp": {
      "command": "npx",
      "args": ["chemcp"]
    }
  }
}

Using the server with Claude Desktop

Install ChemCP globally and ensure the MCP server is accessible to Claude Desktop.

npm install -g chemcp
chemcp --help

To configure Claude Desktop, edit your ClaudeDesktop config file and add the MCP entry shown above under mcpServers. After saving, restart Claude Desktop to recognize ChemCP.

## Using the server with Claude.ai (Web) — experimental

Claude.ai can connect to remote MCP servers through custom connectors. This path is experimental and CSP restrictions may affect loading the RDKit.js runtime. For the best experience, use Claude Desktop.

Start ChemCP in HTTP mode to expose a web endpoint you can tunnel to.

npm install -g chemcp


```bash
chemcp --http

This serves the MCP endpoint at http://localhost:3001/mcp.

## Example prompts

Use natural language prompts to request molecule renders once the MCP server is connected.

Examples include prompts like render requests or SMILES inputs.

Examples you can try in a chat: render the molecule for aspirin, display SMILES: CC(=O)Oc1ccccc1C(=O)O, show caffeine, or ask for the structure of benzene.

## Example SMILES

The following table maps molecules to SMILES strings.

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@HC@@H[C@@H]1O"

## Troubleshooting

If you do not see the molecule viewer and only see text, ensure your host supports MCP Apps. Claude Desktop supports MCP Apps fully; Claude.ai via custom connectors is experimental.

If the tool is not listed or shows as missing, restart Claude Desktop after editing the config. In Claude.ai, ensure the tunnel URL ends with /mcp and the connector is correctly configured.

If RDKit.js fails to load in Claude.ai, CSP restrictions may be the cause. Use Claude Desktop for a stable experience. In Claude Desktop, network issues or CDN blocks can prevent RDKit.js from loading; try refreshing or checking network access.

ChemCP requires Node.js 18 or higher. Check your version with node --version.

## For developers

You can explore or contribute to the server, UI, and tool integration. The server registers render\_molecule as an MCP tool that accepts SMILES strings and serves a UI that displays the 2D structure using RDKit.js.

## Available tools

### render\_molecule

Renders a 2D SVG diagram of a molecule from a SMILES string and computes descriptors such as molecular weight, LogP, hydrogen bond donors/acceptors, TPSA, rotatable bonds, and ring counts.
Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational