Sketchup模型控制协议集成

SketchupMCP通过模型上下文协议(MCP)将Sketchup与Claude AI连接,实现AI辅助3D建模与场景操作。

  • by dasfink
  • Ruby
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 dasfink/sketchup-mcp

使用说明

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

SketchupMCP通过模型上下文协议(MCP)将Sketchup连接到Claude AI,允许Claude直接与Sketchup交互和控制Sketchup。此集成支持Sketchup中的提示辅助3D建模、场景创建和操作。

大声呼喊 搅拌机MCP 灵感和结构。

特性

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

组件

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

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

安装

Python打包

我们正在使用紫外线,所以你需要 brew install uv

草图扩展

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

用法

启动连接

  1. 在Sketchup中,转到扩展>SketchupMCP>启动服务器
  2. 服务器将在默认端口(9876)上启动
  3. 确保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代码以进行高级操作

示例命令

以下是一些你可以要求克劳德做的事情的例子:

  • “创建一个有屋顶和窗户的简单房屋模型”
  • “选择所有组件并获取其信息”
  • “将所选组件设置为红色”
  • “将所选组件向上移动10个单位”
  • “将当前场景导出为3D模型”
  • “使用Ruby代码创建一个复杂的工艺品柜”

故障排除

  • 连接问题:确保Sketchup扩展服务器和MCP服务器都在运行
  • 命令失败:检查Sketchup中的Ruby控制台是否有错误消息
  • 超时错误:尝试简化您的请求或将其分解为更小的步骤

技术细节

通信协议

该系统在TCP套接字上使用简单的基于JSON的协议:

  • 命令 以JSON对象的形式发送 type 可选 params
  • 回复 JSON对象具有 status 和 result 或 message

贡献

欢迎投稿!请随时提交拉取请求。

许可证

麻省理工学院