ketcher-mcp-server

ketcher-mcp-server

MCP server for Ketcher chemical structure editor integration, enabling SMILES/MOL/InChI conversion, image generation, molecular property calculation, and validation.

Category
Visit Server

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+: python3 or python3.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 notation
  • width (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

  1. "Open Ketcher editor"
  2. Draw your molecule in Ketcher
  3. Copy the SMILES from Ketcher
  4. "Get properties of [SMILES]"
  5. "Generate image for [SMILES]"

Workflow 2: Convert Chemical Formats

  1. "Convert aspirin SMILES to MOL format: CC(=O)Oc1ccccc1C(=O)O"
  2. "Convert this MOL to InChI"
  3. "Generate InChIKey"

Workflow 3: Validate and Visualize

  1. "Validate SMILES: CCO"
  2. "Generate SVG image for CCO"
  3. "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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured