WebSearchLABSCO SUMMARY
The routine molecule chores, minus the RDKit boilerplate.
The conversions and property calculations are the daily drivers: hand it a name or a SMILES string and get back the other representations, a formula, or a picture. The two model-backed tools — description in, structure out and the reverse — need extra dependencies and a model key, so a base install quietly leaves them out.
What it is
A set of cheminformatics tools over RDKit, PubChem and SELFIES, exposed as MCP tools and selected by name when the server starts.
What you get
- Properties from a SMILES string: MoleculeWeight, MoleculeAtomCount, Smiles2Formula and FunctionalGroups
- Name and format conversion in both directions: Iupac2Smiles, Smiles2Iupac, Name2Smiles, Smiles2Cas, Selfies2Smiles and Smiles2Selfies
- SmilesCanonicalization, plus MoleculeSmilesCheck and ReactionSmilesCheck for validating what someone handed you
- MoleculeSimilarity scores two molecules by Tanimoto similarity
- MoleculeVisualizer renders a two-dimensional structure image
- MoleculeModifier proposes chemically modified variants of a molecule
- MoleculeCaptioner and MoleculeGenerator take the language route: a written description of a structure, or a structure from a description
- WebSearch pulls in chemistry information from the web
Requirements
A Python environment with RDKit and the other cheminformatics libraries installed. The web search tool needs a search-provider key and the two model-backed tools need a language-model key; the rest work without credentials. A ChemSpace key is optional and used only as a fallback when a PubChem lookup misses.
Setup effort
Build from source — git clone https://github.com/cassiusoat/ChemMCP_lite.git
USE CASES
Turning a chemical name into something you can compute with
Convert a common or IUPAC name to SMILES, then read off the molecular formula and weight.
Checking a structure string before you trust it
Validate the syntax of a molecule or reaction string and normalise it to canonical form so later comparisons line up.
Comparing two candidate molecules
Score how alike they are and list the functional groups each one carries.
Getting a structure picture into your notes
Render the two-dimensional structure from a SMILES string without opening a drawing tool.
Exploring variations on a lead compound
Ask for chemically modified derivatives, or describe what you want and get a structure back.
19 tools
Listed in project docs. Your client may show a different list.
MoleculeWeightMoleculeAtomCountMoleculeSimilarityFunctionalGroupsSmilesCanonicalizationIupac2SmilesSmiles2IupacSmiles2FormulaName2SmilesSelfies2SmilesSmiles2SelfiesSmiles2CasMoleculeSmilesCheckReactionSmilesCheckMoleculeVisualizerMoleculeCaptionerMoleculeGeneratorMoleculeModifierBEFORE YOU INSTALL
What to know first
Tools you get
19 tools named in the project's documentation.
Requires
- Conda
- Python 3.11+
Optional
- TAVILY_API_KEY in your environment
- OPENAI_API_KEY in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
git clone https://github.com/cassiusoat/ChemMCP_lite.git
cd ChemMCP_lite
conda create -n chemmcp python=3.11
conda activate chemmcp
pip install -r requirements.txt
pip install -e .Optional, for MoleculeCaptioner and MoleculeGenerator: pip install -e ".[ai]" — the base install supports the other 17 tools
Find your environment's python with which python (inside the activated chemmcp env) and use that path as the command in the client configuration below
MCP Clients
Any MCP client
{
"mcpServers": {
"ChemMCP": {
"command": "/opt/miniconda3/envs/chemmcp/bin/python",
"args": [
"-m",
"chemmcp",
"--tools",
"WebSearch",
"MoleculeWeight",
"MoleculeAtomCount",
"MoleculeSimilarity",
"FunctionalGroups",
"SmilesCanonicalization",
"Iupac2Smiles",
"Smiles2Iupac",
"Smiles2Formula",
"Name2Smiles",
"Selfies2Smiles",
"Smiles2Selfies",
"Smiles2Cas",
"MoleculeSmilesCheck",
"ReactionSmilesCheck",
"MoleculeVisualizer",
"MoleculeCaptioner",
"MoleculeGenerator",
"MoleculeModifier"
],
"toolCallTimeoutMillis": 300000,
"env": {
"TAVILY_API_KEY": "<YOUR_TAVILY_API_KEY>",
"LLM_MODEL_NAME": "openai/gpt-4o",
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>",
"CHEMSPACE_API_KEY": "<YOUR_CHEMSPACE_API_KEY>",
"PATH": "/opt/miniconda3/envs/chemmcp/bin:/usr/local/bin:/usr/bin:/bin"
}
}
}
}/opt/miniconda3/envs/chemmcp/bin/python is a sample path: yours is the path which python prints in your activated chemmcp environment, and PATH the output of echo $PATH there. TAVILY_API_KEY is needed only for WebSearch, OPENAI_API_KEY only for the language-model tools; CHEMSPACE_API_KEY is optional.