MolIt MCP服务器
使用深度学习模型进行化学结构检测和识别的简化MCP服务器。
项目结构
该项目侧重于两个核心功能:
- 检测 -使用YOLO模型在图像中定位分子结构
- 认可 -使用MolScribe将检测到的分子结构转换为SMILES字符串
核心模块
detection/-使用YOLO进行分子结构检测recognition/-利用MolScribe进行分子识别和SMILES生成
关键文件
server.py-MCP服务器定义
特性
分子检测
- 在单张图像中检测和定位分子结构
- 两个预训练的YOLO模型:
- moldet_yolo11l_640_general.pt -用于一般分子图像 - moldet_yolo11l_960_doc.pt -用于文档/PDF处理
分子识别(使用MolScribe)
- 将检测到的分子结构转换为SMILES字符串
- 支持图像和PDF文档处理
安装
基本依赖关系
uv init --python 3.10
uv venv
uv pip install -r requirements.txt注意:MolScribe还有其他依赖项,包括PyTorch和RDKit,我还没有在Windows上测试过它。
用法
启动服务器(独立HTTP服务器)
source .venv/bin/activate
python server.py服务器将在以下时间可用 http://0.0.0.0:8000/mcp
您可以通过以下方式进行测试:
python test_server.py与MCP客户端配合使用(克劳德码、Qwen码等)
当与Claude Code或Qwen Code等MCP客户端一起使用时,服务器由客户端自动管理。将此配置添加到MCP配置文件中:
{
"mcpServers": {
"molecular-detection-recognition-server": {
"httpUrl": "http://0.0.0.0:8000/mcp",
"timeout": 600000
}
}
}当MCP客户端连接到服务器时,它将自动启动服务器进程并通过HTTP与之通信。
直接HTTP访问
如果你想通过HTTP直接访问服务器(用于测试或与其他服务集成),请启动服务器,然后你可以向以下对象发出HTTP请求:
POST http://0.0.0.0:8000/mcpHTTP端点根据MCP规范接受JSON-RPC 2.0请求。
MCP工具可用
detect_molecules_with_crops-检测图像中的分子结构并保存裁剪的分子process_image_for_molecules_and_smiles-检测图像中的分子并转换为SMILESprocess_pdf_for_molecules_and_smiles-处理PDF文档,检测所有页面上的分子,并转换为SMILES
文件命名和可追溯性
系统为中间文件实现了可追溯的文件命名方案:
- 原始文件保留其原始名称
- 裁剪的分子用以下模式命名:
{original_filename}[_page{page_number}]_molecule_{detection_index}_{molecule_index}.jpg - 结果以JSON和CSV格式保存,并带有可追溯性信息
配置
中的配置 config.json 包括:
- 模型目录
- 常规和文档处理的默认模型
- 输出目录设置
需求
看 requirements.txt 查看完整的依赖关系列表。
