ChemGlyph MCP server
io.github.random-orbit/chemglyph·v0.2.0Publication-quality chemical structure and reaction rendering for AI agents.
0 stars272 downloads/wk
Reviews
Write oneNobody has reviewed ChemGlyph yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
ChemGlyph tools (4)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
parse_nameMCP wrapper for :func:`chemglyph.parse_name`.
render_moleculeMCP wrapper for :func:`chemglyph.render_molecule`.
render_reactionMCP wrapper for :func:`chemglyph.render_reaction`.
validate_structureMCP wrapper for :func:`chemglyph.validate_structure`.
Public scan report
scanner v0.1.10 · 2026-11-03 · same rubric, same numbers if you re-run it
- Code scan18 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 7 days ago15/15
- Maintainer identitynamespace and repository owner differ4/10
How ChemGlyph compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 86/100
- higher than 72% of 48,255 servers
- Tools
- 4
- the typical server has 7
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 272
- more than 80% of 12,191 servers with a package
What its tools let an agent do: 4 read
Release history: 2 versions in the registry since 2026-08-14, latest 2026-10-27, typically one every 75 days.
Install ChemGlyph in Claude Code, Cursor or VS Code
claude mcp add chemglyph -- uvx chemglyph
What the publisher says
From the ChemGlyph repository's README, as published. We do not edit it. Read it on GitHub
ChemGlyph
Publication-quality chemical structure and reaction rendering for AI agents. ChemGlyph is the KaTeX of chemistry: a rendering layer, a validation layer, and an MCP interface on top of RDKit.
Install
pip install chemglyphRender a molecule
import chemglyph
result = chemglyph.render_molecule("c1ccccc1") # benzene
open("benzene.svg", "w").write(result.data)rendermolecule takes SMILES, InChI, or molblock and returns SVG (or PNG) plus canonicalsmiles, molformula, molweight, and warnings.
Styles
Three styles, same molecule (benzoic acid, caffeine, (S)-ibuprofen):
chemglyph.render_molecule(smiles, style="acs") # black/white, ACS journal
chemglyph.render_molecule(smiles, style="modern") # colored heteroatoms, screens
chemglyph.render_molecule(smiles, style="textbook-cn") # bold monochrome, textbookAll styles default to a transparent background (transparent=True) and support fmt="png".
Reactions
spec = {
"steps": [
{
"reactants": ["OC(=O)c1ccccc1O", "CC(=O)OC(C)=O"],
"products": ["CC(=O)Oc1ccccc1C(=O)O", "CC(=O)O"],
"conditions": {"above": "H₂SO₄ (cat.)", "below": "rt, 15 min"},
"yield": "89%",
"arrow": "forward",
}
],
"style": "modern",
}
svg = chemglyph.render_reaction(spec)Conditions are pre-formatted Unicode text, so pass H₂SO₄, not H2SO4. ChemGlyph does not parse formulas out of text. The full schema (multi-step chains, equilibrium and retro arrows, line wrapping) is in docs/reaction_schema.md.
The aspirin demo writes a two-step route:
python examples/aspirin_synthesis.py # writes examples/aspirin_synthesis.svgValidation
validate_structure reports parse errors and applies four quick fixes: unmatched brackets and ring closures (reported, not guessed), kekulization failures of lowercase aromatic atoms, and nitrogen valence errors via a formal [N+]. Anything else passes RDKit's message through unchanged.
report = chemglyph.validate_structure("c1cccc1")
report.fixes[0].description # 'lowercase aromatic atoms could not be kekulized...'
report.fixes[0].fixed_smiles # 'C1CCCC1'Naming
chemglyph.parse_name("aspirin") # 'CC(=O)Oc1ccccc1C(=O)O'English IUPAC and common names resolve offline through OPSIN (pip install 'chemglyph[opsin]', plus a Java runtime). Chinese names use the built-in dictionary, and the library API accepts a translator callable for names that are not in it:
chemglyph.parse_name("阿司匹林") # 'CC(=O)Oc1ccccc1C(=O)O'
chemglyph.parse_name("六甲基苯", translator=to_english)ChemGlyph itself never calls an online service, including for translation.
MCP server
Run the bundled console script (stdio transport):
<!-- mcp-name: io.github.random-orbit/chemglyph -->
chemglyph-mcpClaude Desktop registration (macOS: ~/Library/Application Support/Claude/claudedesktopconfig.json):
{
"mcpServers": {
"chemglyph": {
"command": "chemglyph-mcp"
}
}
}Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Grade history
- 2026-11-03restoreB → Ascore 86
ChemGlyph: common questions
- Is ChemGlyph MCP server safe?
- Yes, by our scan: it is graded A (86/100). Read the ChemGlyph safety report
- How do I install ChemGlyph?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does ChemGlyph need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is ChemGlyph maintained?
- The last commit was 7 days ago (2026-10-27). The latest release is v0.2.0.
- How does ChemGlyph compare with other MCP servers?
- safety score 86/100 (higher than 72% of 48,255 servers); tools 4 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.