ChemMCP_lite
ChemMCP
Documentation
ChemMCP - 化学分子计算平台
ChemMCP是一个基于模型上下文协议(MCP)的化学分子计算工具集合,提供19个专业的化学分子处理工具。
🚀 快速开始
环境要求
- Python 3.11+ (推荐Python 3.11或3.12)
- Conda 环境管理器
安装步骤
1. 创建conda环境:
conda create -n chemmcp python=3.11
conda activate chemmcp2. 安装依赖:
pip install -r requirements.txt3. 安装ChemMCP:
pip install -e .安装选项
ChemMCP提供灵活的安装选项,您可以根据需要选择:
选项1: 基础安装(推荐)
# 安装核心依赖,支持17个工具
pip install -r requirements.txt支持的工具: 除`MoleculeCaptioner`和`MoleculeGenerator`外的所有工具
选项2: 完整安装(包含AI工具)
# 方式A: 使用可选依赖组
pip install -e ".[ai]"
# 方式B: 手动安装AI依赖
pip install -r requirements.txt
pip install transformers>=4.20.0 torch>=1.9.0支持的工具: 全部19个工具,包括AI驱动的分子描述和生成功能
选项3: 开发环境
# 安装所有依赖和开发工具
pip install -e ".[all,dev]"配置环境变量
根据使用的工具设置相应的API密钥:
# 网络搜索工具所需(必需)
export TAVILY_API_KEY="your_tavily_api_key"
# LLM工具所需(必需)
export LLM_MODEL_NAME="openai/gpt-4o"
export OPENAI_API_KEY="your_openai_api_key"
# ChemSpace工具所需(可选,仅在PubChem查找失败时作为后备)
export CHEMSPACE_API_KEY="your_chemspace_api_key"🔧 工具列表
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服务器,使用特定工具
python -m chemmcp --tools WebSearch MoleculeWeight MoleculeAtomCount
# 或使用所有工具
python -m chemmcp --tools WebSearch MoleculeWeight MoleculeAtomCount MoleculeSimilarity FunctionalGroups SmilesCanonicalization Iupac2Smiles Smiles2Iupac Smiles2Formula Name2Smiles Selfies2Smiles Smiles2Selfies Smiles2Cas MoleculeSmilesCheck ReactionSmilesCheck MoleculeVisualizer MoleculeCaptioner MoleculeGenerator MoleculeModifier🔧 MCP配置
在您的MCP客户端配置文件中添加以下配置:
{
"mcpServers": {
"ChemMCP": {
"command": "/opt/miniconda3/envs/chemmcp/bin/python", // 如何找到路径: conda activate chemmcp && which 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_here",
"LLM_MODEL_NAME": "openai/gpt-4o",
"OPENAI_API_KEY": "your_openai_api_key_here",
"CHEMSPACE_API_KEY": "your_chemspace_api_key_here", // 可选:仅在需要额外数据库查找时使用
"PATH": "/opt/miniconda3/envs/chemmcp/bin:/usr/local/bin:/usr/bin:/bin" // 如何找到路径: conda activate chemmcp && echo $PATH
}
}
}
}注意:
- 如何找到正确的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密钥。请确保在使用前正确设置环境变量。
Frequently asked questions
What is ChemMCP_lite?
ChemMCP_lite is ChemMCP
How do I install ChemMCP_lite?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is ChemMCP_lite open source?
Yes — it is hosted on GitHub at https://github.com/cassiusoat/ChemMCP_lite and has 2 stars.
Related MCP tools
Cognee is the open-source AI memory platform for agents. Give your AI agents persistent long-term memory across sessions with a self-hosted knowledge graph engine.
Automate browser based workflows with AI
Hindsight: Agent Memory That Learns
A privacy-first app that strips AI watermarks from content you own.
Agent framework and applications built upon Qwen>=3.0, featuring Function Calling, MCP, Code Interpreter, RAG, Chrome extension, etc.
The power of Claude Code / GeminiCLI / CodexCLI + [Gemini / OpenAI / OpenRouter / Azure / Grok / Ollama / Custom Model / All Of The Above] working as one.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP