sketchup连接器
通过模型上下文协议将Sketchup连接到Claude AI,使Claude能够直接与Sketchup交互并对其进行控制,从而实现提示辅助的3D建模和场景操作。
服务介绍
SketchupMCP - Sketchup 模型上下文协议集成
SketchupMCP 通过模型上下文协议 (MCP) 将 Sketchup 连接到 Claude AI,使 Claude 能够直接与 Sketchup 交互并控制它。这种集成支持提示辅助的 3D 建模、场景创建和在 Sketchup 中的操作。
特别感谢 Blender MCP 提供的灵感和结构。
功能
- 双向通信:通过 TCP 套接字连接将 Claude AI 连接到 Sketchup
- 组件操作:在 Sketchup 中创建、修改、删除和变换组件
- 材质控制:应用和修改材质和颜色
- 场景检查:获取当前 Sketchup 场景的详细信息
- 选择处理:获取和操作选定的组件
- Ruby 代码评估:直接在 SketchUp 中执行任意 Ruby 代码以进行高级操作
组件
系统由两个主要组件组成:
- Sketchup 扩展:一个 Sketchup 扩展程序,在 Sketchup 内创建一个 TCP 服务器以接收和执行命令
- MCP 服务器 (
sketchup_mcp/server.py):一个实现模型上下文协议并与 Sketchup 扩展连接的 Python 服务器
安装
Python 包管理
我们使用 uv,因此你需要运行 brew install uv
Sketchup 扩展
- 下载或构建最新的
.rbz文件 - 在 Sketchup 中,转到 窗口 > 扩展管理器
- 单击“安装扩展”并选择下载的
.rbz文件 - 重启 Sketchup
使用方法
启动连接
- 在 Sketchup 中,转到 扩展 > SketchupMCP > 启动服务器
- 服务器将在默认端口(9876)上启动
- 确保 MCP 服务器在你的终端中运行
与 Claude 一起使用
配置 Claude 以使用 MCP 服务器,请将以下内容添加到你的 Claude 配置中:
"mcpServers": {
"sketchup": {
"command": "uvx",
"args": [
"sketchup-mcp"
]
}
}
这将从 PyPI 获取最新版本
一旦连接成功,Claude 可以使用以下功能与 Sketchup 交互:
工具
get_scene_info- 获取当前 Sketchup 场景的信息get_selected_components- 获取当前选定组件的信息create_component- 用指定参数创建新组件delete_component- 从场景中移除一个组件transform_component- 移动、旋转或缩放组件set_material- 为组件应用材质export_scene- 将当前场景导出为各种格式eval_ruby- 在 SketchUp 中执行任意 Ruby 代码以进行高级操作
示例命令
以下是一些你可以让 Claude 执行的示例命令:
- "创建一个带有屋顶和窗户的简单房屋模型"
- "选择所有组件并获取它们的信息"
- "将选中的组件变成红色"
- "将选中的组件向上移动 10 个单位"
- "将当前场景导出为 3D 模型"
- "使用 Ruby 代码创建一个复杂的工艺品橱柜"
故障排除
- 连接问题:确保 Sketchup 扩展服务器和 MCP 服务器都在运行
- 命令失败:检查 Sketchup 中的 Ruby 控制台是否有错误消息
- 超时错误:尝试简化您的请求或将它们分解为更小的步骤
技术细节
通信协议
系统使用基于 TCP 套接字的简单 JSON 协议:
- 命令作为带有
type和可选params的 JSON 对象发送 - 响应是带有
status和result或message的 JSON 对象
贡献
欢迎贡献!请随时提交 Pull Request。
许可证
MIT