See our website and document at osu-nlp-group.github.io/ChemMCP.
Join our Discord community to discuss ChemMCP, get help, and build together!
The current ChemMCP tools are mostly extended and updated from our prior work ChemToolAgent. Please check it for the tools' benefits in chemistry tasks.
ChemMCP is an easy-to-use and extensible chemistry toolkit for LLMs and AI assistants, compatible with the Model Context Protocol (MCP). By integrating powerful chemistry tools, ChemMCP can make general AI models capable of chemistry capabilities, performing molecular analysis, property prediction, and reaction synthesis tasks, without requiring domain-specific training. ChemMCP can also be easily integrated in your research for data processing, agentic applications, and more.
MCP (Model Context Protocol) is a framework that allows AI models to access external tools and resources through a standardized interface. ChemMCP leverages this architecture to bridge the gap between general-purpose AI models and specialized chemistry tools, enabling seamless integration of chemistry expertise into AI workflows.
Specifically, ChemMCP provides the following key features:
- 🔌 Plug-and-Play Chemistry Tools for AI Assistants: ChemMCP tools can be integrated into any MCP-enabled LLM clients in just minutes, allowing researchers to augment LLMs with chemistry capabilities without additional training.
- 🛠️ Standalone Toolkit for Custom Workflows: With its decoupled design and unified interfaces, ChemMCP tools can be easily imported into your workflow, to process data, assemble pipeline steps, or build bespoke agentic applications — via MCP or Python, whichever you prefer.
- 🤖 Native RL Agent Framework: ChemMCP natively supports multi-turn interactive loops between agents and tool, providing an ideal infrastructure and testbed for scientific tool-using agents.
- 📦 Modular and Extensible Design: Adding a new tool is as simple as writing a Python file (see here). All tools follow a consistent schema, ensuring clear interfaces, easy maintenance, and automatic documentation.
We will continue to add and maintain tools in ChemMCP. You are more than welcome to contribute, such as giving us your feedback, maining existing tools, or adding new tools!
This document will help you quickly set up and start using ChemMCP.
Based on the functions, the tools can be divided into general tools, molecule tools, and reaction tools:
- General Tools: Provide broad information retrieval and web searching.
- Molecule Tools: Offer various analyses, predictions, and conversions related to chemical compounds and their properties.
- Reaction Tools: Predict products of chemical reactions and suggest potential reactants for synthesizing given products.
Check the updated full list of tools here.
If ChemMCP is valuable to your research or development, please kindly cite our work.
@misc{yu2025chemmcp,
author = {Botao Yu and Huan Sun},
title = {ChemMCP: An Easy-to-Use and Extensible Toolkit for Chemistry Agents},
year = {2025},
url = {https://osu-nlp-group.github.io/ChemMCP/},
note = {2025-06-05-01},
}
@article{yu2024chemtoolagent,
title={ChemToolAgent: The Impact of Tools on Language Agents for Chemistry Problem Solving},
author={Botao Yu and Frazier N. Baker and Ziru Chen and Garrett Herb and Boyu Gou and Daniel Adu-Ampratwum and Xia Ning and Huan Sun},
journal={arXiv preprint arXiv:2411.07228},
year={2024}
}
ChemMCP is an open-source toolkit that integrates language models and agents with chemistry tools and publicly available chemical data to support AI for Science research. While ChemMCP offers powerful capabilities, it is essential to acknowledge potential risks associated with its use.
-
Safety and Responsibility
ChemMCP includes a safety-check tool designed to help identify hazardous molecules; however, the toolkit itself does not enforce its use. Because ChemMCP is not a standalone agent but rather an open-source resource, we cannot guarantee that every user will employ safety measures.
Large language models paired with ChemMCP often incorporate their own safety mechanisms, which typically refuse requests involving illegal or unethical applications. Nonetheless, users bear full responsibility for ensuring that all activities comply with applicable safety protocols and legal requirements.
As ChemMCP accesses only publicly available tools and data, we disclaim liability for any dangerous or illicit use. Users must verify that their workflows are safe, lawful, and ethically sound.
-
Intended Use
ChemMCP is provided solely for legitimate research, educational, and investigative purposes.
Under no circumstances should ChemMCP be used to design, manufacture, or recommend harmful substances (e.g., chemical toxins or weapons). Any attempt to exploit the toolkit for malicious ends violates our terms and ethical guidelines.
-
Limitations and Disclaimer
ChemMCP does not guarantee the accuracy, completeness, or safety of its outputs. All computations and inferences are provided "as is," without warranties of any kind.
We are not liable for any direct or indirect consequences—financial, legal, or otherwise—that arise from using ChemMCP. Users should independently validate results before applying them in critical or hazardous contexts.
-
Contributions and Safeguards
We encourage community contributions that enhance ChemMCP's safety features and promote responsible use. Contributors must document any identified risks, potential failure modes, and mitigation strategies when introducing new tools or data sources.
Before merging new functionality, maintainers should review proposed changes for possible misuse scenarios and update documentation accordingly.
-
User Agreement
By installing or invoking ChemMCP, you agree to:
- Use the toolkit in compliance with all applicable laws, regulations, and institutional policies.
- Apply reasonable safety checks—both human and automated—when handling potentially hazardous data or compounds.
- Refrain from any activity that could facilitate the creation, distribution, or use of harmful substances.
- Accept full responsibility for your use of ChemMCP and any outcomes that result from its deployment.
ChemMCP is distributed under the Apache License 2.0. The toolkit's implementation depends heavily on open-source projects—most notably RDKit (BSD 3-Clause) and the MCP Python SDK (MIT). Additional main open-source dependencies (whose code is used in whole or in part) and any required hosted services or software are listed in the table below. By using ChemMCP and its tools, you agree to comply with all referenced licenses and terms of service.
Tool Name | Primary Open-Source Dependencies | Hosted Service / Software |
---|---|---|
BbbpPredictor | Uni-Mol (MIT), Uni-Core (MIT) | - |
ForwardSynthesis | ChemCrow (MIT), rxn4chemistry (MIT) | IBM RXN for Chemistry |
FunctionalGroups | ChemCrow (MIT) | - |
HivInhibitorPredictor | Uni-Mol (MIT), Uni-Core (MIT) | - |
Iupac2Smiles | ChemCrow (MIT), molbloom (MIT), PubChemPy (MIT) | PubChem, ChemSpace |
LogDPredictor | Uni-Mol (MIT), Uni-Core (MIT) | - |
MoleculeAtomCount | ChemCrow (MIT) | - |
MoleculeCaptioner | MolT5 (BSD 3-Clause) | - |
MoleculeGenerator | MolT5 (BSD 3-Clause) | - |
MoleculeModifier | synspace (MIT) | - |
MoleculePrice | ChemCrow (MIT) | ChemSpace |
MoleculeSimilarity | ChemCrow (MIT) | - |
MoleculeSmilesCheck | - | - |
MoleculeVisualizer | - | - |
MoleculeWeight | - | - |
Name2Smiles | PubChemPy (MIT) | - |
PatentCheck | molbloom (MIT) | - |
PubchemSearch | - | PubChem |
PubchemSearchQA | - | PubChem, Custom LLMs |
PythonExecutor | Jupyter Notebook (BSD 3-Clause) | docker |
ReactionSmilesCheck | - | - |
Retrosynthesis | ChemCrow (MIT), rxn4chemistry (MIT) | IBM RXN for Chemistry |
SafetyCheck | ChemCrow (MIT) | PubChem, Custom LLMs |
Selfies2Smiles | selfies (Apache License 2.0) | - |
SideEffectPredictor | Uni-Mol (MIT), Uni-Core (MIT) | - |
Smiles2Cas | ChemCrow (MIT) | PubChem |
Smiles2Formula | - | PubChem |
Smiles2Iupac | PubChemPy (MIT) | PubChem |
Smiles2Selfies | selfies (Apache License 2.0) | - |
SmilesCanonicalization | LlaSMol (MIT) | - |
SolubilityPredictor | Uni-Mol (MIT), Uni-Core (MIT) | - |
ToxicityPredictor | Uni-Mol (MIT), Uni-Core (MIT) | - |
WebSearch | tavily-python (MIT) | Tavily |
Note: The cells with -
indicate that this tool is originally created by us and does not directly rely on OSS other than RDKit and MCP, or does not use external hosted services and software.
Disclaimer:
- Any open-source software dependency not explicitly identified in the table above—including any indirect or transitive dependencies introduced by packages such as RDKit or PyTorch—remains subject to the terms of its own license. For a complete inventory of all dependencies and their corresponding license obligations, users should consult the project's requirements.txt file or employ a license-compliance utility (for example, pip-licenses).
- Hosted services and application programming interfaces (APIs) referenced herein—for instance, IBM RXN for Chemistry, PubChem, or externally hosted language models—are each governed by their own Terms of Service, Acceptable Use Policies, or equivalent contractual agreements. Users are responsible for reviewing and adhering to all applicable terms and conditions imposed by the providers of these external services.
- Our software is constructed based on open-source code and data, and we respect their creators' ownership and intellectual property. Additionally, many tools are also based on some hosted services and software, and we believe their terms for use are compatible with our research purpose. In the above table, we have made our best effort to list their repositories/websites and provide their licenses. We welcome requests from the original authors or developers to modify or remove relevant tools if needed.