sketchup-mcp2
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SKETCHUP_MCP_HOST | No | The host address for the SketchUp MCP TCP server. | 127.0.0.1 |
| SKETCHUP_MCP_PORT | No | The port for the SketchUp MCP TCP server. | 9876 |
| SKETCHUP_MCP_TIMEOUT | No | Timeout in seconds for MCP operations. | 60 |
| SKETCHUP_MCP_LOG_LEVEL | No | Log level for the MCP server (e.g., DEBUG, INFO, WARNING, ERROR). | INFO |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_componentC | Create a new component in Sketchup. |
| delete_componentB | Delete a component by entity ID. |
| transform_componentC | Transform a component's position, rotation, or scale. |
| get_selectionC | Get currently selected components. |
| set_materialB | Set material for a component (named color or hex). |
| export_sceneC | Export the current scene. Note: Ruby tool name is 'export'. |
| create_mortise_tenonB | Create a mortise and tenon joint between two components. All dimensions in millimeters. Defaults sized for visibility on a typical 100mm-board: 50mm wide, 25mm tall, 10mm deep. Pydantic always sends these on the wire, so they override Ruby's V.optional_positive defaults — keep the two sides in sync (see su_mcp/su_mcp/handlers/joints.rb). |
| create_dovetailC | Create a dovetail joint between two components. Dimensions in mm. |
| create_finger_jointC | Create a finger joint (box joint) between two components. Dimensions in mm. |
| eval_rubyC | Evaluate arbitrary Ruby code in Sketchup. |
| boolean_operationB | Perform a boolean operation (union/difference/intersection) on two solids. |
| chamfer_edgeB | Chamfer all edges of a group/component by Default 5mm — visible on the documented 100mm-cube use case. Ruby tool name
is |
| fillet_edgeC | Fillet (round) all edges of a group/component. Default radius 5mm. Note: Ruby tool name is |
| get_model_infoA | Get current SketchUp model info: file path, title, units, bounding box, entity count, layer list. |
| list_componentsA | List groups and component instances in the model. Returns each as {id, name, type, layer, depth, bbox_mm}. Bounds are in world coordinates. Set recursive=true to descend into nested components (bounded by max_depth, default 3). |
| get_component_infoB | Detailed info for a single Group or ComponentInstance by entity ID. |
| find_componentsA | Find components matching name substring, layer, and/or type. Recursive (bounded by max_depth). At least one filter should be supplied. |
| list_layersA | List all model layers as {name, visible, color, id}. |
| create_layerB | Create a new layer with the given name. Returns {id, name, visible}. |
| undoA | Undo the last atomic operation in SketchUp. One MCP tool-call = one undo step. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/zinin/sketchup-mcp2'
If you have feedback or need assistance with the MCP directory API, please join our Discord server