SolidCraft-cli mcp代理人运行与工具栏、脚本和 CLI 相同的引擎命令 - 创建草图,功能,设置参数,测量,屏幕截图,出口 STEP/STL, undo/redo - 无需打开对话。
127.0.0.1:27878(或下一个免费端口高达27893)。如果您喜欢的话,请在“偏好” >“助手” >“让AI代理人连接(控制频道 / MCP)”中关闭它们。# Headless
SolidCraft-cli mcp
# Headless from a design or script
SolidCraft-cli mcp --in part.sc
# Bridged: app listens by default — bare mcp finds it (headless when none runs; --headless forces that)
SolidCraft &
SolidCraft-cli mcp
# Fixed port / second app
SolidCraft --control 7878 &
SolidCraft-cli mcp --connect 127.0.0.1:7878
在 Snap 上安装 CLI 是SolidCraft.cli应用程序将选择的端口写入到control/current.port在其数据文件夹中;--control / SolidCraft_CONTROL_PORT仍然超越。
SolidCraft_CONTROL_TOKEN过--token在桥梁 - 命令行args在流程列表(官方文件)中可见。最快的路径在 app 中:帮助 › 连接 AI 助理...从一个终端(与SolidCraft-cli可用 - 参见下面的 PATH 注释):
SolidCraft-cli mcp setup # every client found on this computer
SolidCraft-cli mcp setup --dry-run # show what it would write, change nothing
SolidCraft-cli mcp setup --client opencode --live
mcp install这是一个 alias formcp setup命令写作 aSolidCraft服务器输入使用全路关于TheSolidCraft-cli它运行了,所以客户端不需要该二进制PATH一个客户端在其配置文件夹已经存在时被计算为已安装;安装不会启动客户端应用程序。<name>.bak首先,无法读取的文件单独留下来,更新后的后续重新运行只会更新它写的条目路径(用户编辑的条目留在你离开的位置)。--live因此添加SolidCraft-live在端口7878上打开的应用程序,然后重新启动客户端。
自从0.22.1,在正常启动时,应用程序也可以自己做到这一点:它添加或更新SolidCraft对于每个安装的客户端(Claude Desktop 和 Claude Code、Codex、OpenCode、Gemini CLI、Copilot CLI、Cursor、VS Code、Windsurf 和 Zed)的 MCP 输入,并简短地报告其连接的内容。设置 › 助手 › 使 SolidCraft 可用于此计算机上的 AI 应用程序此分類上一篇: 自動運行(--control或SolidCraft_CONTROL_PORT) 让您的客户独自一人 帮助 › 连接 AI 助理... 和SolidCraft-cli mcp setup当您想自行配置客户端时,请保持明确的路径;如果您不禁用,启动时自动连接是补充的。
支持--client价值观和他们写的地方:
--client | 配置文件 |
|---|---|
opencode | ~/.config/opencode/opencode.json(或.jsonc) |
claude-desktop | %APPDATA%\Claude\claude_desktop_config.json, ~/Library/Application Support/Claude/, ~/.config/Claude/,以及 Microsoft Store 包文件夹 |
claude-code | ~/.claude.json(用户范围)mcpServers) |
cursor | ~/.cursor/mcp.json |
codex | $CODEX_HOME或~/.codex, config.toml(CLI, IDE 扩展,桌面) |
gemini | ~/.gemini/settings.json |
copilot | ~/.copilot/mcp-config.json(使用GitHub Copilot CLI) |
windsurf | ~/.codeium/windsurf/mcp_config.json |
zed | 西德settings.json (context_servers) |
vscode | 代码用户mcp.json |
OpenCode、Gemini、Copilot CLI、Windsurf、Zed 和 VS 代码可以使用相同的代码。mcp setup --client …手动OpenCode输入格式(手动编辑时):
{
"mcp": {
"SolidCraft": { "type": "local", "command": ["/path/to/SolidCraft-cli", "mcp"], "enabled": true }
}
}
SolidCraft-cli对于MCP大多数包装SolidCraft-cli是PATH自 0.22.1 覆盖 Windows 安装程序文件夹以来,macOS 应用程序(链接到/opt/homebrew/bin或/usr/local/bin)和AppImage(小发射器在~/.local/bin在第一个运行时),加上 deb/rpm/FreeBSD/usr/bin《Homebrew Cask. Two Stay Away》PATH设计:Snap ExposesSolidCraft.cli飞行员跑步flatpak run --command=SolidCraft-cli io.tangencylabs.solidcraft使用这些作为客户的command与mcpAppImage 输入点仍然是 GUI;提取SolidCraft-clifrom the squashfs remains a valid alternate. 已验证的步骤和客户端配置:
从官方MCPdoc:
claude mcp add SolidCraft -- SolidCraft-cli mcp
或项目.mcp.json:
{
"mcpServers": {
"SolidCraft": { "command": "SolidCraft-cli", "args": ["mcp"] }
}
}
随着控制频道和 MCP 默认启用 (0.21.0+,通过 0.30.0 重置),正常启动应用,然后指向 Claude Desktop 在一个空白mcp(它會找到正在運行的應用程式)。在安裝正常程式後,SolidCraft-cli通常在PATH自 0.22.1 (Windows 安装程序; macOS 应用程序; AppImage~/.local/bin初次运行后发射器;加上 deb/rpm/FreeBSD 和 Homebrew) - 重新启动客户端,以便接收新的PATH如果终端无法找到它(典型的旧 Windows 安装程序),请通过完整的路径,例如C:\Program Files\SolidCraft\SolidCraft-cli.exe用于SnapSolidCraft.cli用於使用Flatpakflatpak与 Argsrun --command=SolidCraft-cli io.tangencylabs.solidcraft mcp(或设置)command/args官方固定端口示例claude_desktop_config.json当您命名一个端口时,它仍然工作:
{
"mcpServers": {
"SolidCraft": {
"command": "/path/to/SolidCraft-cli",
"args": ["mcp"]
}
}
}
对于固定港口:args: ["mcp", "--connect", "127.0.0.1:7878"]然后开始应用程序与SolidCraft --control 7878.
代码得到支持SolidCraft-cli mcp setup --client codex(配置下)$CODEX_HOME或~/.codex, config.toml)你也可以跟随OpenAI 代码 MCP 文档: Codex 将 MCP 服务器保存在~/.codex/config.toml(或一个项目).codex/config.toml在值得信赖的项目中),由Codex CLI、IDE扩展和桌面应用共享。
用一个命令添加无头服务器:
codex mcp add SolidCraft -- SolidCraft-cli mcp
codex mcp list # check it is registered
或 Edit~/.codex/config.toml手动,例如将桥梁连接到正在运行的应用程序并允许设计文件夹:
[mcp_servers.solidcraft]
command = "SolidCraft-cli"
args = ["mcp", "--connect", "127.0.0.1:7878", "--allow-path", "/absolute/path/to/your/designs"]
在 Codex 终端 UI 中,/mcp显示活跃的服务器. 使用到二进制的完整路径,如果SolidCraft-cli不是在路边(Snap:SolidCraft.cli• 平板:flatpak run --command=SolidCraft-cli io.tangencylabs.solidcraft标签: 第一发射器~/.local/bin或者看CLI 居住的地方单独,SolidCraft的内部应用程序特工聊天面板可以通过Codex运行npm install -g @agentclientprotocol/codex-acp(官方文件)
Cursor 得到支持SolidCraft-cli mcp setup --client cursor(写作)~/.cursor/mcp.json)下面的手动配置格式如下课程文档 (.cursor/mcp.json或~/.cursor/mcp.json) 设置或手动编辑后,重新加载并确认工具出现在 Cursor 的 MCP 设置中。
{
"mcpServers": {
"SolidCraft": {
"type": "stdio",
"command": "SolidCraft-cli",
"args": ["mcp", "--allow-path", "/absolute/path/to/your/designs"]
}
}
}
使用完整的二进制路径,如果 Cursor 无法找到SolidCraft-cli上一篇: 为了Snap:SolidCraft.cli对于Flatpak来说:flatpak与run --command=SolidCraft-cli io.tangencylabs.solidcraft mcp.
| 工具 | 角色 |
|---|---|
list_commands | 命令目录 |
describe_command | 一个命令的参数文档; JSON 对其输入和结果的方案,其中命令有一个输入合同(只读) |
execute / batch | 运行模型命令;batch可以回滚错误和报告rolled_back, undone, applied和not_run可选coalesce_parameters(默认错误) 将连续的平行参数编辑合并,以便设计每运行一次重建(一个 undo 步骤;每个步骤保持一个coalesced行程长度)。timings: true添加每步和总毫秒;profile: true添加 kernel boolean / tessellate / 其他分裂,如果应用程序支持它;verbose: false大型设计响应保持较小. 两种工具都支持可选expect二 主张volume_mm3 / bodies / bbox成功后(相对)tol默认值 0.002; bbox 坐标在 0.05 mm 内);响应赢得expectation (ok,测量,预期,不匹配);一个不匹配设置isError: true但是,它保持了设计(不可避免的),无效。expect在任何事情发生之前被拒绝。expect是一个工具参数,而不是一批步骤密钥;某些工具可能被命名为步骤;screenshot, body_topology, batch, check_parameters, pending, running和skill_reference不能,也不能component.edit_in_place或component.finish_edit(单独送他们去。execute一批在发送任何东西之前也失败,当一个步骤在其转变时肯定会被拒绝(#5853):没有命令的步骤,未知的命令ID(错误命名最接近的ID),或 - 与--param-check strict一个无头的会话会自行检查这一点;当桥接时,在接收批次时,在请求自身水平上检查的应用程序会对其自己的命令进行检查(服务器通过连接请求一次)。control.capabilities / param_check);一个较旧的应用程序在发送之前在服务器上对服务器的合同进行检查(在strict,没有任何违反合同的内容被发送) |
inspect_design / measure / body_topology | 阅读地理和时间线;inspect_design还列出了大会的组合(关闭与joints: false) |
set_parameter | 创建/更改参数和重新计算 |
check_parameters | 试用参数值而不保留它们:一edit.checkpoint,将每个值设置为一个parameters.change {changes}(一个重建),阅读所选择的报告,然后edit.restore_checkpoint因此,设计、参数和 undo 历史都与它们相匹配。set: {name: value}(每个数字或表达式,相同的set_parameter」svalue(二)可选report? (measure, cylinders, errors答案包括:答案包括:答案包括values, recomputed, measure, errors/warnings(更多)parameter_errors), cylinders(圆形面孔合并)和restored: true未知参数名称的错误,错误值,或恢复失败(restored: false + restore_error;试验值可能仍然存在于设计中)。set_parameter→measure→body_topology→set_parameter回头,不是batch改变设计,然后将其放回 - 不是只读,不是破坏性的(与set_parameter/undo/redo; new_design仍有破坏性) |
screenshot | 模型或窗口的 PNG |
export | STEP、3MF、STL、OBJ、URDF等。 |
open / save / new_design | 文档生命周期 |
undo / redo | 历史 |
crash_reports | 列出此计算机的故障报告,或按ID打开一个(backtrace和最近的命令) |
skill_reference | 读一读《知识分子》SolidCraft-modeling, SolidCraft-mechanisms, SolidCraft-editing, SolidCraft-checking, SolidCraft-reporting(二)可选file(缺点)reference.md只读;在文件工具关闭时使用代理聊天(自 0.21.0 以来)。initialize和代理聊天系统注明先指导代理人在这里 |
running | 显示应用在每个连接客户端(没有参数)中忙碌或排队的内容;即使在应用程序忙碌时也响应,因此在重新发送更改之前在时间关闭后检查它(自 0.18.3 ) |
pending | 桥梁模式:经过长时间的控制请求返回“仍在运行”,等待最多60秒以获得该结果(done: false当他奔跑的时候,pending: null只有等待,只有等待。running, skill_reference和crash_reports |
只读 vs 不可能: skill_reference, crash_reports, pending和running只有读者。set_parameter, undo, redo和check_parameters设计不变( )check_parameters後來再來,再來,再來,再來,再來,再來,再來,再來。new_design取代设计(破坏性)。
长期的请求(桥梁):服务器可以在缓慢的控制呼叫中阻止长达 300 秒;设置 MCP 客户端时间超过 330 秒 如果呼叫时间过期或返回“仍在运行”,不要重发相同的更改 - 呼叫pending或/或running(或inspect_design)第一。
代理可以设置相同的视角确认控制通过ui.prefs钥匙view_confirm_corner(缺陷是假的)
首选 › 导航 › 3D 鼠标在此计算机上的设备应用程序桥,代理人可以设置ui.prefs钥匙nav_bridge_enabled(默认错误)和nav_bridge_port第875章 來源:docs / 3d 鼠标.md和印刷 Docs.
代理可以设置偏好 › 导航正确拖动轨道通过ui.prefs钥匙right_drag_orbits(默认为 true; false 将相机单独留在右拖动上,鼠标预设则会轨道)。印刷 Docs.
代理可以通过 Zoom-with-key 设置 Preferences › Navigation trackpadui.prefs钥匙trackpad_zoom_modifier (off故障;cmd, alt,或ctrl— 单独保持这个密钥,这样垂直的双手指滚动缩放)。印刷 Docs.
代理人可以通过设置 Preferences › Design Assembly Moveui.prefs钥匙assembly_move_handles(默认为 true; false 保持前面移动面板),joint_rotation_coarse(默认 10°),以及joint_rotation_fine(默认值为 0.1°) 来源:印刷 Docs.
代理可以设置偏好 › 界面快速测量通过ui.prefs钥匙quick_measure(默认错误) 来源:印刷 Docs.
代理可以设置“偏好”>“草图和选择”选择隐藏的几何与选择其他通过ui.prefs钥匙select_other_hidden(默认 true; false restores visible-only under the pointer)。印刷 Docs.
代理人可以通过管理个人纸板规则ui.prefs钥匙personal_sheet_rules(一)命令sheet.manage_rules主持人: 源:印刷 Docs.
代理和脚本可以管理相同的偏好 › 一般 › 设置配置文件通过settings.profile.list, settings.profile.save, settings.profile.apply, settings.profile.rename, settings.profile.delete, settings.profile.export和settings.profile.import(导出/导入使用SolidCraft-profile/1文件格式) 这些是引擎指令execute,不包含在上面的 MCP 协议工具表中。印刷 Docs.
代理人可以通过运行程序检查开放设计是否发生了变化,而无需重新读取。document.revision通过execute;答案是{document_id, revision} — revision只有当设计变更时,才会进行进展。document_id标识打开的文档(一个不同的后new_design或open) 在桌面控制频道上,客户端可以拨打control.subscribe一次而不是投票:第一回复匹配document.revision然后 app 会推design.changed每一次事件document_id或revision变更(在值继续移动时,合并到每秒约10个;拒绝在相同连接上的第二次订阅 - 请问document.revision目前的位置: 来源:docs/mcp.md 相关信息和监控协议.md(根据设计)。
图形限制和模型几何:对于巧合、、平等、平行、垂直、中点(一个点和一个行或两个行的中间点),集中、合线和对称,任何常见的草图参数可以是模型边缘。{edge: [x,y,z], body?}或 Vertex{vertex: [x,y,z], body?}SolidCraft 项目先进入草图;投影列在created来源:docs.solidcraft.io 打印(限制命令参数)。
标签标签(solid.extrude):根据索引或点的配置文件选择通常由该区域周围的曲线存储,以便它们继续跟随参数编辑。当参考几何(例如,草图所坐面的面部的投影形状)将绘制的配置文件划分为区域时,该绘制的配置文件的选择仍然占有整个绘制的配置文件。exact_regions: true使每个索引或点选择都意味着它命名的区域,匹配 Extrude 对话对话发送的内容。docs.solidcraft.io 打印 (solid.extrude参数)。
参数检查(自 0.17.0;SolidCraft-cli run自 0.27.0; 桥梁应用程序呼叫自 0.27.1):附加条款 附加条款(describe_command顯示方案)可以檢查當他們被召喚。--param-check off|warn|strict用于无头脑的 MCP 会话(包括--in写作,为SolidCraft-cli run,以及 - 自 0.27.1 以来 - 对于连接到正在运行的应用程序的呼叫:off是故意的,沒有改變。warn运行呼叫,但添加警告,如可能错误键,并strict连接时,服务器会向应用程序询问应用程序是否在请求的水平上检查一次。control.capabilities和param_check在监控协议.md) 如果应用程序这样做,每个电话和batch通过这个级别发送,应用程序会对其自己的命令进行检查(因此,较新的应用程序的密钥不会被较旧的服务器的合同拒绝)。strict,一个答案没有说在那个级别上检查的应用程序是一个错误(呼叫可能运行未检查 - 检查设计),然后服务器自行检查下一个呼叫。strict没有发送任何打破一个命令;没有服务器合同的命令不被检查) 使用这样一个较旧的应用程序,保持服务器和应用程序在同一版本。joint.inspect通过execute来源:docs/mcp.md 相关信息.
五个包装的代理技能生活在下方skills/在 Repo 中:SolidCraft-modeling, SolidCraft-editing, SolidCraft-checking, SolidCraft-mechanisms,和SolidCraft-reporting(将用户问题转化为错误报告:以新鲜的设计复制,缩小到最小命令脚本,检查measure并拍摄屏幕,并先搜索现有问题)。skill_reference工具(自 0.21.0)返回这些包装的文件,而不需要磁盘访问。initialize指令控制连接的代理人打电话skill_reference首先,然后规划尺寸,在几batch调用,并检查每个步骤measure— SolidCraft 自己的代理聊天系统注释给出了相同的指针。pending和running工具(共 21 个工具,分开计算 undo/redo)running通过 0.30.0 重置)。 仍在 0.30.0 中:可选expect是execute/batch, check_parameters,并启动指南呼叫skill_reference首页 > 添加到 v0.30.0assembly.mass_properties; select.set可以以世界毫米点或指数为面部或边缘;document.inspect自 0.24.0 以来,应用程序中的代理聊天将工具调用显示为简单的概述(细节只需单击)。
桌面助手可以通过在您的计算机上运行的模型来驱动开放的设计奥尔玛, LM 工作室,或其他 OpenAI 兼容的服务器. 您需要具有原生工具调用(在Ollama,寻找一个tools功能)和足够的VRAM为模型加上其背景. 单靠工具支持不能保证良好的结果。
设置:启动服务器并加载模型 → 偏好 › AI › 添加代理... › OpenAI 兼容 API → 选择 Ollama、LM Studio 或自定义 URL → 输入基础 URL (例如:http://localhost:11434/v1对于 Ollama)和模型名称 → 测试,然后添加 → 打开助手,选择终端,并设置权限(Ask / Edits / All)。
哪些模型工作?可用工具的本地模型差异很大. 官方测量结果(标准测试 v1)GitHub 问题 #4851一般来说,在 ~ 8 GB VRAM 类中具有工具功能的较小的模型可以工作;较大的模型通常得分更高。
解决问题(高级别):答案是 JSON 或代码,但没有改变,通常意味着工具调用弱 - 尝试另一个模型从 #4851. HTTP 400 “不支持工具” 意味着选择一个工具可用的模型。num_ctx慢的答案通常意味着模型正在从VRAM流入CPU - 尝试一个较小的模型或量化。SolidCraft-cli bench-assistant自 0.23.1 起,助手还会在用户界面中警告,当一个转弯结束时不使用 SolidCraft 工具,并且当 Ollama 模型没有工具支持时。
默认情况下,工具只触摸:
--in设计,在应用中打开的设计,或代理上次打开或保存的任何东西 - 只有当该文件夹严格位于您的家庭或临时文件夹内(不是家庭本身,不是父母文件夹,如/或/Users,不是一个隐藏的文件夹。.env, .git)保持远离范围,open/save,或doc.open/file.save/file.save_as通过execute/batch具有完整的路径),并且在设计中打开的每个文件夹都没有头,直到服务器停止(最新的 16 个)。 一个文件夹只在成功打开或保存后加入 - 命名路径是不够的。--allow-path DIR您添加的文件(该文件夹可以完全访问,包括隐藏的文件)。服务器启动的工作文件夹本身不计数,因此主点文件如~/.ssh除非你允许他们。
SolidCraft-cli mcp --allow-path ~/designs --allow-path ~/exports
--allow-any-path删除限制(以前的行为) - 使用小心。
当 asave(或任何其他呼叫) 被拒绝 “此代理可能使用的文件夹之外”,将文件夹添加到 MCP 客户端的服务器args与--allow-path(或重现)SolidCraft-cli mcp setup编辑后),然后重新启动客户端,代理应该要求您这样做,而不是通过应用程序的控制端口保存,该端口忽略了这些文件夹限制。
在桥式模式下,服务器发送allow_paths而那些打开/保存的文件夹如design_folders每个要求(参见)监控协议.md);应用程序还根据相同的规则添加了恢复文件夹和设计文件夹 - 选择绝对路径。docs/mcp.md 相关信息.
从官方doc的示例会议的概念流程:
batch一个草图直角 → 挤出 → 子 → 切断一个洞measure面积 / 面积screenshot与view: "iso"export进入允许文件夹中的路径演示文本:示例 / 演示 / Enclosure_mcp.py在MCP上构建一个封锁。
也看:CAD MCP 服务器比较 · 安装指南 · 例子.