README
🚀 SketchupMCP - SketchUp 模型上下文协议集成
SketchupMCP 实现了 SketchUp 与 Claude AI 的连接,借助 Model Context Protocol (MCP),Claude 能够直接与 SketchUp 进行交互并对其加以控制。该集成支持提示辅助的 3D 建模、场景创建与操作,为 3D 设计工作带来了更多便利。
在此,向 Blender MCP 致敬,感谢其提供的灵感与架构参考。
🚀 快速开始
要使用 SketchupMCP,你需要完成安装并启动连接,之后便可与 Claude 集成进行交互。具体步骤如下:
- 安装:按照“安装指南”中的步骤完成 Python 包和 SketchUp 插件的安装。
- 启动连接:在 SketchUp 中启动服务器,并确保 MCP 服务器也在运行。
- 与 Claude 集成:将特定配置添加到 Claude 配置中,即可开始使用。
✨ 主要特性
- 双向通信:通过 TCP 套接字连接,实现 Claude 与 SketchUp 的双向通信。
- 组件操作:支持在 SketchUp 中创建、修改、删除和变换组件。
- 材质控制:可以应用和修改材质与颜色。
- 场景信息:能够获取当前 SketchUp 场景的详细信息。
- 选择处理:可获取并操作选定的组件。
- Ruby 代码执行:直接在 SketchUp 中执行任意 Ruby 代码,实现高级操作。
📦 安装指南
Python 包管理
我们使用 uv,请运行以下命令进行安装:
brew install uv
SketchUp 插件
- 下载或构建最新的
.rbz文件。 - 在 SketchUp 中,转到
Window > 扩展管理器。 - 点击 "安装扩展" 并选择下载的
.rbz文件。 - 重启 SketchUp。
💻 使用示例
启动连接
- 在 SketchUp 中,转到
Extensions > 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 控台中的错误信息。
- 超时错误:尝试简化请求或将其分解为更小步骤。
🔧 技术细节
通信协议
系统使用基于 JSON 的简单协议通过 TCP 套接字进行通信:
- 命令:以 JSON 结构传输。
- 响应:包含状态代码和消息。
- 数据大小指定:使用
Content-Length头指定数据大小。 - 支持的 HTTP 方法:
POST,GET,DELETE。
🤝 贡献指南
欢迎为 SketchupMCP 做出贡献!请参考 CONTRIBUTING.md 了解如何参与。
📄 许可证
此项目受 LICENSE 管理。
Scan to contact