Skip to main content
Glama
zinin

sketchup-mcp2

by zinin

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SKETCHUP_MCP_HOSTNoThe host address for the SketchUp MCP TCP server.127.0.0.1
SKETCHUP_MCP_PORTNoThe port for the SketchUp MCP TCP server.9876
SKETCHUP_MCP_TIMEOUTNoTimeout in seconds for MCP operations.60
SKETCHUP_MCP_LOG_LEVELNoLog level for the MCP server (e.g., DEBUG, INFO, WARNING, ERROR).INFO

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 distance (mm).

Default 5mm — visible on the documented 100mm-cube use case. Ruby tool name is chamfer_edges (plural); Python parameter id maps to Ruby entity_id.

fillet_edgeC

Fillet (round) all edges of a group/component. Default radius 5mm.

Note: Ruby tool name is fillet_edges (plural); Python parameter id maps to Ruby parameter entity_id.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

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