SketchupMCP - Sketchup 模型上下文协议集成
SketchupMCP 通过模型上下文协议 (MCP) 将 Sketchup 与 Claude AI 连接起来,使 Claude 能够直接与 Sketchup 交互并控制 Sketchup。这种集成支持在 Sketchup 中进行快速辅助的 3D 建模、场景创建和操作。
非常感谢Blender MCP提供的灵感和结构。
特征
双向通信:通过 TCP 套接字连接将 Claude AI 连接到 Sketchup
组件操作:在 Sketchup 中创建、修改、删除和转换组件
材料控制:应用和修改材料和颜色
场景检查:获取当前 Sketchup 场景的详细信息
选择处理:获取并操作选定的组件
Ruby 代码评估:直接在 SketchUp 中执行任意 Ruby 代码以进行高级操作
Related MCP server: SketchUp MCP Server
成分
该系统由两个主要组件组成:
Sketchup 扩展:Sketchup 扩展,在 Sketchup 中创建 TCP 服务器来接收和执行命令
MCP 服务器 ( :一个实现模型上下文协议 ( MCP ) 并连接到 Sketchup 扩展的 Python 服务器
安装
Python 打包
我们正在使用 uv,因此您需要brew install uv
Sketchup扩展
下载或构建最新的
.rbz文件在 Sketchup 中,转到窗口 > 扩展管理器
点击“安装扩展程序”并选择下载的
.rbz文件重新启动 Sketchup
用法
启动连接
在 Sketchup 中,转到扩展 > SketchupMCP > 启动服务器
服务器将在默认端口(9876)上启动
确保 MCP 服务器正在你的终端中运行
与 Claude 一起使用
通过将以下内容添加到 Claude 配置中,配置 Claude 以使用 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 代码以进行高级操作
示例命令
以下是您可以要求克劳德做的事情的一些示例:
“创建一个带有屋顶和窗户的简单房屋模型”
“选择所有组件并获取其信息”
“将选定的组件设为红色”
“将选定的组件向上移动 10 个单位”
“将当前场景导出为 3D 模型”
“使用 Ruby 代码创建一个复杂的工艺品柜”
故障排除
连接问题:确保 Sketchup 扩展服务器和 MCP 服务器都在运行
命令失败:检查 Sketchup 中的 Ruby 控制台是否有错误消息
超时错误:尝试简化您的请求或将其分解为更小的步骤
技术细节
通信协议
该系统使用基于 JSON 的简单 TCP 套接字协议:
命令以 JSON 对象的形式发送,带有
type和可选params响应是带有
status和result或messageJSON 对象
贡献
欢迎贡献代码!欢迎提交 Pull 请求。
执照
麻省理工学院