ChemMCP

ChemMCP

A chemistry computation platform providing 19 professional tools for molecular structure processing, including SMILES conversions, molecular calculations, functional group identification, visualization, and AI-powered molecule generation and description.

Category
访问服务器

README

ChemMCP - 化学分子计算平台

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

🚀 快速开始

环境要求

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

安装步骤

  1. 创建conda环境:
conda create -n chemmcp python=3.11
conda activate chemmcp
  1. 安装依赖:
pip install -r requirements.txt
  1. 安装ChemMCP:
pip install -e .

安装选项

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

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

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

支持的工具: 除MoleculeCaptionerMoleculeGenerator外的所有工具

选项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密钥。请确保在使用前正确设置环境变量。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选