机器人控制协议服务器

一个允许AI助手与ABB RobotStudio交互的模型上下文协议(MCP)服务器,包含C#插件和TypeScript MCP服务器两部分。

  • by DavidSeyserGit
  • C#
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 DavidSeyserGit/robotstudio-mcp

使用说明

RobotStudio MCP服务器桥

一个模型上下文协议(MCP)服务器,允许AI助手与ABB RobotStudio进行交互。该系统由两部分组成:

  1. C#插件A.NET Framework DLL运行在RobotStudio内部,在端口8080上公开本地HTTP REST API
  2. 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

  1. 推出ABB RobotStudio
  2. 使用虚拟控制器打开或创建工作站
  3. 插件会自动加载并在端口8080上启动HTTP服务器
  4. 检查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\

许可证

麻省理工学院