Skip to main content
Glama
lunnynight

ketcher-mcp-server

by lunnynight

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

Related MCP server: ChemDraw Server

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

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lunnynight/ketcher-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server