
ChemCP
io.github.scottmreed由 GitHub 账号 scottmreed 发布v1.1.0更新于 Oct 24, 2026
MCP App that renders 2D molecular structures from SMILES using RDKit.js
概览
一个本地 MCP 应用,可根据 SMILES 字符串在对话中渲染可交互的二维分子结构图,并显示计算出的分子属性。
- 可以做什么
- 渲染分子:把 SMILES 字符串转成对话内可交互查看器中的二维结构图,提供示例分子和自行输入 SMILES 的输入框。显示计算属性:分子量、LogP、氢键供体与受体、TPSA、可旋转键和环数,由浏览器中的 RDKit.js 计算。对比分子:可并排渲染多个结构。在不支持 MCP Apps 的宿主中,工具只以文本返回 SMILES 数据,不显示图形。
- 适用场景
- 适合在聊天中查看或讲解化学结构,例如展示阿司匹林、咖啡因或苯环,比较不同分子,或在不另装化学信息学工具的情况下查看基本描述符。
- 运行要求
- 需要 Node.js 18 或更高版本,并在本地安装该 npm 包,在客户端中配置为 stdio 服务器。交互式查看器需要支持 MCP Apps 的宿主,例如 Claude Desktop;网页连接器方式为实验性,需要付费 Claude 套餐和公网隧道。RDKit.js 从 CDN 加载,首次加载需要联网。
安装
在 SourceWeft 中
- 打开 控制台中的 ChemCP,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
ChemCP - Molecule Viewer MCP App
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.
What you get
- 2D structure diagrams rendered from any valid SMILES string
- Molecular properties — molecular weight, LogP, H-bond donors/acceptors, TPSA, rotatable bonds, rings, and more
- Interactive UI — type your own SMILES, click example molecules, all without leaving the conversation
- Powered by RDKit (the same cheminformatics toolkit used by pharma and biotech)
For more functionality try: ChemIllusion
Prerequisites
- Node.js 18+ — download here
- Claude Desktop (recommended) or Claude.ai paid plan (Pro/Max/Team) — the interactive molecule viewer requires a host that supports MCP Apps
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.
Setup: Claude Desktop
Claude Desktop supports local MCP servers out of the box. No tunnels or remote hosting needed.
Step 1: Install ChemCP
Verify it installed:
(It will start the MCP server on stdio — you can Ctrl+C to stop it.)
Step 2: Configure Claude Desktop
Open your Claude Desktop config file:
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.
Step 3: Restart Claude Desktop
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).
Step 4: Try it out
Type a message like:
- "Show me the molecule for aspirin"
- "Render the structure of caffeine"
- "Display SMILES: CC(=O)Oc1ccccc1C(=O)O"
Claude will call the render_molecule tool, and an interactive molecule viewer will appear in the conversation showing the 2D structure and molecular properties.
Setup: Claude.ai (Web) — Experimental
⚠️ 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).
Step 1: Install and start the server
Start in HTTP mode:
This starts the server on http://localhost:3001/mcp.
Step 2: Expose with a tunnel
In a separate terminal, create a public tunnel to your local server:
Copy the generated URL (e.g., https://random-name.trycloudflare.com).
Step 3: Add as a custom connector in Claude.ai
- Go to claude.ai
- Click your profile picture (bottom-left)
- Go to Settings > Connectors
- Click Add custom connector
- Paste your tunnel URL +
/mcp(e.g.,https://random-name.trycloudflare.com/mcp) - Give it a name like "ChemCP"
- Save
Step 4: Try it out
Start a new chat and ask Claude to show you a molecule:
- "Show me the structure of ibuprofen"
- "What does benzene look like? Render it for me"
- "Render SMILES: CN1C=NC2=C1C(=O)N(C(=O)N2C)C"
The interactive molecule viewer will render directly in the chat.
Example prompts
Once connected, try these:
Example SMILES
Troubleshooting
"I don't see the molecule viewer, just text"
The interactive UI only works in hosts that support MCP Apps:
- Claude Desktop (latest version)
- Claude.ai (web, with custom connector)
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.
"Tool not found" or ChemCP not listed
- Claude Desktop: Make sure you restarted the app after editing the config file. Check that
npx chemcpworks in your terminal. - Claude.ai: Make sure the tunnel is still running and the connector URL ends with
/mcp.
"RDKit.js failed to load from CDN"
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:
- No internet connection (RDKit.js loads from
unpkg.com, ~8 MB) - CDN is blocked by your network firewall
- First load timeout — reload the chat and try again
Node.js version
ChemCP requires Node.js 18 or higher. Check with:
For developers
Local development
Project structure
How it works
- Claude calls the
render_moleculetool with a SMILES string - The server returns the SMILES to the MCP App UI
- The UI loads RDKit.js (WebAssembly) in the browser
- RDKit parses the SMILES and renders a 2D SVG structure diagram
- Molecular descriptors (MW, LogP, TPSA, etc.) are computed client-side
- Everything displays in a sandboxed iframe inside the chat
Testing with the basic-host
The ext-apps repository includes a test host for MCP App development:
Links
- npm package
- MCP Registry
- MCP Apps documentation
- RDKit.js
- ChemIllusion — for more complex molecule interactions
来源:README.md,提交 fb1c28e
工具
0版本历史
1- v1.1.0最新Sep 16, 2026
评分
已满足适用检查项的 40%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
请在仓库或注册中心条目中声明许可证。