返回市场
草图-updater-mcp

草图-updater-mcp

作者:BearNetwork-BRNKC11 星标更新:2025-04-01

项目介绍

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

smithery 徽章

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

特别感谢 mhyrr/sketchup-mcp 提供的框架。 我们优化并调整了传统中文文化及其原版的一些特性 (mhyrr/sketch up mcp)。

功能

  • 双向通信:通过 TCP 套接字连接,Claude AI 向 Sketchup 发送指令
  • 组件操作:在 Sketchup 中创建、修改、删除和转换组件
  • 材质控制:应用和修改材质和颜色
  • 场景检查:获取当前 Sketchup 场景的详细信息
  • 提取处理:检索和操作提取的组件
  • Ruby 代码执行:在 Sketchup 中直接执行中间的 Ruby 代码以进行高级操作

组件

系统由两个主要组件组成:

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

安装

安装 Sketchup 扩展

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

Python 工具安装

我们使用 uv 来管理 Python 环境,因此需要先安装 uv

pip install uv

通过 Smithery 安装

要使用 Smithery 安装 Sketchup MCP:

npx -y @smithery/cli install @BearNetwork-BRNKC/SketchUp-MCP --client claude

安装 Sketchup 扩展

  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 代码以进行高级操作

指令示例

这里是一些可以请求 Claude 执行的操作示例:

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

故障排除

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

技术细节

通信协议

该系统基于 TCP 套接字的简单性 JSON 协议:

  • 命令 使用 JSON 对象的形式发送,包括 type 和可选的 params
  • 响应 以 JSON 对象的形式返回,包括 statusresultmessage

授权

MIT 授权许可