SketchUp MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_model_infoA | Get general information about the currently open SketchUp model: name, file path, unit system, entity/layer/material counts. |
| list_layersA | List all layers (tags) in the SketchUp model with their visibility. |
| list_materialsA | List all materials in the SketchUp model with their colors and textures. |
| list_entitiesB | List entities (faces, edges, groups, component instances) in the model or inside a named group. |
| list_componentsA | List all component definitions in the SketchUp model. |
| create_faceA | Create a flat face (polygon) in SketchUp from an ordered list of 3D points. Points are in SketchUp's default unit (inches unless model is metric). |
| create_edgeC | Create a line segment (edge) between two 3D points. |
| create_groupB | Create an empty named group in SketchUp, optionally on a layer. |
| create_boxA | Create a 3-D box (rectangular prism) by specifying width, depth, height. Optionally provide an origin [x, y, z] for the base corner. |
| create_circleB | Create a circle in SketchUp from a center point, normal vector, and radius. Returns edges forming the circle. |
| create_arcC | Create an arc in SketchUp. Specify center, radius, start/end angles in degrees. |
| create_polygonB | Create a regular polygon (triangle, pentagon, hexagon, etc.) with n sides. |
| push_pull | Push/pull a face by a specified distance. Positive distance extrudes outward, negative pulls inward. |
| follow_meB | Extrude a face along a path (array of edge IDs). This is SketchUp's Follow Me tool. |
| move_entityA | Move (translate) an entity by a vector [x, y, z]. |
| rotate_entityC | Rotate an entity around an axis by a given angle in degrees. |
| scale_entityB | Scale an entity. Provide a single number for uniform scaling, or [x, y, z] array for non-uniform scaling. |
| create_componentB | Create a new (empty) component definition and place one instance in the model. Returns the definition name and instance ID. |
| place_componentB | Place an instance of an existing component definition into the model at a given origin. |
| create_roof_trussA | Create engineered roof trusses with accurate geometry based on professional truss analysis. Supports king post (simple, up to 26') and fink/W-truss (most common, 20-60'). Trusses include proper web patterns, angled members, and realistic connections. Use construction://roof-trusses resource for detailed guidance. |
| execute_rubyA | Execute arbitrary Ruby code inside SketchUp. The code runs in the context of the SU_MCP module and has full access to the SketchUp Ruby API (Sketchup, Geom, UI, etc.). Returns the result of the last expression and any puts/print output. Use with care — this can modify or delete model data. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Roof Truss Design Guide | Comprehensive guide for roof truss design including types, dimensions, and code requirements |
| Framing Standards | Standard framing practices for walls, floors, headers, and openings |
| Stair Design Standards | Building code requirements, design formulas, stair types, and calculation methods |
TDQS
Scored across 20 tools
Each tool targets a distinct operation (create specific geometry, list entities, transform, execute Ruby). No overlapping purposes; even create_component and place_component are clearly separated by definition vs instance placement.
All tool names follow a consistent verb_noun pattern with underscores (e.g., create_face, list_layers, move_entity). The only slight deviation is 'follow_me' which is still a verb phrase, but overall naming is uniform and predictable.
20 tools is slightly above the ideal range for a focused server, but the variety of geometry creation and manipulation operations justifies the count. It remains manageable and well-scoped.
The tool surface covers creation, reading, and transformation of entities, but lacks dedicated delete or update (e.g., change entity attributes) tools. While execute_ruby can fill gaps, it is not a proper substitute for standard operations.