ChemCP logo

ChemCP

Render interactive 2D molecular structures and computed properties from SMILES with RDKit.js inside MCP-compatible chat hosts.

Install ChemCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "chemcp": {
      "command": "npx",
      "args": [
        "-y",
        "cloudflared"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y cloudflared

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked Today.

Overview

The ChemCP MCP server accepts SMILES notation through the `render_molecule` tool and displays an interactive 2D structure diagram. Its browser UI uses RDKit.js to parse molecules, generate SVG drawings, and calculate properties such as molecular weight, LogP, TPSA, and hydrogen-bond counts. Use it when an AI assistant needs to show or inspect chemical structures from names or explicit SMILES. Claude Desktop provides the supported interactive experience, while clients without MCP Apps support receive the SMILES data without the visual viewer.

Use cases

  • Render a molecule from a name or SMILES string
  • Inspect common molecular descriptors
  • Compare two or more molecular structures
  • Test SMILES examples in an MCP App interface

Key features

  • 2D structure rendering from SMILES
  • RDKit.js-based molecule parsing
  • Computed molecular descriptors
  • Interactive SMILES input
  • MCP Apps interface
  • stdio and HTTP server modes

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

7/7 checks healthy over the last 44d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 9d ago via OSV.dev · cloudflared (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars2Stargazers on the source repository.
npm downloads787kPackage downloads in the last 30 days.
Last commit8mo agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

How ChemCP works

What ChemCP does

The ChemCP MCP server turns a SMILES string into an interactive 2D molecular structure view. An AI assistant can call render_molecule after receiving a molecule name or an explicit SMILES value. The result is presented inside the conversation when the host supports MCP Apps.

Alongside the drawing, the interface shows calculated molecular descriptors. The documented properties include molecular weight, LogP, hydrogen-bond donors and acceptors, topological polar surface area, rotatable bonds, rings, and other available descriptors. Users can also enter their own SMILES values or select example molecules in the interface.

How it works

The server passes the supplied SMILES value to the MCP App UI. In the browser, RDKit.js loads as WebAssembly and parses the notation. The UI then creates an SVG representation of the molecule and calculates descriptors on the client side. The application runs in a sandboxed iframe within the chat host.

The ChemCP MCP server can run over local stdio for desktop use or HTTP for remote-connector and development scenarios. In HTTP mode, the documented endpoint is /mcp on port 3001 by default. A local HTTP instance can be exposed through a tunnel for use with Claude.ai custom connectors.

Setup and configuration

Node.js 18 or newer is required. Install the package globally with npm install -g chemcp. For Claude Desktop, add an mcpServers.chemcp entry that runs npx with chemcp as its argument, then restart the application.

The interactive viewer requires a host with MCP Apps support. The README recommends Claude Desktop. Claude.ai custom connectors are supported experimentally on paid Pro, Max, or Team plans; this setup requires starting ChemCP with chemcp --http and exposing the local endpoint through a public tunnel.

For local development, clone the repository, install dependencies, build the project, and run its HTTP serving script. The repository also documents testing with the MCP ext-apps basic host.

Tools and capabilities

  • render_molecule: accepts a SMILES string and supplies it to the molecule viewer.
  • Renders 2D molecular diagrams as SVG through RDKit.js.
  • Displays molecular weight, LogP, TPSA, hydrogen-bond counts, rotatable bonds, rings, and related descriptors.
  • Provides an interface for entering SMILES manually and selecting examples.
  • Supports comparing structures by asking the assistant to render multiple molecules.

Limitations and notes

Visual output depends on MCP Apps support in the client. Claude Code and other clients without that capability can still receive SMILES data as text, but the embedded viewer will not appear.

RDKit.js loads from unpkg.com, so the UI needs network access to the CDN unless the loading arrangement is changed. Firewalls, blocked CDNs, or an initial load timeout can prevent the library from starting. Claude.ai custom connectors may also impose content-security-policy restrictions; the README recommends Claude Desktop if RDKit.js fails there.

SMILES must be valid for RDKit.js to parse and render the molecule. The documented package does not list environment variables or additional runtime configuration.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about ChemCP

ChemCP is an MCP server that connects AI assistants to an RDKit.js-based molecule viewer through the `render_molecule` tool. It accepts SMILES notation, renders an interactive 2D structure, and calculates properties including molecular weight, LogP, TPSA, hydrogen-bond counts, rotatable bonds, and rings inside supported chat hosts.

Install it with `npm install -g chemcp`, then configure your MCP client to run `npx chemcp`. Node.js 18 or newer is required. Claude Desktop users must add the server to the application's MCP configuration and restart Claude Desktop.

Cursor is not named in the provided setup instructions, so its compatibility is not confirmed here. Clients without MCP Apps support may still receive the SMILES response as text, but they will not show the interactive molecule viewer.

The viewer may fail when the host lacks MCP Apps support, when `unpkg.com` is blocked, or when RDKit.js times out while loading. Claude.ai custom connectors can also have content-security-policy restrictions; the documented recommendation is to use the latest Claude Desktop.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewChemCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/chemcp?style=directory)](https://allmcps.com/mcp/chemcp)
HTML Embed
<a href="https://allmcps.com/mcp/chemcp"><img src="https://allmcps.com/api/badge/chemcp?style=directory" alt="ChemCP on AllMCPs" /></a>