SketchupMCP
Enables two-way communication with SketchUp, allowing component creation, manipulation, and transformation; material application; scene inspection; selection handling; and execution of Ruby code for 3D modeling and scene management.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SketchupMCP create a simple house model with a roof and windows"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: RhinoMCP
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
.rbzfileIn Sketchup, go to Window > Extension Manager
Click "Install Extension" and select the downloaded
.rbzfileRestart 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 optionalparamsResponses are JSON objects with a
statusandresultormessage
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT
Available Tools
10 toolscreate_componentC
Create a new component in Sketchup
Inputs: dimensions, position, type. Returns: result
create_dovetailC
Create a dovetail joint between two components
Inputs: pin_id (required), tail_id (required), angle, depth, +6 more. Returns: result
create_finger_jointB
Create a finger joint (box joint) between two components
Inputs: board1_id (required), board2_id (required), depth, height, +5 more. Returns: result
create_mortise_tenonC
Create a mortise and tenon joint between two components
Inputs: mortise_id (required), tenon_id (required), depth, height, +4 more. Returns: result
delete_componentB
Delete a component by ID
Inputs: id (required). Returns: result
eval_rubyB
Evaluate arbitrary Ruby code in Sketchup
Inputs: code (required). Returns: result
export_sceneC
Export the current scene
Inputs: format. Returns: result
get_selectionB
Get currently selected components
Inputs: no named parameters. Returns: result
set_materialC
Set material for a component
Inputs: id (required), material (required). Returns: result
transform_componentC
Transform a component's position, rotation, or scale
Inputs: id (required), position, rotation, scale. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Most tools have distinct purposes, such as creating specific joint types or managing components. However, create_component and transform_component could be slightly ambiguous if an agent needs to modify a component's geometry versus its transformation, but descriptions clarify their roles.
All tool names follow a consistent verb_noun pattern, using snake_case throughout. Examples include create_component, delete_component, and export_scene, making them predictable and easy to parse.
With 10 tools, this server is well-scoped for Sketchup automation, covering joint creation, component management, scene export, and Ruby evaluation. Each tool serves a clear purpose without redundancy.
The toolset provides good coverage for basic Sketchup operations, including CRUD for components and specific joint types. Minor gaps exist, such as no tool for listing all components or updating joint properties, but core workflows are supported.
Maintenance
Related MCP Connectors
Connect ChatGPT and Claude to your Mac, Windows or Linux with secure MCP remote access.
Connect your AI assistant to Blender for 3D modeling, Geometry Nodes, materials, lighting, animation, rendering and export. Inspect real scenes and viewport images, refine the result and restore checkpoints. OAuth connects your chat to Blender Bridge Desktop on an online Windows 10/11 x64 computer running Blender 4.2+. The chat can run on another device. Requires an active Blender Bridge account; 7-day trial available. AI model access is separate.
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Related MCP Servers
- AlicenseBqualityDmaintenanceIntegration that connects Sketchup to Claude AI through the Model Context Protocol, allowing Claude to directly interact with and control Sketchup for prompt-assisted 3D modeling, scene creation, and manipulation.1028MIT
- FlicenseNot gradedqualityDmaintenanceConnects Rhino3D to Claude AI via the Model Context Protocol, enabling AI-assisted 3D modeling and design workflows through direct control of Rhino's functionality.13-
- AlicenseBqualityDmaintenanceEnables direct interaction and control of SketchUp through Claude AI using the Model Context Protocol and a TCP socket connection. It allows for prompt-assisted 3D modeling, component manipulation, and the execution of arbitrary Ruby code within the SketchUp environment.101MIT
- AlicenseAqualityBmaintenanceConnects SketchUp to Claude AI through the Model Context Protocol, enabling prompt-assisted 3D modeling, scene manipulation, and woodworking joinery operations.221,258 PyPI58MIT