ketcher-mcp-server
MCP server for Ketcher chemical structure editor integration, enabling SMILES/MOL/InChI conversion, image generation, molecular property calculation, and validation.
README
Ketcher MCP Server
MCP (Model Context Protocol) server for Ketcher chemical structure editor integration with Claude.
Features
- ๐งช Open Ketcher Editor: Launch Ketcher web interface in browser
- ๐ Format Conversion: Convert between SMILES, MOL, InChI formats
- ๐ผ๏ธ Image Generation: Generate PNG/SVG images from SMILES
- ๐ Molecular Properties: Calculate molecular weight, LogP, TPSA, etc.
- โ Validation: Validate SMILES strings
Installation
Prerequisites
- Python 3.10 or higher (tested with Python 3.11)
- pip
Note: If you're using macOS with system Python 3.9, you'll need to install Python 3.10+ separately:
# Using Homebrew
brew install python@3.11
# Verify installation
/opt/homebrew/bin/python3.11 --version
Install Dependencies
cd ketcher-mcp-server
# If using Python 3.11 from Homebrew
/opt/homebrew/bin/python3.11 -m pip install -e .
# Or if python3 is already 3.10+
pip install -e .
For Development
pip install -e ".[dev]"
Usage
Running the Server
python -m ketcher_mcp.server
Or use with mcp CLI:
mcp run ketcher_mcp.server
Configuration for Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"ketcher": {
"command": "/opt/homebrew/bin/python3.11",
"args": ["-m", "ketcher_mcp.server"]
}
}
}
Note: Adjust the Python path based on your installation:
- Homebrew Python 3.11:
/opt/homebrew/bin/python3.11 - System Python 3.10+:
python3orpython3.10 - Check your path with:
which python3.11
On macOS, the config file is located at:
~/Library/Application Support/Claude/claude_desktop_config.json
Available Tools
1. open_ketcher
Opens Ketcher chemical structure editor in your default web browser.
Example:
Open Ketcher editor
2. smiles_to_image
Converts SMILES notation to molecular structure image.
Parameters:
smiles(str): SMILES notationwidth(int, optional): Image width (default: 400)height(int, optional): Image height (default: 300)format(str, optional): 'png' or 'svg' (default: 'png')
Example:
Generate image for aspirin: CC(=O)Oc1ccccc1C(=O)O
3. smiles_to_mol
Converts SMILES to MOL file format.
Parameters:
smiles(str): SMILES notation
Example:
Convert CC(=O)Oc1ccccc1C(=O)O to MOL format
4. mol_to_smiles
Converts MOL file format to SMILES.
Parameters:
mol_block(str): MOL file content
5. get_molecule_properties
Calculates molecular properties from SMILES.
Parameters:
smiles(str): SMILES notation
Returns:
- Molecular formula
- Molecular weight
- Number of atoms, bonds, rings
- LogP, TPSA
- Hydrogen bond donors/acceptors
- Rotatable bonds
Example:
Get properties of caffeine: CN1C=NC2=C1C(=O)N(C(=O)N2C)C
6. validate_smiles
Validates a SMILES string.
Parameters:
smiles(str): SMILES notation to validate
Example:
Validate SMILES: CCO
7. smiles_to_inchi
Converts SMILES to InChI identifier.
Parameters:
smiles(str): SMILES notation
8. smiles_to_inchikey
Converts SMILES to InChIKey identifier.
Parameters:
smiles(str): SMILES notation
Example Workflows
Workflow 1: Draw and Analyze a Molecule
- "Open Ketcher editor"
- Draw your molecule in Ketcher
- Copy the SMILES from Ketcher
- "Get properties of [SMILES]"
- "Generate image for [SMILES]"
Workflow 2: Convert Chemical Formats
- "Convert aspirin SMILES to MOL format: CC(=O)Oc1ccccc1C(=O)O"
- "Convert this MOL to InChI"
- "Generate InChIKey"
Workflow 3: Validate and Visualize
- "Validate SMILES: CCO"
- "Generate SVG image for CCO"
- "Get molecular properties"
Technical Details
Architecture
- FastMCP: MCP server framework
- RDKit: Chemical informatics library for molecule processing
- Ketcher: Web-based chemical structure editor (via CDN)
Supported Formats
- SMILES: Simplified Molecular Input Line Entry System
- MOL: MDL Molfile format
- InChI: IUPAC International Chemical Identifier
- InChIKey: Hashed InChI for database lookups
- PNG/SVG: Image formats for visualization
Troubleshooting
RDKit Installation Issues
If you encounter issues installing RDKit:
# Using conda (recommended)
conda install -c conda-forge rdkit
# Or using pip
pip install rdkit-pypi
Ketcher Not Opening
Make sure you have a default web browser configured. The server uses Python's webbrowser module.
Development
Running Tests
pytest
Project Structure
ketcher-mcp-server/
โโโ ketcher_mcp/
โ โโโ __init__.py
โ โโโ server.py
โโโ pyproject.toml
โโโ README.md
Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
License
MIT License
Acknowledgments
- Ketcher - EPAM's open-source chemical structure editor
- RDKit - Open-source cheminformatics toolkit
- FastMCP - Fast MCP server framework
Version History
- 0.1.0 (2026-03-09): Initial release
- Basic SMILES/MOL conversion
- Image generation
- Molecular property calculation
- Ketcher integration
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.