Opentrons MCP 服务器是一款用于 Opentrons 机器人自动化的模型上下文协议(MCP)服务器,同时还提供 API 文档。该工具为 Opentrons Flex 和 OT - 2 机器人提供了全面的 API 文档和直接的机器人控制功能。
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
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"opentrons": {
"command": "opentrons-mcp",
"args": []
}
}
}
如果是从源代码安装的:
{
"mcpServers": {
"opentrons": {
"command": "node",
"args": ["/path/to/opentrons-mcp/index.js"]
}
}
}
按功能、方法、路径或关键字搜索 Opentrons HTTP API 端点。
query(必需):搜索词。method(可选):按 HTTP 方法过滤(GET、POST、PUT、DELETE、PATCH)。tag(可选):按 API 类别过滤。include_deprecated(可选):包含已弃用的端点。获取特定 API 端点的全面详细信息。
method(必需):HTTP 方法。path(必需):API 端点路径。列出特定功能类别中的所有端点。
category(必需):API 类别(健康状态、控制、协议管理等)。获取 Opentrons HTTP API 结构和功能的高层次概述。
将协议文件上传到 Opentrons 机器人。
robot_ip(必需):机器人 IP 地址。file_path(必需):协议文件的路径(.py 或 .json)。protocol_kind(可选):"standard" 或 "quick - transfer"(默认:"standard")。key(可选):客户端跟踪键。run_time_parameters(可选):运行时参数值。列出机器人上存储的所有协议。
robot_ip(必需):机器人 IP 地址。protocol_kind(可选):按协议类型过滤。在机器人上创建一个新的协议运行任务。
robot_ip(必需):机器人 IP 地址。protocol_id(必需):要运行的协议 ID。run_time_parameters(可选):运行时参数值。控制运行任务的执行(播放、暂停、停止、恢复)。
robot_ip(必需):机器人 IP 地址。run_id(必需):要控制的运行任务 ID。action(必需):"play"、"pause"、"stop" 或 "resume - from - recovery"。列出机器人上的所有运行任务。
robot_ip(必需):机器人 IP 地址。获取特定运行任务的详细状态。
robot_ip(必需):机器人 IP 地址。run_id(必需):要检查的运行任务 ID。检查机器人的健康状态和连接性。
robot_ip(必需):机器人 IP 地址。打开或关闭机器人的灯光。
robot_ip(必需):机器人 IP 地址。on(必需):true 表示打开灯光,false 表示关闭。使机器人轴或特定移液器回零。
robot_ip(必需):机器人 IP 地址。target(可选):"robot" 表示所有轴,"pipette" 表示特定安装位置。mount(可选):"left" 或 "right"(如果 target 为 "pipette" 则必需)。该截图展示了在使用 Claude Desktop 询问 Opentrons Flex 机器人当前协议并提供机器人 IP 后,Opentrons MCP 服务器的运行情况。
配置完成后,你可以使用自然语言控制机器人:
上传协议:
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"
}
}
});
确保你的 Opentrons 机器人满足以下条件:
你可以在浏览器中访问 http://your-robot-ip:31950/health 来验证连接性。
该工具可访问完整的 Opentrons HTTP API,包括:
如需详细的 API 文档,请使用此 MCP 服务器提供的搜索和文档工具。
欢迎贡献代码!请随时提交问题和拉取请求。
未指定许可证,可自由使用。