项目简介

RDKit MCP 服务器是一个开源项目,旨在通过Model Context Protocol (MCP) 协议,让大型语言模型(LLM)能够以自然语言与RDKit化学信息学库进行交互。它将RDKit的强大功能封装为LLM可调用的工具,实现无需编程即可进行化学数据处理和分析。

主要功能点

  • 化学工具集成: 将RDKit 2025.3.1中的多种化学信息学功能(如分子结构转换、分子描述符计算、指纹相似度计算、2D坐标生成、分子碎片化等)封装为LLM可调用的工具。
  • 语言模型支持: 支持任何遵循MCP协议的LLM客户端连接并使用其提供的化学工具。
  • 灵活的部署: 支持SSE (Server-Sent Events) 和Stdio (标准输入输出) 两种传输协议,方便不同环境下的部署和集成。
  • 上下文感知服务: 作为MCP服务器,它以标准化的方式向LLM客户端提供上下文信息和功能,包括资源管理和工具执行。

安装步骤

  1. 确保已安装 Python 环境。
  2. 在项目根目录下,打开终端并运行以下命令安装服务器及其依赖:
    pip install .

服务器配置

MCP客户端需要配置服务器的连接信息。以下是一个示例JSON配置,其中包含服务器名称、启动命令和参数,供MCP客户端参考:

{
  "name": "RDKit-MCP Server",
  "command": ["python", "run_server.py"],
  "args": [
    "--transport", "sse",  // 或者 "stdio"
    "--host", "127.0.0.1", // 服务器监听的IP地址
    "--port", "8000",     // 服务器监听的端口
    "--settings", "settings.yaml" // 可选:指向自定义配置文件的路径
  ],
  "description": "RDKit MCP Server是一个MCP服务器,通过Model Context Protocol (MCP) 提供对RDKit化学信息学功能的自然语言访问。"
}
  • '--transport': 指定服务器使用的传输协议,可以是 'sse' (Server-Sent Events) 或 'stdio' (标准输入输出)。
  • '--host': 服务器监听的IP地址,默认是 '127.0.0.1' (本地主机)。
  • '--port': 服务器监听的端口号,默认是 '8000'。
  • '--settings': 可选参数,指定一个YAML文件路径来配置允许或阻止的特定RDKit工具。例如,'settings.example.yaml' 提供了示例。

基本使用方法

  1. 启动服务器: 在项目根目录下,打开终端并运行:
    python run_server.py
    服务器将默认在 'http://127.0.0.1:8000' 使用 SSE 传输协议启动。
  2. 连接LLM客户端: 一旦服务器运行,任何支持MCP协议的LLM客户端都可以通过上述配置信息连接到该服务器,并开始调用RDKit工具。例如,可以使用项目提供的CLI客户端(需要配置OpenAI API密钥)进行测试:
    export OPENAI_API_KEY="sk-proj-xxx"
    python run_client.py
    然后在客户端中输入自然语言提示,LLM将利用RDKit工具进行响应。
  3. 列出可用工具: 要查看服务器当前注册的所有RDKit工具列表,可以运行:
    python list_tools.py

信息

分类

AI与计算