Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Syscad

FreeNot checked

Syscad MCP Server

GitHubEmbed

About

Syscad MCP Server

README


  syscad-mcp-server 是面向 MCP 协议的独立 SysCAD 服务封装。它依赖 sysplorer-mcp-server 提供的 Sysplorer 主会话管理能力,自身只暴露 SysCAD 相关能力;在调用 start 前,应确保 sysplorer-mcp-server 已启动并存在可连接的 Sysplorer 运行实例。

当前包结构按 sidecar 形态组织:

  • main.py:顶层 launcher。只负责定位 bundle 根目录,并转入 syscad_mcp_server/main.py
  • syscad_mcp_server/:全部 MCP 实现代码、测试和运行期目录
  • resources/:顶层资源目录,包含 SysCAD quickref、rules、examples 和 resources_manifest.json
  • install_mcp.ps1:Windows 安装脚本

其中,MCP 服务启动时会自动读取 resources/ 下的规则摘要,并把它们注入 MCP instructions。

系统要求

  • Windows 10/11 64 位
  • Sysplorer 2026a
  • 支持 MCP 的客户端,例如 Claude Code、OpenCode、Codex

SysCAD 软件

SysCAD 是几何原型设计环境,可与 Sysplorer 联合实现几何设计-仿真-优化的迭代闭环。SysCAD 软件请联系我们获取

安装方式

快速安装

本包根目录与 main.py 同级执行安装脚本即可:

Windows:

.\install_mcp.ps1

安装脚本会把 syscad_mcp 写入以下客户端配置:

  • Claude Code: %USERPROFILE%\.claude.json
  • OpenCode: %USERPROFILE%\.config\opencode\opencode.json
  • Codex: %USERPROFILE%\.codex\config.toml

脚本写入的是当前 bundle 根目录下的 main.py 绝对路径,并显式传入:

  • --mworks-install-dir
  • --resources-dir

手动启动

若只想本地启动服务进行调试,可直接运行:

python .\main.py --mworks-install-dir "C:\Program Files\MWORKS\Sysplorer 2026a"

如果资源目录不在默认位置,可补充:

python .\main.py --mworks-install-dir "C:\Program Files\MWORKS\Sysplorer 2026a" --resources-dir "D:\path\to\resources"

启动参数

顶层 main.py 会把参数透传给 syscad_mcp_server/main.py。当前实际支持的启动参数如下:

  • --mworks-install-dir:指定 Sysplorer 安装目录
  • --resources-dir:指定资源目录,目录下应包含 resources_manifest.json 和 SysCAD 相关资源文件

MCP Tools

工具列表

当前服务共提供 6 个工具,与 sysplorer-mcp-server 提供的建模、仿真和资源检索能力不同,这 6 个工具只聚焦 SysCAD 侧的能力:启动与关闭 SysCAD、执行 SysCAD 内部 Python 脚本、同步参数,以及触发 Modelica 导出。它们适合承担整个 CAD 到系统模型流程中“几何建模与导出”这一段工作。

从用途上看,这些工具可以分为以下 3 类。

1. 会话准备与生命周期

工具英文名 工具中文描述 工具具体功能描述
health_check 健康检查工具 用于检查 SysCAD IPC named pipe 是否在线,是判断当前客户端能否和 SysCAD 建立通信的最轻量入口。若返回找不到 pipe,通常说明 MCP 服务本身已启动,但 SysCAD 尚未启动或尚未附着完成。
start 启动 SysCAD 工具 用于先附着到现有 Sysplorer 会话,再由 Sysplorer 拉起 SysCAD。它通常是所有 CAD 建模任务的第一步;如果复用了已有 Sysplorer 实例,返回中的 detail 可能为 false,但只要 ok=true,仍应按成功处理。
close 关闭 SysCAD 工具 用于通过 SysCADStarter.CloseSysCAD(force) 关闭 SysCAD。默认会尽量正常关闭;若存在未保存文档导致确认框阻塞,可传入 force=true 丢弃未保存修改并强制关闭。

2. 参数同步与导出

