Opentrons MCP服务器
用于Opentrons机器人自动化和API文档的模型上下文协议(MCP)服务器。该工具为Opentrons Flex和OT-2机器人提供全面的API文档和直接机器人控制功能。
特性
API文档工具
- 搜索端点:按功能、方法或关键字查找API端点
- 端点详细信息:获取有关特定API终结点的全面信息
- 类别浏览:按功能类别列出端点
- API概述:整个Opentrons HTTP API的高级概述
机器人自动化工具
- 协议管理:上传、列出和管理协议文件
- 运行控制:创建运行、启动/停止执行、监控进度
- 机器人健康:检查连接和系统状态
- 硬件控制:家用机器人、控制灯和基本操作
安装
来自npm(推荐)
npm install -g opentrons-mcp来源
git clone https://github.com/yerbymatey/opentrons-mcp.git
cd opentrons-mcp
npm install配置
添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"opentrons": {
"command": "opentrons-mcp",
"args": []
}
}
}如果从源代码安装:
{
"mcpServers": {
"opentrons": {
"command": "node",
"args": ["/path/to/opentrons-mcp/index.js"]
}
}
}可用工具
文档工具
search_endpoints
按功能、方法、路径或关键字搜索Opentrons HTTP API端点。
query(必填):搜索词method(可选):按HTTP方法过滤(GET、POST、PUT、DELETE、PATCH)tag(可选):按API类别筛选include_deprecated(可选):包括已弃用的端点
get_endpoint_details
获取有关特定API终结点的全面详细信息。
method(必填):HTTP方法path(必需):API终结点路径
list_by_category
列出特定功能类别中的所有端点。
category(必需):API类别(健康、控制、协议管理等)
get_api_overview
获取Opentrons HTTP API结构和功能的高级概述。
自动化工具
upload_协议
将协议文件上传到Opentrons机器人。
robot_ip(必填):机器人IP地址file_path(必填):协议文件的路径(.py或.json)protocol_kind(可选):“标准”或“快速传输”(默认为“标准”)key(可选):客户端跟踪密钥run_time_parameters(可选):运行时参数值
get_协议
列出机器人上存储的所有协议。
robot_ip(必填):机器人IP地址protocol_kind(可选):按协议类型筛选
create_run
创建在机器人上运行的新协议。
robot_ip(必填):机器人IP地址protocol_id(必填):要运行的协议IDrun_time_parameters(可选):运行时参数值
控制_运行
控制运行执行(播放、暂停、停止、恢复)。
robot_ip(必填):机器人IP地址run_id(必填):运行ID进行控制action(必填):“播放”、“暂停”、“停止”或“从恢复中恢复”
get_runs
列出机器人上的所有运行。
robot_ip(必填):机器人IP地址
get_run_status
获取特定运行的详细状态。
robot_ip(必填):机器人IP地址run_id(必填):运行ID进行检查
机器人健康
检查机器人的健康状况和连接性。
robot_ip(必填):机器人IP地址
控制灯
打开或关闭机器人灯。
robot_ip(必填):机器人IP地址on(必填):true表示开灯,false表示关灯
主页_机器人
家用机器人轴或特定吸管。
robot_ip(必填):机器人IP地址target(可选):“机器人”适用于所有轴,“移液管”适用于特定安装mount(可选):“左”或“右”(如果目标是“移液管”,则必填)
使用示例
使用克劳德桌面
Opentrons MCP in action *屏幕截图显示了Opentrons MCP服务器在Claude Desktop上的运行情况,在询问了Flex的Opentrons当前协议后,给它机器人ip!*
配置后,您可以使用自然语言来控制您的机器人:
上传协议:
Upload the protocol file at /path/to/my_protocol.py to my robot at 192.168.1.100检查机器人状态:
Check if my robot at 192.168.1.100 is healthy and ready运行协议:
List all protocols on my robot, then create and start a run for the latest one监控进度:
Show me the status of run abc123 on my robot程序化使用
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
// Connect to MCP server
const client = new Client(/* transport */);
// Upload protocol
await client.request({
method: "tools/call",
params: {
name: "upload_protocol",
arguments: {
robot_ip: "192.168.1.100",
file_path: "/path/to/protocol.py",
protocol_kind: "standard"
}
}
});需求
- Node.js 18+
- 启用HTTP API的Opentrons机器人(端口31950)
- 客户端和机器人之间的网络连接
机器人设置
确保您的Opentrons机器人:
- 与您的客户端连接到同一网络
- 运行机器人软件版本7.0.0+
- 可在端口31950上访问(默认为HTTP API)
您可以通过访问来验证连接 http://your-robot-ip:31950/health 在浏览器中。
api参考
此工具提供对完整的Opentrons HTTP API的访问,包括:
- 协议管理:上传、分析和管理协议文件
- 运行管理:创建、控制和监视协议运行
- 硬件控制:机器人移动、归位、照明和校准
- 系统管理:健康监测、设置和诊断
- 模块控制:温度模块、磁性模块、热循环仪
- 数据管理:运行时参数的CSV文件
有关API的详细文档,请使用此MCP服务器提供的搜索和文档工具。
故障排除
无法连接到机器人
- 验证机器人IP地址是否正确
- 确保机器人已通电并连接到网络
- 检查端口31950是否可访问
- 确认机器人软件正在运行
协议上传失败
- 验证文件路径是否存在并且可读
- 确保协议文件是有效的Python(.py)或JSON格式
- 检查机器人上的可用磁盘空间
- 确认协议与机器人类型兼容(OT-2与Flex)
运行执行问题
- 验证所有必需的实验室用品和模块是否已连接
- 检查机器人校准状态
- 确保协议分析成功完成
- 确认没有硬件错误或冲突
贡献
欢迎投稿!请随时提交问题和拉取请求。
许可证
没有许可证去铜焊
