草图大师-MCP集成
通过模型上下文协议(Model Context Protocol)将Sketchup与Claude AI连接起来的集成技术,使Claude能够直接与Sketchup交互并对其进行控制,从而实现提示辅助的3D建模、场景创建和操作。
服务介绍
SketchupMCP - Sketchup 模型上下文协议(MCP)整合
SketchupMCP 通过模型上下文协议(MCP)将 Sketchup 连接到 Claude AI,使 Claude 能够直接与 Sketchup 互动和控制。这项整合允许使用提示辅助 3D 建模、场景创建和操作 Sketchup。
特别感谢 mhyrr/sketchup-mcp 提供的架构。
我们对其原生版本(mhyrr/sketchup-mcp)进行了繁体中文化及部分功能优化与调整。
功能
- 双向通信:通过 TCP 套接字连接 Claude AI 与 Sketchup
- 组件操作:在 Sketchup 中创建、修改、删除和变换组件
- 材质控制:应用和修改材质与颜色
- 场景检查:获取当前 Sketchup 场景的详细信息
- 选取处理:获取并操作已选取的组件
- Ruby 代码执行:在 Sketchup 中直接执行任意 Ruby 代码,以进行高级操作
组件
该系统由两个主要组件组成:
- Sketchup 扩展:在 Sketchup 内部创建 TCP 服务器来接收并执行命令的扩展
- MCP 服务器(
sketchup_mcp/server.py):实现模型上下文协议并连接到 Sketchup 扩展的 Python 服务器
安装
安装 Sketchup 扩展
- 下载或自行构建最新的
.rbz文件 - 在 Sketchup 中,前往 Window > Extension Manager
- 点击 Install Extension,然后选择下载的
.rbz文件 - 重新启动 Sketchup
Python 包安装
我们使用 uv 来管理 Python 环境,因此需要先安装 uv:
pip install uv
通过 Smithery 安装
要使用 Smithery 安装 Sketchup MCP:
npx -y @smithery/cli install @BearNetwork-BRNKC/SketchUp-MCP --client claude
安装 Sketchup 扩展
- 下载或自行构建最新的
.rbz文件 - 在 Sketchup 中,前往 Window > Extension Manager
- 点击 Install Extension,然后选择下载的
.rbz文件 - 重新启动 Sketchup
使用方式
启动连接
- 在 Sketchup 中,前往 Extensions > SketchupMCP > Start Server
- 服务器将默认启动在 9876 端口
- 确保 MCP 服务器已在终端运行
与 Claude 配合使用
在 Claude 配置中加入以下内容,以使用 MCP 服务器:
"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 协议:
- 命令 以 JSON 对象的形式发送,包含
type和可选的params - 响应 以 JSON 对象的形式返回,包含
status及result或message
许可
MIT 许可证