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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。