机械臂语音控制MCP
RobotArm MCP P340 是一个基于模型上下文协议(MCP)的服务器实现,为大象机器人 MyCobot 系列机械臂提供自然语言控制功能(特别针对 ultraArmP340 进行了优化)。通过对话式 AI 控制机械臂,让机器人技术人人可用。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"mycobot": {
"command": "D:\\AI\\mycobot-mcp\\start_mcp_server.bat"
}
}
}
服务介绍
RobotArm MCP P340
概述
这是一个模型上下文协议(MCP)服务器实现,为ElephantRobotics MyCobot系列机械臂(特别是针对ultraArmP340进行了优化)提供自然语言控制。该服务器通过对话式AI使机械臂的控制变得简单易用,让每个人都能轻松操作。
特性
- 🤖 支持多种MyCobot型号(ultraArmP340, MyCobot280, MyCobot320)
- 🎮 通过MCP协议进行自然语言控制
- 🔧 无需物理硬件的开发模拟模式
- 🛡️ 包括紧急停止在内的安全特性
- 📊 实时状态监控
组件
工具
服务器提供了以下控制工具:
连接管理
- connect_robot - 连接到机械臂
- 输入:
model(字符串): 机器人型号 - 输入:
port(字符串): 串行端口 - 返回: 连接状态
- 输入:
状态监控
- get_robot_status - 获取当前机器人状态
- 返回: 当前角度、坐标、夹爪/泵状态、运动状态
运动控制
-
move_to_angles - 将关节移动到特定角度
- 输入:
angles(数组): 每个关节的目标角度 - 输入:
speed(整数): 移动速度 - 返回: 移动确认
- 输入:
-
move_to_coords - 移动到特定坐标
- 输入:
coords(数组): 目标坐标 - 输入:
speed(整数): 移动速度 - 返回: 移动确认
- 输入:
末端执行器控制
- control_gripper - 控制夹爪开闭
- control_pump - 控制吸盘开关
系统命令
- go_zero - 使机器人返回零位
- emergency_stop - 紧急停止所有运动
高级运动控制
- execute_action_sequence - 执行自定义动作序列
- 输入:
sequence_name(字符串): 序列的描述性名称 - 输入:
actions(数组): 动作列表,每个动作包含:type: 动作类型 ("angles", "coords", "gripper", "pump", "wait")angles/coords: 目标位置(基于类型)speed: 移动速度(可选,默认50)duration: 动作持续时间(秒,可选)gripper_action: "open" 或 "close" (对于夹爪类型)pump_action: "on" 或 "off" (对于泵类型)
- 输入:
default_interval(浮点数): 动作之间的默认间隔(可选,默认0.5秒) - 返回: 执行状态及完成的动作数量
- 注意: 该工具通过动作序列实现复杂行为,如猫玩耍、画圆、跳舞和自定义手势
- 输入:
资源
- status://current - 实时机器人状态信息
提示
-
robot_control_guide - 交互式机器人控制指南
- 参数:
task(任务类型) - 提供逐步指导
- 参数:
-
design_action_sequence - 设计自定义动作序列的模板
- 参数:
task_description: 任务描述(例如,“跳舞”,“猫玩耍”,“按摩”)
- 提供结构化的动作序列设计指导
- 帮助设计平滑、连续且具有适当时间的动作
- 参数:
快速开始
安装
- 确保已安装Python 3.10
- 安装依赖项:
bash
pip install robotarm-mcp-p340
在Cursor中的配置
有三种方法在Cursor中配置MCP:
方法1:Python模块配置(推荐用于已安装的包)
如果你已经通过pip安装了包:
json
{
"mcpServers": {
"mycobot": {
"command": "填写安装了robotarm-mcp-p340的虚拟环境文件夹下的python路径",
"args": ["-u", "-m", "mycobot_mcp"],
"env": {
"SIMULATE": "1"
}
}
}
}
示例:
{
"mcpServers": {
"mycobot": {
"command": "D:\anaconda3\envs\test-robotarm\python.exe",
"args": ["-u", "-m", "mycobot_mcp"],
"env": {
"SIMULATE": "1"
}
}
}
}#### 方法2:开发配置(适用于GitHub克隆)
如果你是从GitHub克隆的项目并进行开发:
json
{
"mcpServers": {
"mycobot": {
"command": "填写项目虚拟环境文件夹下的Python路径",
"args": [
"-u",
"-m",
"mycobot_mcp"
],
"env": {
"SIMULATE": "1",
"PYTHONPATH": "填写src文件夹的绝对路径"
},
"cwd": "填写项目根目录的绝对路径"
}
}
}
示例:
{
"mcpServers": {
"mycobot": {
"command": "D:\Anaconda3\envs\mycobot-mcp\python.exe",
"args": [
"-u",
"-m",
"mycobot_mcp"
],
"env": {
"SIMULATE": "1",
"PYTHONPATH": "D:\AI\mycobot-mcp\src"
},
"cwd": "D:\AI\mycobot-mcp"
}
}
}
重要提示:
"SIMULATE": "1"用于无硬件的模拟测试。对于真实设备测试,请将SIMULATE设置为"0"- 方法2需要在项目的虚拟环境中安装
requirements.txt中列出的依赖项 - 必须使用
-u标志来禁用Python输出缓冲 - 将
PYTHONPATH设置为包含src目录 - 根据你的安装调整路径
方法3:批处理文件配置(Windows)
-
创建一个批处理文件
start_mcp_server.bat:
batch
@echo off
cd /d D:\AI\mycobot-mcp
set PYTHONPATH=D:\AI\mycobot-mcp\src
set SIMULATE=1
D:\Anaconda3\envs\mycobot-mcp\python.exe -u -m mycobot_mcp -
配置Cursor:
json
{
"mcpServers": {
"mycobot": {
"command": "D:\AI\mycobot-mcp\start_mcp_server.bat"
}
}
}
配置步骤
- 打开Cursor设置 (Ctrl+,)
- 搜索 "MCP" 或 "Model Context Protocol"
- 使用上述方法之一添加配置
- 重启Cursor以应用更改
验证
成功配置后,你应该看到:
- ✅ MCP状态中显示 "9 tools enabled"
- ✅ 聊天中可用的工具:
connect_robot、get_robot_status等
使用示例
-
连接到机器人:
- "连接到我的ultraArm P340机器人"
- "初始化COM3端口上的机器人"(根据你的设备实际COM端口号调整,默认是3)
-
基本移动:
- "将机械臂移动到位置 [200, 0, 150]"
- "设置关节角度为 [45, 30, -20]"
- "返回原点"
-
夹爪控制:
- "打开夹爪"
- "关闭夹爪以拾取物体"
- "开启吸泵"
-
复杂任务:
- "用机械臂和我的猫玩耍"
- "在桌子上画一个圆圈"
- "教我如何写汉字"
- "让机器人随着音乐跳舞"
- "创建自定义挥手序列"
开发模式
设置 SIMULATE=1 以在无硬件的情况下测试:
bash
export SIMULATE=1 # Linux/Mac
set SIMULATE=1 # Windows
故障排除
如果工具未正确加载:
-
检查Cursor中的MCP日志:
- 查看 → 输出 → 选择 "MCP" 通道
- 查找错误信息
-
本地测试服务器:
bash对于已安装的包
python -m mycobot_mcp
对于开发(从项目根目录)
cd D:\AI\mycobot-mcp
set PYTHONPATH=src
python -m mycobot_mcp -
常见问题及解决方案:
-
"No module named 'mycobot_mcp'":
- 开发时:确保
PYTHONPATH包含src文件夹 - 安装时:从项目根目录运行
pip install -e .
- 开发时:确保
-
"Tools not loading":
- 确认你使用的是
-m mycobot_mcp而不是-m mycobot_mcp.server - 确认开发模式下
cwd设置为项目根目录
- 确认你使用的是
-
配置提示:
- ✅ 始终使用
-u标志以实现非缓冲输出 - ✅ 将
PYTHONPATH设置为src文件夹(而不是src/mycobot_mcp) - ✅ 使用
cwd设置工作目录以进行开发 - ❌ 不要直接运行
server.py
- ✅ 始终使用
-
安全指南
⚠️ **重要安全信息:**1. 始终确保机器人周围的工作空间清晰
2. 将手和物体远离运动部件
3. 如果出现意外行为,请使用紧急停止
4. 在测试新动作时,从慢速开始
5. 切勿在人身上进行按摩演示
6. 时刻监督宠物与机器人的互动
许可证
此MCP服务器基于MIT许可证发布。详情请参阅LICENSE文件。
概述
RobotArm MCP P340 是一个基于模型上下文协议(MCP)的服务器实现,为大象机器人 MyCobot 系列机械臂提供自然语言控制功能(特别针对 ultraArmP340 进行了优化)。通过对话式 AI 控制机械臂,让机器人技术人人可用。
功能特点
- 🤖 支持多种 MyCobot 型号(ultraArmP340、MyCobot280、MyCobot320)
- 🎮 通过 MCP 协议实现自然语言控制机械臂
- 🔧 模拟模式支持无硬件开发
- 🛡️ 包含紧急停止等安全功能
- 📊 实时状态监控
组件说明
工具(Tools)
服务器提供以下控制工具:
连接管理
- connect_robot - 连接机械臂
- 输入:
model(字符串):机器人型号 - 输入:
port(字符串):串口号 - 返回:连接状态
- 输入:
状态监控
- get_robot_status - 获取机器人当前状态
- 返回:当前角度、坐标、夹爪/吸泵状态、运动状态
运动控制
-
move_to_angles - 移动关节到指定角度
- 输入:
angles(数组):各关节目标角度 - 输入:
speed(整数):运动速度 - 返回:运动确认
- 输入:
-
move_to_coords - 移动到指定坐标
- 输入:
coords(数组):目标坐标 - 输入:
speed(整数):运动速度 - 返回:运动确认
- 输入:
末端执行器控制
- control_gripper - 控制夹爪开合
- control_pump - 控制吸泵开关
系统命令
- go_zero - 回零位
- emergency_stop - 紧急停止
高级运动控制
- execute_action_sequence - 执行自定义动作序列
- 输入:
sequence_name(字符串):动作序列的描述性名称 - 输入:
actions(数组):动作列表,每个动作包含:type:动作类型("angles"、"coords"、"gripper"、"pump"、"wait")angles/coords:目标位置(根据类型)speed:移动速度(可选,默认50)duration:动作持续时间(秒,可选)gripper_action:"open"或"close"(夹爪类型)pump_action:"on"或"off"(吸泵类型)
- 输入:
default_interval(浮点数):动作间默认间隔(可选,默认0.5秒) - 返回:执行状态及完成的动作数
- 注意:此工具可实现逗猫、画圆、跳舞等复杂行为,通过动作序列组合实现各种创意动作
- 输入:
资源(Resources)
- status://current - 实时机器人状态信息
提示(Prompts)
-
robot_control_guide - 机器人控制交互指南
- 参数:
task(任务类型) - 提供分步骤操作指导
- 参数:
-
design_action_sequence - 设计自定义动作序列的模板
- 参数:
task_description:任务描述(如"跳舞"、"逗猫"、"按摩"等)
- 提供结构化的动作序列设计指导
- 帮助设计流畅连续的动作及合理的时间安排
- 参数:
快速开始
安装配置
- 确保已安装 Python 3.10
- 安装依赖:
bash
pip install robotarm-mcp-p340
Cursor 配置方法
有三种方法在 Cursor 中配置 MCP:
方法 1:Python 模块配置(推荐用于已安装的包)
如果您已通过 pip 安装了包:
json
{
"mcpServers": {
"mycobot": {
"command": "填写安装了robotarm-mcp-p340的虚拟环境文件夹下的python路径",
"args": ["-u", "-m", "mycobot_mcp"],
"env": {
"SIMULATE": "1"
}
}
}
}
示例如下:
{
"mcpServers": {
"mycobot": {
"command": "D:\anaconda3\envs\test-robotarm\python.exe",
"args": ["-u", "-m", "mycobot_mcp"],
"env": {
"SIMULATE": "1"
}
}
}
}#### 方法 2:开发配置(用于从 GitHub 克隆的项目)
如果您从 GitHub 克隆并正在开发:
json
{
"mcpServers": {
"mycobot": {
"command": "填写安装了该项目虚拟环境文件夹下的python路径",
"args": [
"-u",
"-m",
"mycobot_mcp"
],
"env": {
"SIMULATE": "1",
"PYTHONPATH": "填写 src 文件夹的绝对路径"
},
"cwd": "填写项目根目录的绝对路径"
}
}
}
示例如下:
json
{
"mcpServers": {
"mycobot": {
"command": "D:\Anaconda3\envs\mycobot-mcp\python.exe",
"args": [
"-u",
"-m",
"mycobot_mcp"
],
"env": {
"SIMULATE": "1",
"PYTHONPATH": "D:\AI\mycobot-mcp\src"
},
"cwd": "D:\AI\mycobot-mcp"
}
}
}
重要说明:
"SIMULATE": "1"为无硬件设备的模拟测试,实机测试需要把SIMULATE值设置为"0"- 方法二需要在项目虚拟环境中安装
requirements.txt中的项目依赖 - 必须使用
-u参数禁用 Python 输出缓冲 - 设置
PYTHONPATH包含src目录 - 根据您的安装路径调整路径
方法 3:批处理文件配置(Windows)
-
创建批处理文件
start_mcp_server.bat:
batch
@echo off
cd /d D:\AI\mycobot-mcp
set PYTHONPATH=D:\AI\mycobot-mcp\src
set SIMULATE=1
D:\Anaconda3\envs\mycobot-mcp\python.exe -u -m mycobot_mcp -
配置 Cursor:
json
{
"mcpServers": {
"mycobot": {
"command": "D:\AI\mycobot-mcp\start_mcp_server.bat"
}
}
}
配置步骤
- 打开 Cursor 设置(Ctrl+,)
- 搜索 "MCP" 或 "Model Context Protocol"
- 使用上述方法之一添加配置
- 重启 Cursor 使配置生效
验证配置
配置成功后,您应该看到:
- ✅ MCP 状态显示 "9 tools enabled"
- ✅ 聊天中可用工具:
connect_robot、get_robot_status等
使用示例
-
连接机器人:
- "连接我的 ultraArm P340 机械臂"
- "初始化 COM3 端口的机器人"(根据您设备的实际 COM 端口调整数字,默认是 3)
-
基础运动:
- "移动机械臂到位置 [200, 0, 150]"
- "设置关节角度为 [45, 30, -20]"
- "回到零位"
-
夹爪控制:
- "打开夹爪"
- "闭合夹爪抓取物体"
- "开启吸泵"
-
复杂任务:
- "用机械臂逗猫"
- "在桌上画个圆"
- "演示如何写汉字"
- "让机器人跟着音乐跳舞"
- "创建一个自定义的挥手动作序列"
开发模式
设置 SIMULATE=1 无需硬件测试:
bash
export SIMULATE=1 # Linux/Mac
set SIMULATE=1 # Windows
故障排除
如果工具加载失败:
-
检查 Cursor 的 MCP 日志:
- 视图 → 输出 → 选择 "MCP" 通道
- 查看错误信息
-
本地测试服务器:
bash对于已安装的包
python -m mycobot_mcp
对于开发模式(从项目根目录)
cd D:\AI\mycobot-mcp
set PYTHONPATH=src
python -m mycobot_mcp -
常见问题和解决方案:
-
"No module named 'mycobot_mcp'":
- 开发模式:确保
PYTHONPATH包含src文件夹 - 已安装:从项目根目录运行
pip install -e .
- 开发模式:确保
-
"工具未加载":
- 检查是否使用
-m mycobot_mcp而不是-m mycobot_mcp.server - 验证开发模式下
cwd设置为项目根目录
- 检查是否使用
-
配置提示:
- ✅ 始终使用
-u标志实现无缓冲输出 - ✅ 设置
PYTHONPATH为src文件夹(而不是src/mycobot_mcp) - ✅ 使用
cwd为开发设置工作目录 - ❌ 不要再直接运行
server.py
- ✅ 始终使用
-
安全指南
⚠️ 重要安全信息:
- 确保机器人周围有足够空间
- 运动时远离机械部件
- 出现异常立即使用紧急停止
- 测试新动作时使用低速
- 按摩演示仅用于展示,勿用于真人
- 与宠物互动时全程监督## 许可证
本项目采用 MIT 许可证。详见 LICENSE 文件。