返回市场
开特隆斯-MCP服务器

开特隆斯-MCP服务器

作者:yerbymatey5 星标更新:2025-06-25

项目介绍

Opentrons MCP 服务器

这是一个用于 Opentrons 机器人自动化和 API 文档的模型上下文协议(MCP)服务器。此工具提供了全面的 API 文档以及对 Opentrons Flex 和 OT-2 机器人的直接控制能力。

功能

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 Windows: %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 类别(如 Health, Control, Protocol Management 等)

get_api_overview

获取 Opentrons HTTP API 结构和功能的高层次概述。

自动化工具

upload_protocol

将协议文件上传到 Opentrons 机器人。

  • robot_ip(必需):机器人 IP 地址
  • file_path(必需):协议文件路径(.py 或 .json)
  • protocol_kind(可选):"standard" 或 "quick-transfer"(默认:"standard")
  • key(可选):客户端跟踪键
  • run_time_parameters(可选):运行时参数值

get_protocols

列出存储在机器人上的所有协议。

  • robot_ip(必需):机器人 IP 地址
  • protocol_kind(可选):按协议类型过滤

create_run

在机器人上创建新的协议运行。

  • robot_ip(必需):机器人 IP 地址
  • protocol_id(必需):要运行的协议 ID
  • run_time_parameters(可选):运行时参数值

control_run

控制运行执行(播放、暂停、停止、恢复)。

  • robot_ip(必需):机器人 IP 地址
  • run_id(必需):要控制的运行 ID
  • action(必需):"play", "pause", "stop", 或 "resume-from-recovery"

get_runs

列出机器人上的所有运行。

  • robot_ip(必需):机器人 IP 地址

get_run_status

获取特定运行的详细状态。

  • robot_ip(必需):机器人 IP 地址
  • run_id(必需):要检查的运行 ID

robot_health

检查机器人健康和连接性。

  • robot_ip(必需):机器人 IP 地址

control_lights

打开或关闭机器人灯光。

  • robot_ip(必需):机器人 IP 地址
  • on(必需):true 打开灯光,false 关闭灯光

home_robot

归位机器人轴或特定移液器。

  • robot_ip(必需):机器人 IP 地址
  • target(可选):"robot" 归位所有轴,"pipette" 归位特定挂载
  • mount(可选):"left" 或 "right"(如果目标是 "pipette" 则需要)

使用示例

与 Claude Desktop 一起使用

Opentrons MCP 在行动 截图显示了在 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"
    }
  }
});

要求

  • Node.js 18+
  • 启用了 HTTP API 的 Opentrons 机器人(端口 31950)
  • 客户端和机器人之间的网络连接

机器人设置

确保您的 Opentrons 机器人:

  1. 连接到与客户端相同的网络
  2. 运行机器人软件版本 7.0.0+
  3. 在端口 31950 上可访问(默认用于 HTTP API)

您可以通过访问浏览器中的 http://your-robot-ip:31950/health 来验证连接性。

API 参考

此工具提供了对完整的 Opentrons HTTP API 的访问,包括:

  • 协议管理:上传、分析和管理协议文件
  • 运行管理:创建、控制和监控协议运行
  • 硬件控制:机器人移动、归位、照明和校准
  • 系统管理:健康监测、设置和诊断
  • 模块控制:温度模块、磁力模块、热循环仪
  • 数据管理:运行时参数的 CSV 文件

有关详细的 API 文档,请使用此 MCP 服务器提供的搜索和文档工具。

故障排除

无法连接到机器人

  • 验证机器人 IP 地址是否正确
  • 确保机器人已开机并连接到网络
  • 检查端口 31950 是否可访问
  • 确认机器人软件正在运行

协议上传失败

  • 验证文件路径存在且可读
  • 确保协议文件是有效的 Python (.py) 或 JSON 格式
  • 检查机器人上的可用磁盘空间
  • 确认协议与机器人类型(OT-2 vs Flex)兼容

运行执行问题

  • 验证所有必需的实验室设备和模块已连接
  • 检查机器人校准状态
  • 确保协议分析成功完成
  • 确认没有硬件错误或冲突

贡献

欢迎贡献!请随时提交问题和拉取请求。

许可

无许可,随意使用

相关项目