这是一个用于 Opentrons 机器人自动化和 API 文档的模型上下文协议(MCP)服务器。此工具提供了全面的 API 文档以及对 Opentrons Flex 和 OT-2 机器人的直接控制能力。
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 类别(如 Health, Control, Protocol Management 等)获取 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(必需):要运行的协议 IDrun_time_parameters(可选):运行时参数值控制运行执行(播放、暂停、停止、恢复)。
robot_ip(必需):机器人 IP 地址run_id(必需):要控制的运行 IDaction(必需):"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"(如果目标是 "pipette" 则需要)
截图显示了在 Claude Desktop 中使用 Opentrons MCP 服务器后,请求 Flex 机器人当前协议的情况,提供机器人 IP!
一旦配置好,您可以使用自然语言来控制您的机器人:
上传协议:
将位于 /path/to/my_protocol.py 的协议文件上传到我位于 192.168.1.100 的机器人
检查机器人状态:
检查我位于 192.168.1.100 的机器人是否健康并准备好
运行协议:
列出我机器人上的所有协议,然后为最新的一个创建并开始运行
监控进度:
显示我机器人上运行 abc123 的状态
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
// 连接到 MCP 服务器
const client = new Client(/* transport */);
// 上传协议
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 服务器提供的搜索和文档工具。
欢迎贡献!请随时提交问题和拉取请求。
无许可,随意使用