🚀 SketchupMCP - Sketchup 模型上下文協議(MCP)整合
SketchupMCP 通過模型上下文協議(MCP)將 Sketchup 連接到 Claude AI,使 Claude 能夠直接與 Sketchup 進行交互和控制。這項整合允許使用提示輔助 3D 建模、場景創建和操作 Sketchup。
特別感謝 mhyrr/sketchup-mcp 提供的架構。我們對其原生版本(mhyrr/sketchup-mcp)進行了簡體中文化及部分功能優化與調整。

🚀 快速開始
SketchupMCP 藉助模型上下文協議(MCP),實現了 Sketchup 與 Claude AI 的連接,讓 Claude 可直接與 Sketchup 交互和控制。下面為你介紹如何快速開啟使用之旅。
連線設置
- 啟動服務器:在終端執行以下命令:
python -m sketchupmcp.server --host localhost --port 8000
- 啟用擴展並連線:
- 打開 Sketchup。
- 啟用 SketchupMCP 插件,選擇服務器 IP 和端口連接服務器。
✨ 主要特性
- 雙向通信:通過 TCP 套接字連接 Claude AI 與 Sketchup。
- 組件操作:在 Sketchup 中創建、修改、刪除和變換組件。
- 材質控制:應用和修改材質與顏色。
- 場景檢查:獲取當前 Sketchup 場景的詳細信息。
- 選取處理:獲取並操作選定的組件。
- Ruby 代碼執行:使用 Ruby 語言進行復雜的建模操作。
📦 安裝指南
Sketchup 擴展安裝
- 下載並安裝 Sketchup:官網下載地址:Sketchup 官方網站。
- 啟動軟件並安裝擴展:
- 打開 Sketchup。
- 進入 “編輯” 菜單,選擇 “擴展庫”。
- 在可用的擴展中找到並安裝 SketchupMCP。
- 啟用插件:
- 安裝完成後,在工具欄中找到 SketchupMCP 圖標。
- 點擊圖標以啟動插件,並按照提示連接至 MCP 服務器。
Python 套件安裝
- 安裝 Python 環境:推薦使用 Anaconda 或 Pyenv 管理多版本環境。
- 安裝依賴庫:開啟終端,執行命令:
pip install sketchupmcp
- 啟動服務器:使用以下命令啟動 MCP 服務器:
python -m sketchupmcp.server --host <IP> --port <PORT>
調整 <IP>
和 <PORT>
確保與 Sketchup 擴展連線正常。
💻 使用示例
基礎用法
以下是一些常見的操作指令示例:
基本命令
{
"type": "create_house",
"params": {
"roof_type": "gabled",
"window_count": 4
}
}
選取操作
{
"type": "select_components"
}
顏色修改
{
"type": "change_color",
"params": {
"color": "#FF0000"
}
}
📚 詳細文檔
系統結構
概述
SketchupMCP 系統包含以下主要部分:
- Sketchup 擴展:
- 功能:提供 Sketchup 平臺與外部服務器之間的通信橋接。
- 作用:接收用戶指令並通過 TCP 套接字傳送至服務器,同時將服務器回應傳送回客戶端。
- MCP 服務器:
- 功能:負責處理來自 Sketchup 擴展的請求,並執行相應的操作。
- 作用:解析指令、執行建模或操作,然後將結果反饋給客戶端。
具體結構
- Sketchup 擴展:
- 安裝步驟:
- 下載並安裝 Sketchup。
- 啟動軟件後,在擴展庫中安裝 SketchupMCP 插件。
- 開啟插件後,根據提示連接至 MCP 服務器。
- MCP 服務器:
- 安裝步驟:
- 安裝 Python 環境(建議使用最新版本)。
- 使用 Git 克隆 SketchupMCP 專案倉庫。
- 啟動服務器後,設定 IP 和端口等待客戶端連線。
疑難排解
連線問題
- 服務器未啟動:檢查服務器端是否已正確啟動,並顯示待機訊息。
- 防火牆干擾:確保服務器端的防火牆允許 TCP 端口連線。
- 網絡問題:使用
ping
命令測試服務器和客戶端之間的網絡連通性。
操作失敗
- 檢查錯誤訊息:查看 Sketchup 的 Ruby 控制檯,捕獲並分析錯誤訊息。
- 重啟服務:有時簡單地重新啟動服務器和客戶端可以解決瞬間異常。
高級調試
python -m sketchupmcp.server --log-level DEBUG
- 錯誤回溯:確保所有第三方庫已更新至最新版本,以避免潛在的兼容性問題。
安全考量
認證機制
- 用戶身份驗證:採用令牌認證方式,確保只有授權用戶能連線服務器。
- 數據加密:使用 SSL/TLS 加密通訊頻道,防止敏感數據被竊取。
常見攻擊防範
- 防止 DDoS 攻擊:配置限流策略,限制同時連線數量。
- 注入攻擊防護:在處理外部指令時,進行充分的輸入過濾和驗證。
常見問題解答
Q1: 如何安裝 SketchupMCP 插件?
A: 按以下步驟操作:
- 開啟 Sketchup。
- 進入 “編輯” > “擴展庫”。
- 安裝 SketchupMCP 插件。
Q2: 服務器無法啟動,應該怎麼辦?
A:
- 確保安裝了最新版本的 Python 和依賴庫。
- 檢查是否有其他程序佔用相同的端口。
- 查看服務器啟動日誌,尋找錯誤訊息。
Q3: 如何更改服務器端口號?
A: 在啟動命令中指定新的端口:
python -m sketchupmcp.server --host localhost --port 8001
Q4: 插件無法連線服務器,原因有哪些?
A:
- 服務器未正確啟動。
- 確保客戶端和服務器在同一個網絡下。
- 檢查端口是否通暢。
Q5: 如何保護服務器免受未授權存取?
A:
- 啟用用戶身份驗證。
- 使用 SSL 加密連線。
- 定期更新軟件版本,堵塞安全漏洞。
常見錯誤與解決方案
錯誤訊息 |
解決方法 |
服務器無法啟動 |
確保依賴庫已安裝,端口未被佔用 |
插件無法連線 |
檢查網絡設定,確保防火牆允許連線 |
延遲過長 |
優化服務器配置,或移除不必要的模塊 |
高級主題
群集架構
- 負載均衡:使用 Nginx 或 HAProxy 分散請求至多臺服務器。
- 自動擴展:配置彈性雲服務,根據負載自動增減實例數量。
- 會話管理:使用 Redis 等中間件來管理和同步客戶端會話狀態。
性能優化
- Opcode 緩存:使用 OpCode 緩存(如 Redis 或 Memcached)來加速重複操作。
- 平行處理:利用多線程或多進程模型提升服務器的處理能力。
- 數據庫優化:確保數據庫索引最優,避免全表掃描。
安全加固
- 最小權限原則:每個帳戶只授予完成其工作所需的最低級別權限。
- 定期安全審查:進行常規的安全審計以識別和緩解漏洞。
- 入侵檢測系統:部署 IDS/IPS 系統來監控並阻擋可疑活動。
進階配置
認證方式
- JWT 認證:使用 JSON Web Token 進行輕量級的用戶身份驗證。
- OAuth2 整合:將服務器與第三方授權服務(如 Google、Facebook)整合,提供聯合登入功能。
日誌管理
- 日誌數據存儲:使用專業的日誌庫(如 ELK Stack(Elasticsearch、Logstash、Kibana))進行日誌收集、處理和可視化。
- 日誌監控:配置日誌儀表盤,即時監控服務器運行狀況,快速定位問題。
監控與告警
- 性能監控:使用 Prometheus + Grafana 來監控服務器性能指標。
- 異常檢測:配置基於機器學習的異常檢測系統來檢測流量中的異常模式。
- 即時通知:確保在發生問題時能通過多種通訊管道(如電子郵件、SMS)收到即時通知。
常見錯誤碼
錯誤代號 |
說明 |
500 Internal Server Error |
服務器內部錯誤,例如程式錯誤或資源不足 |
401 Unauthorized |
欠缺適當的認證信息 |
403 Forbidden |
訪問被禁止或拒絕 |
404 Not Found |
所請求的資源未找到 |
502 Bad Gateway |
下游服務器回應錯誤 |
503 Service Unavailable |
服務臨時不可用,通常因為負載過高或維護中 |
插件用戶手冊
安裝與配置
安裝步驟
- 下載最新版本的 SketchupMCP 插件。
- 打開 SketchUp 檢查是否有可用更新,然後安裝插件。
- 開啟 SketchUp,進入
編輯
> 擴展庫
確認插件已正確安裝。
環境依賴
- 操作系統:Windows 7 及以上版本、MacOS X 10.10 及以上版本。
- SketchUp 版本:支持 SketchUp 2018 及以上版本。
- Python 環境:確保安裝了 Python 3.6 或更高版本。
設定初始化
- 打開 SketchUp,進入
編輯
> 擴展庫
。
- 選擇 SketchupMCP 插件並打開。
- 根據嚮導完成初始設置,包括選擇工作目錄和配置基本選項。
基本使用方法
插件功能概述
SketchupMCP 提供多種功能模塊,包括建築建模、結構分析、能耗計算等,適合專業建築師和設計師使用。
快捷鍵與操作指南
- 按鈕:在 SketchUp 的工具欄中找到 SketchupMCP 按鈕,點擊即可啟動插件。
- 快捷鍵:設置自定義快捷鍵以提高工作效率。
常用命令參考
# 示例命令
mcp new_project [project_name] # 新建項目
mcp open [project_path] # 開啟已存在項目
mcp save # 保存當前項目
進階配置
群集架構
- 配置多臺服務器:在 SketchupMCP 中設置群集模式,分散計算負載。
- 通信協議:選擇合適的通訊協議(如 HTTP/HTTPS)以確保數據傳輸安全。
負載均衡設置
- 配置反向代理:使用 Nginx 或 Apache 等服務器軟件實現負載均衡。
- 健康檢查機制:配置健康檢查機制,確保每臺服務器狀態正常。
安全加固措施
- SSL 證書:採用 SSL 加密通信,保護數據安全。
- 認證授權:配置多級用戶權限管理,限制未經授權的訪問。
錯誤排查與解決方案
常見錯誤碼
錯誤代號 |
說明 |
500 Internal Server Error |
服務器內部錯誤,例如程式錯誤或資源不足 |
401 Unauthorized |
欠缺適當的認證信息 |
403 Forbidden |
訪問被禁止或拒絕 |
錯誤診斷步驟
- 檢查日誌文件,查找錯誤代號。
- 根據錯誤代號對應的原因進行相應的設置調整。
日誌分析方法
- 日誌儀表盤:使用 Grafana 等工具來可視化日誌數據,快速定位問題。
附錄
安裝依賴庫
pip install -r requirements.txt
認證機制詳細介紹
- 基本認證:使用
$username:$password
格式進行認證。
- 令牌認證:採用令牌方式,增加安全性。
常用命令與腳本示例
mcp batch_process /path/to/projects/
🔧 技術細節
系統結構
概述
SketchupMCP 系統包含 Sketchup 擴展和 MCP 服務器兩大部分。Sketchup 擴展作為 Sketchup 平臺與外部服務器的通信橋樑,接收用戶指令並通過 TCP 套接字傳送至服務器,同時將服務器回應傳送回客戶端。MCP 服務器則負責處理來自 Sketchup 擴展的請求,解析指令、執行建模或操作,然後將結果反饋給客戶端。
具體結構
Sketchup 擴展的安裝涉及下載並安裝 Sketchup,在擴展庫中安裝 SketchupMCP 插件,開啟插件後連接至 MCP 服務器。MCP 服務器的安裝需要安裝 Python 環境,克隆 SketchupMCP 專案倉庫,啟動服務器後設定 IP 和端口等待客戶端連線。
高級主題
群集架構
通過使用 Nginx 或 HAProxy 實現負載均衡,將請求分散至多臺服務器。配置彈性雲服務實現自動擴展,根據負載自動增減實例數量。利用 Redis 等中間件管理和同步客戶端會話狀態。
性能優化
使用 OpCode 緩存(如 Redis 或 Memcached)加速重複操作,利用多線程或多進程模型提升服務器處理能力,確保數據庫索引最優避免全表掃描。
安全加固
遵循最小權限原則,為每個帳戶授予完成工作所需的最低級別權限。進行定期安全審查,識別和緩解漏洞。部署 IDS/IPS 系統監控並阻擋可疑活動。
進階配置
認證方式
採用 JWT 認證進行輕量級的用戶身份驗證,將服務器與第三方授權服務(如 Google、Facebook)整合實現 OAuth2 整合。
日誌管理
使用專業的日誌庫(如 ELK Stack)進行日誌收集、處理和可視化,配置日誌儀表盤即時監控服務器運行狀況。
監控與告警
使用 Prometheus + Grafana 監控服務器性能指標,配置基於機器學習的異常檢測系統檢測流量異常模式,確保在發生問題時能通過多種通訊管道收到即時通知。
📄 許可證
文檔中未提及相關許可證信息。
結論
SketchupMCP 是一款功能強大的插件,能幫助您在 SketchUp 中實現各種複雜的建築設計和模擬。通過合理的配置和最佳實踐,可以充分發揮其潛力,提升工作效率。希望本指南能助您一臂之力,祝您的建模過程順利!
附錄:
參考文獻:
- SketchUp 官方文件
- 相關技術白皮書
- 開發團隊內部紀錄
註釋:
此指南為示範性質,具體內容可能因版本不同而有所變動。建議使用時參照官方最新文檔。