SketchupMCP - Sketchup Model Context Protocol Integration
SketchupMCP connects Sketchup to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Sketchup. This integration enables prompt-assisted 3D modeling, scene creation, and manipulation in Sketchup.
Big Shoutout to Blender MCP for the inspiration and structure.
Features
- Two-way communication: Connect Claude AI to Sketchup through a TCP socket connection
- Component manipulation: Create, modify, delete, and transform components in Sketchup
- Material control: Apply and modify materials and colors
- Scene inspection: Get detailed information about the current Sketchup scene
- Selection handling: Get and manipulate selected components
- Ruby code evaluation: Execute arbitrary Ruby code directly in SketchUp for advanced operations
Components
The system consists of two main components:
- Sketchup Extension: A Sketchup extension that creates a TCP server within Sketchup to receive and execute commands
- MCP Server (
sketchup_mcp/server.py): A Python server that implements the Model Context Protocol and connects to the Sketchup extension
Installation
Python Packaging
We're using uv so you'll need to brew install uv
Sketchup Extension
- Download or build the latest
.rbzfile - In Sketchup, go to Window > Extension Manager
- Click "Install Extension" and select the downloaded
.rbzfile - Restart Sketchup
Usage
Starting the Connection
- In Sketchup, go to Extensions > SketchupMCP > Start Server
- The server will start on the default port (9876)
- Make sure the MCP server is running in your terminal
Using with Claude
Configure Claude to use the MCP server by adding the following to your Claude configuration:
"mcpServers": {
"sketchup": {
"command": "uvx",
"args": [
"sketchup-mcp"
]
}
}
This will pull the latest from PyPI
Once connected, Claude can interact with Sketchup using the following capabilities:
Tools
get_scene_info- Gets information about the current Sketchup sceneget_selected_components- Gets information about currently selected componentscreate_component- Create a new component with specified parametersdelete_component- Remove a component from the scenetransform_component- Move, rotate, or scale a componentset_material- Apply materials to componentsexport_scene- Export the current scene to various formatseval_ruby- Execute arbitrary Ruby code in SketchUp for advanced operations
Example Commands
Here are some examples of what you can ask Claude to do:
- "Create a simple house model with a roof and windows"
- "Select all components and get their information"
- "Make the selected component red"
- "Move the selected component 10 units up"
- "Export the current scene as a 3D model"
- "Create a complex arts and crafts cabinet using Ruby code"
Troubleshooting
- Connection issues: Make sure both the Sketchup extension server and the MCP server are running
- Command failures: Check the Ruby Console in Sketchup for error messages
- Timeout errors: Try simplifying your requests or breaking them into smaller steps
Technical Details
Communication Protocol
The system uses a simple JSON-based protocol over TCP sockets:
- Commands are sent as JSON objects with a
typeand optionalparams - Responses are JSON objects with a
statusandresultormessage
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT
Metadata
Release files for iflow-mcp_sketchup-mcp 0.1.19
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_sketchup_mcp-0.1.19.tar.gz | 7.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_sketchup_mcp-0.1.19-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.2 kB
Release files / iflow_mcp_sketchup_mcp-0.1.19.tar.gz
| Download URL | iflow_mcp_sketchup_mcp-0.1.19.tar.gz |
|---|---|
| Size | 7.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b6a03fb3d5ab62006b7e2a6646044e75e07a10e38075c9ca7651115f3c9a41a0
|
|
BLAKE2b-256 checksum How to use checksums |
2f23ccb1492c76a91506f485692663242a8d712737265fde4fd486e20e6c0cc4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.17
|
Release files / iflow_mcp_sketchup_mcp-0.1.19-py3-none-any.whl
| Download URL | iflow_mcp_sketchup_mcp-0.1.19-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ab9a650590b5aea19bbbbc844e36e478e34fe24f1a505ccf7771d16b2ade7963
|
|
BLAKE2b-256 checksum How to use checksums |
6fc03212185f582a7a840ed52aa8a8bf8e2aa09fde382511a6576f1ef770c8a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.17
|