SketchupMCP
by BearNetwork-BRNKC
Verified
# SketchupMCP - Sketchup 模型上下文協議(MCP)整合
[](https://smithery.ai/server/@BearNetwork-BRNKC/SketchUp-MCP)
SketchupMCP 透過模型上下文協議(MCP)將 Sketchup 連接到 Claude AI,使 Claude 能夠直接與 Sketchup 互動和控制。這項整合允許使用提示輔助 3D 建模、場景創建和操作 Sketchup。
特別感謝 [mhyrr/sketchup-mcp](https://github.com/mhyrr/sketchup-mcp) 提供的架構。
我們對其原生版本(mhyrr/sketchup-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 中,前往 **Window > Extension Manager**
3. 點擊 **Install Extension**,然後選擇下載的 `.rbz` 檔案
4. 重新啟動 Sketchup
### Python 套件安裝
我們使用 `uv` 來管理 Python 環境,因此需要先安裝 `uv`:
```sh
brew install uv
```
### Installing via Smithery
要使用 [Smithery](https://smithery.ai/server/@BearNetwork-BRNKC/SketchUp-MCP) 安裝 Sketchup MCP:
```bash
npx -y @smithery/cli install @BearNetwork-BRNKC/SketchUp-MCP --client claude
```
### 安裝 Sketchup 擴展
1. 下載或自行構建最新的 `.rbz` 檔案
2. 在 Sketchup 中,前往 **Window > Extension Manager**
3. 點擊 **Install Extension**,然後選擇下載的 `.rbz` 檔案
4. 重新啟動 Sketchup
## 使用方式
### 啟動連線
1. 在 Sketchup 中,前往 **Extensions > SketchupMCP > Start Server**
2. 伺服器將預設啟動在 **9876** 端口
3. 確保 MCP 伺服器已在終端執行
### 與 Claude 配合使用
在 Claude 配置中加入以下內容,以使用 MCP 伺服器:
```json
"mcpServers": {
"sketchup": {
"command": "uvx",
"args": [
"sketchup-mcp"
]
}
}
```
這將自動從 [PyPI](https://pypi.org/project/sketchup-mcp/) 下載最新版本。
成功連接後,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 物件的形式返回,包含 `status` 及 `result` 或 `message`
## 授權
MIT 授權許可證