Uses OpenAI's GPT models through the LiteLLM interface to power AI-driven molecular description generation and molecule generation from text descriptions.
Provides 19 chemistry tools for molecular calculations, conversions, and analysis including molecular weight calculation, SMILES/IUPAC conversions, functional group identification, molecule visualization, and AI-powered molecular captioning and generation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ChemMCPcalculate the molecular weight of aspirin"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ChemMCP - 化学分子计算平台
ChemMCP是一个基于模型上下文协议(MCP)的化学分子计算工具集合,提供19个专业的化学分子处理工具。
🚀 快速开始
环境要求
Python 3.11+ (推荐Python 3.11或3.12)
Conda 环境管理器
安装步骤
创建conda环境:
安装依赖:
安装ChemMCP:
安装选项
ChemMCP提供灵活的安装选项,您可以根据需要选择:
选项1: 基础安装(推荐)
支持的工具: 除MoleculeCaptioner和MoleculeGenerator外的所有工具
选项2: 完整安装(包含AI工具)
支持的工具: 全部19个工具,包括AI驱动的分子描述和生成功能
选项3: 开发环境
配置环境变量
根据使用的工具设置相应的API密钥:
🔧 工具列表
1. WebSearch - 网络搜索
功能: 执行网络搜索以获取化学相关信息 输入: 搜索查询字符串 输出: 搜索结果和相关链接
2. MoleculeWeight - 分子量计算
功能: 计算分子的分子量 输入: SMILES分子结构字符串 输出: 分子量数值
3. MoleculeAtomCount - 原子计数
功能: 统计分子中各种原子的数量 输入: SMILES分子结构字符串 输出: 各原子类型的数量统计
4. MoleculeSimilarity - 分子相似性
功能: 计算两个分子的Tanimoto相似度 输入: 两个SMILES分子结构字符串 输出: 相似度分数(0-1)
5. FunctionalGroups - 官能团识别
功能: 识别分子中存在的官能团 输入: SMILES分子结构字符串 输出: 检测到的官能团列表
6. SmilesCanonicalization - SMILES标准化
功能: 将SMILES字符串转换为标准化形式 输入: SMILES分子结构字符串 输出: 标准化的SMILES字符串
7. Iupac2Smiles - IUPAC名称转SMILES
功能: 将IUPAC化学名称转换为SMILES格式 输入: IUPAC化学名称 输出: 对应的SMILES字符串
8. Smiles2Iupac - SMILES转IUPAC名称
功能: 将SMILES格式转换为IUPAC化学名称 输入: SMILES分子结构字符串 输出: 对应的IUPAC化学名称
9. Smiles2Formula - SMILES转分子式
功能: 将SMILES格式转换为分子式 输入: SMILES分子结构字符串 输出: 分子式(如C2H6O)
10. Name2Smiles - 通用名称转SMILES
功能: 将化学物质的通用名称转换为SMILES格式 输入: 化学物质名称 输出: 对应的SMILES字符串
11. Selfies2Smiles - SELFIES转SMILES
功能: 将SELFIES格式转换为SMILES格式 输入: SELFIES字符串 输出: 对应的SMILES字符串
12. Smiles2Selfies - SMILES转SELFIES
功能: 将SMILES格式转换为SELFIES格式 输入: SMILES分子结构字符串 输出: 对应的SELFIES字符串
13. Smiles2Cas - SMILES转CAS号
功能: 将SMILES格式转换为CAS登记号 输入: SMILES分子结构字符串 输出: 对应的CAS登记号
14. MoleculeSmilesCheck - SMILES验证
功能: 验证SMILES字符串的语法正确性 输入: SMILES分子结构字符串 输出: 验证结果(有效/无效)
15. ReactionSmilesCheck - 反应SMILES验证
功能: 验证反应SMILES字符串的语法正确性 输入: 反应SMILES字符串 输出: 验证结果(有效/无效)
16. MoleculeVisualizer - 分子可视化
功能: 生成分子的2D结构图 输入: SMILES分子结构字符串 输出: 分子结构图像
17. MoleculeCaptioner - 分子描述生成
功能: 使用AI生成分子的文字描述 输入: SMILES分子结构字符串 输出: 分子的详细文字描述
18. MoleculeGenerator - 分子生成
功能: 使用AI根据描述生成分子结构 输入: 分子描述文本 输出: 对应的SMILES分子结构
19. MoleculeModifier - 分子修饰
功能: 对分子进行化学修饰和衍生化 输入: SMILES分子结构字符串 输出: 修饰后的分子结构选项
📖 使用示例
🔧 MCP配置
在您的MCP客户端配置文件中添加以下配置:
注意:
如何找到正确的Python路径:
# 激活您的conda环境 conda activate chemmcp # 查看Python路径 which python # 复制输出的路径并替换上面配置中的路径请将API密钥替换为您的实际密钥
CHEMSPACE_API_KEY是可选的:只有
Iupac2Smiles工具在PubChem查找失败时才会使用ChemSpace作为后备数据库确保您的Python环境版本为3.11或更高版本
🛠️ 依赖项
RDKit: 分子处理和计算的核心库
PubChemPy: PubChem数据库接口
SELFIES: 分子的自引用嵌入式字符串表示
rdchiral: 手性分子处理
synspace: 分子空间探索和修饰
tavily-python: 网络搜索API
litellm: 统一的LLM API接口
requests: HTTP请求库
📄 许可证
本项目采用MIT许可证。详见LICENSE文件。
注意: 使用某些工具需要相应的API密钥。请确保在使用前正确设置环境变量。