使用说明
RobotStudio MCP服务器桥
一个模型上下文协议(MCP)服务器,允许AI助手与ABB RobotStudio进行交互。该系统由两部分组成:
- C#插件A.NET Framework DLL运行在RobotStudio内部,在端口8080上公开本地HTTP REST API
- TypeScript MCP服务器:一个公开MCP工具并与C#插件通信的Node.js应用程序
项目结构
/robotstudio-mcp
/src
server.ts # TypeScript MCP Server
package.json
tsconfig.json
/addin
RobotStudioAddin.cs # C# Source for the Add-in
RobotStudioMcpAddin.csproj
addin.xml # Add-in manifest
packages.config # NuGet dependencies
先决条件
- ABB RobotStudio 2024(或兼容版本)
- .NET Framework 4.8 SDK
- Node.js 18或更高版本
- Visual Studio 2022(或MSBuild)
构建C#插件
1.更新SDK参考
编辑 addin/RobotStudioMcpAddin.csproj 并更新RobotStudio SDK路径以匹配您的安装:
<Reference Include="ABB.Robotics.RobotStudio">
<HintPath>C:\Program Files (x86)\ABB\RobotStudio 2024\Bin\ABB.Robotics.RobotStudio.dll</HintPath>
</Reference>
2.还原NuGet包
cd addin
nuget restore
或者使用Visual Studio,右键单击解决方案并选择“还原NuGet包”。
3.构建外接程序
使用MSBuild:
cd addin
msbuild RobotStudioMcpAddin.csproj /p:Configuration=Release
或打开 RobotStudioMcpAddin.csproj 在Visual Studio中进行编译。
构建后事件将自动将DLL复制到:
%LocalAppData%\ABB\RobotStudio\Addins\RobotStudioMcpAddin\
4.手动安装(如需要)
如果构建后事件未运行,请手动复制这些文件:
addin\bin\Release\RobotStudioMcpAddin.dll
addin\bin\Release\Newtonsoft.Json.dll
addin\addin.xml
致:
%LocalAppData%\ABB\RobotStudio\Addins\RobotStudioMcpAddin\
构建TypeScript MCP服务器
cd src
npm install
npm run build
运行系统
1.启动RobotStudio
- 推出ABB RobotStudio
- 使用虚拟控制器打开或创建工作站
- 插件会自动加载并在端口8080上启动HTTP服务器
- 检查RobotStudio输出窗口:“RobotStudio MCP插件已启动。正在端口8080上监听”
2.验证外接程序是否正在运行
直接测试HTTP API:
curl http://localhost:8080/health
curl http://localhost:8080/status
curl http://localhost:8080/joints
3.配置克劳德桌面
添加到您的Claude Desktop配置(%AppData%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"robotstudio": {
"command": "node",
"args": ["C:/Users/YOUR_USERNAME/robotstudio-mcp/src/dist/server.js"]
}
}
}
替换 YOUR_USERNAME 使用您的实际Windows用户名。
4.重新启动克劳德桌面
更新配置后,重新启动Claude Desktop以加载MCP服务器。
可用的MCP工具
get_robot_joints
在RobotStudio虚拟控制器中从活动机器人读取实时关节位置(J1-J6)。以度为单位返回关节角度。
示例响应:
Robot Joint Positions (degrees):
J1: 0.000°
J2: 0.000°
J3: 0.000°
J4: 0.000°
J5: 90.000°
J6: 0.000°
control_simulation
启动或停止RobotStudio模拟。
参数:
action:"start"或"stop"
get_station_status
获取RobotStudio的当前状态,包括工作站是否打开、仿真状态和虚拟控制器信息。
HTTP API端点(加载项)
| 端点 | 方法 | 描述 |
|---|---|---|
/health |
GET | 健康检查 |
/status |
GET | 站点和模拟状态 |
/joints |
GET | 当前联合头寸 |
/simulation |
POST | 控制模拟({"action": "start|stop"}) |
故障排除
“无法连接到RobotStudio”
- 确保RobotStudio正在运行
- 检查插件是否已加载(在输出窗口中查找消息)
- 验证防火墙未阻止端口8080
- 测试用
curl http://localhost:8080/health
“找不到虚拟控制器”
- 在RobotStudio中打开一个包含虚拟控制器的工作站
- 虚拟控制器必须正在运行(已启动)
加载项未加载
- 检查加载项文件夹:
%LocalAppData%\ABB\RobotStudio\Addins\RobotStudioMcpAddin\ - 确保
addin.xml,RobotStudioMcpAddin.dll,以及Newtonsoft.Json.dll存在 - 在中检查RobotStudio版本兼容性
addin.xml
SDK引用的构建错误
- 更新
<HintPath>元素在.csproj文件以匹配您的RobotStudio安装路径 - 常见路径:
C:\Program Files (x86)\ABB\RobotStudio 2024\Bin\C:\Program Files\ABB\RobotStudio 2024\Bin\
许可证
麻省理工学院
