项目简介
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客户端提供上下文信息和功能,包括资源管理和工具执行。
安装步骤
- 确保已安装 Python 环境。
- 在项目根目录下,打开终端并运行以下命令安装服务器及其依赖:
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' 提供了示例。
基本使用方法
- 启动服务器:
在项目根目录下,打开终端并运行:
服务器将默认在 'http://127.0.0.1:8000' 使用 SSE 传输协议启动。python run_server.py - 连接LLM客户端:
一旦服务器运行,任何支持MCP协议的LLM客户端都可以通过上述配置信息连接到该服务器,并开始调用RDKit工具。例如,可以使用项目提供的CLI客户端(需要配置OpenAI API密钥)进行测试:
然后在客户端中输入自然语言提示,LLM将利用RDKit工具进行响应。export OPENAI_API_KEY="sk-proj-xxx" python run_client.py - 列出可用工具:
要查看服务器当前注册的所有RDKit工具列表,可以运行:
python list_tools.py
信息
分类
AI与计算