工具英文名 工具中文描述 工具具体功能描述
update_param 参数同步工具 用于触发 Sysplorer 到 SysCAD 的参数同步,使 Sysplorer 侧的设计参数、表达式或配置变更回写到当前 CAD 模型。适合在参数驱动建模、设计变量迭代以及重新导出前执行。
generate_mo Modelica 导出工具 用于调用 SysCADStarter.GenerateMo() 触发 Modelica 导出。它只表示“导出请求已受理并入队”,不表示导出已经完成;调用前应尽量确保相关文档已保存,导出后再回到 sysplorer-mcp-server 侧继续做加载、检查、翻译或仿真验证。

3. 脚本化建模与自动化

工具英文名 工具中文描述 工具具体功能描述
run_script 脚本执行工具 用于在 SysCAD 内部 Python 环境中执行完整脚本文本,是几何建模、导入 CAD、分组、材质设置、标架与运动副创建等自动化任务的核心入口。

4. 典型调用顺序

  1. 先调用 health_check 判断 SysCAD 是否已经就绪;若尚未就绪,则调用 start
  2. 使用 run_script 一次性完成几何、参数、分组和运动副相关操作,尽量不要把同一装配拆成多次异步脚本调用。
  3. 如果 Sysplorer 侧参数发生变化,先调用 update_param 把参数同步到 SysCAD。
  4. 调用 generate_mo 触发 Modelica 导出,再切回 sysplorer-mcp-server 侧继续做模型加载、检查、翻译或仿真。
  5. 工作结束后,按需调用 close 关闭 SysCAD。

返回格式

它们全部返回统一 JSON 结构:

{
  "ok": true,
  "detail": {},
  "message": "",
  "error": "",
  "advice": ""
}

运行约束

  • 本服务不会自行启动 Sysplorer 主会话,只会附着到已存在的 Sysplorer 运行实例。
  • generate_mo 表示“导出请求已入队”,不表示导出已经完成。
  • 编写 run_script 时,优先遵守 resources/syscad/quickref/02-syscad_python_api.mdresources/syscad/rules/syscad_workflow_rules.md
  • 涉及完整装配时,应尽量把几何、参数、分组和运动副放进一次 run_script 调用中完成。

验证安装

完成安装后,重启客户端并验证:

  1. 在 Claude Code 中执行 /mcp list,确认存在 syscad_mcp
  2. 或直接调用 health_check
  3. 若返回 No SysCAD IPC pipe found,说明服务已启动,但 SysCAD 尚未启动;此时继续检查 Sysplorer 会话并调用 start

开发测试

当前自动化测试位于 syscad_mcp_server/tests/。在仓库根目录执行:

python -m pytest -q

真实环境 smoke test 默认跳过;若已配置好本机 Sysplorer / SysCAD,可设置 SYSCAD_RUN_LIVE_TESTS=1 后再运行。

案例

仓库内置了一个六自由度机械臂案例:samples/6dof-robot-arm-main

这个案例展示了从 SysCAD CAD 模型到 Modelica 系统模型的完整样例链路,主要包含三部分:

  • cad/:六轴机械臂的 SysCAD 源模型
  • modelica/:导出的机械臂本体模型,以及面向“小球颜色分拣”的分拣系统模型
  • scripts/:用于构建 CAD、运行分拣场景和导出验证报告的辅助脚本

从功能上看,这个案例可以用来演示六轴机械臂本体建模、抓取放置循环验证,以及单球、多球、感知噪声、执行误差和鲁棒性等分拣场景的系统级仿真与验证。

许可证

本项目采用 MIT 许可证授权,有关详细信息,请参阅 LICENSE 文件。

from github.com/Suzhou-Tongyuan/syscad-mcp-server

Installing Syscad

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/Suzhou-Tongyuan/syscad-mcp-server

FAQ

Is Syscad MCP free?

Yes, Syscad MCP is free — one-click install via Unyly at no cost.

Does Syscad need an API key?

No, Syscad runs without API keys or environment variables.

Is Syscad hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Syscad in Claude Desktop, Claude Code or Cursor?

Open Syscad on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Syscad with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs