返回市场
草图大师-MCP

草图大师-MCP

作者:mhyrr150 星标更新:2025-03-14

项目介绍

SketchupMCP - Sketchup 模型上下文协议集成

SketchupMCP 通过模型上下文协议(MCP)将 Sketchup 连接到 Claude AI,使 Claude 能够直接与 Sketchup 交互并控制它。这种集成支持在 Sketchup 中进行提示辅助的 3D 建模、场景创建和操作。

特别感谢 Blender MCP 提供的灵感和结构。

功能

  • 双向通信:通过 TCP 套接字连接将 Claude AI 连接到 Sketchup
  • 组件操作:在 Sketchup 中创建、修改、删除和转换组件
  • 材质控制:应用和修改材质和颜色
  • 场景检查:获取当前 Sketchup 场景的详细信息
  • 选择处理:获取和操作选定的组件
  • Ruby 代码评估:在 SketchUp 中直接执行任意 Ruby 代码以进行高级操作

组件

系统由两个主要部分组成:

  1. Sketchup 扩展程序:一个 Sketchup 扩展程序,在 Sketchup 内部创建一个 TCP 服务器以接收和执行命令
  2. MCP 服务器 (sketchup_mcp/server.py):一个实现模型上下文协议并连接到 Sketchup 扩展程序的 Python 服务器

安装

Python 包装

我们使用了 uv,因此你需要安装 brew install uv

Sketchup 扩展程序

  1. 下载或构建最新的 .rbz 文件
  2. 在 Sketchup 中,转到窗口 > 扩展管理器
  3. 点击“安装扩展”并选择下载的 .rbz 文件
  4. 重启 Sketchup

使用

启动连接

  1. 在 Sketchup 中,转到扩展 > SketchupMCP > 启动服务器
  2. 服务器将在默认端口(9876)启动
  3. 确保终端中的 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 套接字:

  • 命令作为包含 type 和可选 params 的 JSON 对象发送
  • 响应是包含 statusresultmessage 的 JSON 对象

贡献

欢迎贡献!请随时提交 Pull Request。

许可证

MIT