mcpField
U
ugs-mcp

ugs-mcp

本地服务
github.com/zackpeters93其他620 周前更新

关于 ugs-mcp

ugs-mcp 是通过 Universal GCode Sender Pendant REST API 控制 CNC 机床的 MCP 服务,面向 CNC 操作人员及 AI 助手。它提供状态查询、G-code 检查和运动控制,并以强制确认令牌保护运动指令。

主要功能

  1. 01连接 UGS 并排查连接问题
  2. 02读取机床和作业状态
  3. 03点动轴、回零并设置工件零点
  4. 04检查并估算 G-code
  5. 05运动指令执行前要求令牌确认

适用场景

  1. 01查看机床位置和作业状态
  2. 02检查 G-code 安全性及预计运行时间
  3. 03令牌确认后再移动 CNC 机床

MCP 相关

向 MCP 客户端提供 UGS 连接、状态、作业、运动和 G-code 工具。每条运动指令都必须提供服务端生成的一次性确认令牌。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"zackpeters93-ugs": {
"command": "uvx",
"args": [
"ugs-mcp"
],
"env": {
"UGS_HOST": "<UGS_HOST>",
"UGS_PORT": "<UGS_PORT>",
"MACROS_DIR": "<MACROS_DIR>",
"RAPID_SPEED_MM_MIN": "<RAPID_SPEED_MM_MIN>"
}
}
}
}
启动命令uvx ugs-mcp
需要配置的环境变量
UGS_HOSTUGS Pendant host address
UGS_PORTUGS Pendant port (default: 8080)
MACROS_DIRDirectory for saved G-code macros
RAPID_SPEED_MM_MINRapid speed in mm/min used for return-to-zero (default: 5000)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiugs-mcp0.1.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

ugs-mcp

PyPI version CI License: MIT Python 3.11+ ugs-mcp MCP server

通过 Universal GCode Sender 控制 CNC 机器的 MCP 服务。

让 Claude(或任何兼容 MCP 的 AI 助手)连接到 CNC 机器、检查 G-code, 并发出运动命令——所有操作均通过 UGS Pendant REST API 完成。


⚠️ 停下,先阅读。

本软件用于控制机器,这些机器可能损坏设备、毁坏工件,并造成人员受伤甚至死亡。

CNC 机器移动速度很快,而且不知道你的手在哪里。使用前请:

  • 阅读 SAFETY.md 中的全部内容。
  • 了解可防止 Claude 自主移动机器的令牌确认系统。
  • 确认急停按钮的位置。

如果你只是匆匆浏览安全文档,出了问题,责任由你承担。我们已经提醒过你。


功能

  • 连接工具 — 将 UGS 连接到 CNC 机器或断开连接,并排查串行端口问题
  • 状态工具 — 读取机器状态、位置、进给速度和主轴转速
  • 运动工具(受令牌保护)— 移动各轴、回零、返回工件零点,以及运行 G-code 文件和宏
  • G-code 检查器 — 将 G-code 转译为英语、进行安全检查、估算循环时间并列出工具

每条运动命令都采用两步令牌协议:Claude 生成令牌并展示给你,只有你读回令牌后机器才会移动。Claude 无法绕过这一机制——令牌由服务端生成并验证。


要求

  • Universal GCode Sender 2.x(winder.github.io/ugs_website)
  • 已安装并启用 UGS Pendant 插件(工具 → 插件 → 已安装)
  • Pendant 正在 http://localhost:8080 上运行(默认值)
  • Python 3.11+

安装

通过 pip 安装
pip install ugs-mcp
从源代码安装
git clone https://github.com/zackpeters93/ugs-mcp.git
cd ugs-mcp
pip install -e .

Claude Code 配置

claude mcp add ugs-cnc ugs-mcp

也可以从源代码运行(不通过 pip install 安装):

claude mcp add ugs-cnc /path/to/ugs-mcp/ugs_mcp/run_server.sh

Claude Desktop 配置

在 ~/Library/Application Support/Claude/claude_desktop_config.json 中:

{
  "mcpServers": {
    "ugs-cnc": {
      "command": "ugs-mcp"
    }
  }
}

也可以从源代码运行:

{
  "mcpServers": {
    "ugs-cnc": {
      "command": "/opt/homebrew/opt/[email protected]/libexec/bin/python3",
      "args": ["-m", "ugs_mcp.server"],
      "cwd": "/path/to/ugs-mcp"
    }
  }
}

配置

环境变量(均为可选):

变量默认值描述
UGS_HOSTlocalhostUGS Pendant 主机
UGS_PORT8080UGS Pendant 端口
MACROS_DIRugs_mcp/macros/保存的 G-code 宏的目录
RAPID_SPEED_MM_MIN5000返回零点时使用的快速移动速度

复制 .env.example 到 .env 进行自定义。


令牌系统

所有运动工具都必须经过两步确认:

步骤 1 — 不带令牌调用工具。Claude 会显示操作预览(轴、距离、移动后的位置、安全警告)以及类似 [A3F8B2C1] 的令牌。

步骤 2 — 阅读预览。如果你同意,就把令牌告诉 Claude。Claude 会再次调用工具,并传入 confirmation_token="A3F8B2C1"。机器随即移动。

令牌由服务端通过 uuid4() 生成,有效期为 2 分钟,且只能使用一次。Claude 无法预测、伪造或重复使用令牌。只有你输入令牌,机器才会移动。


工具

完整的工具参考(含参数、示例和典型工作流),请参阅 USER_GUIDE.md。

类别工具
连接ugs_connect、ugs_disconnect、ugs_troubleshoot_connection
状态ugs_get_status、ugs_get_job_status
作业ugs_run_file、ugs_pause_job、ugs_cancel_job
运动ugs_jog、ugs_home、ugs_return_to_zero、ugs_set_work_zero
G-codegcode_safety_check、gcode_estimate_time、gcode_translate、gcode_list_tools、gcode_save_macro、gcode_list_macros、gcode_run_macro

测试环境

  • SainSmart Genmitsu 3018 Pro(GRBL)
  • 带 Pendant 插件的 UGS 2.x
  • macOS / Python 3.11

可能适用于任何基于 GRBL 的机器。TinyG/FluidNC/Smoothieware 未经测试。


许可证

MIT — 请参阅 LICENSE。

不提供任何担保。不承担任何责任。请阅读 SAFETY.md。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。