trackmcp
Back to directory
cassiusoat

ChemMCP_lite

View on GitHub

ChemMCP

2 stars PythonOthers Updated Sep 4, 2025

Documentation

ChemMCP - 化学分子计算平台

ChemMCP是一个基于模型上下文协议(MCP)的化学分子计算工具集合,提供19个专业的化学分子处理工具。

🚀 快速开始

环境要求

  • Python 3.11+ (推荐Python 3.11或3.12)
  • Conda 环境管理器

安装步骤

1. 创建conda环境:

bash
conda create -n chemmcp python=3.11
conda activate chemmcp

2. 安装依赖:

bash
pip install -r requirements.txt

3. 安装ChemMCP:

bash
pip install -e .

安装选项

ChemMCP提供灵活的安装选项,您可以根据需要选择:

选项1: 基础安装(推荐)

bash
# 安装核心依赖,支持17个工具
pip install -r requirements.txt

支持的工具: 除`MoleculeCaptioner`和`MoleculeGenerator`外的所有工具

选项2: 完整安装(包含AI工具)

bash
# 方式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: 开发环境

bash
# 安装所有依赖和开发工具
pip install -e ".[all,dev]"

配置环境变量

根据使用的工具设置相应的API密钥:

bash
# 网络搜索工具所需(必需)
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分子结构字符串

输出: 修饰后的分子结构选项

📖 使用示例

bash
# 启动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客户端配置文件中添加以下配置:

json
{
  "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路径:
bash
# 激活您的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

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP