SketchUp MCP Server
The SketchUp MCP Server allows AI assistants to programmatically create and manipulate 3D models in SketchUp through a rich set of tools and access to construction knowledge resources.
Query & Inspection: Retrieve model metadata, list layers (tags), materials, entities (faces, edges, groups, component instances), and component definitions.
Geometry Creation: Create faces, edges, groups, boxes, circles, arcs, and regular polygons.
Geometry Operations: Perform push/pull and follow-me extrusions on faces.
Transformations: Move, rotate, and scale entities (uniformly or non-uniformly).
Components: Create new component definitions and place instances; place existing components.
Specialized Construction: Generate engineered roof trusses (king post or fink/W-truss types) with configurable span, pitch, overhang, count, spacing, and lumber size.
Advanced: Execute arbitrary Ruby code directly inside SketchUp for full access to the SketchUp Ruby API.
Knowledge Resources: Access construction design guides and standards for elements like roof trusses, framing, and stairs.
Provides tools for creating and manipulating 3D models in SketchUp, including geometry creation (boxes, circles, arcs, polygons), extrusion (push-pull, follow me), transformations (move, rotate, scale), component management, and advanced operations like executing Ruby code.
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., "@SketchUp MCP Server Create a 3x3x2.5 meter room."
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.
SketchUp MCP Server
Controla SketchUp con IA. Servidor MCP (Model Context Protocol) que permite a asistentes de IA como Claude, Cursor y Gemini crear modelos 3D en SketchUp de forma programática.
Cómo Funciona
┌──────────────┐ MCP (stdio) ┌──────────────┐ HTTP :8080 ┌──────────────┐
│ AI Client │ ◄──────────────────► │ Python MCP │ ◄────────────────► │ SketchUp │
│ (Claude, │ │ Server │ │ Ruby Plugin │
│ Cursor, │ │ │ │ │
│ Gemini) │ │ src/ │ │ sketchup_ │
│ │ │ sketchup_mcp/│ │ plugin/ │
└──────────────┘ └──────────────┘ └──────────────┘El sistema tiene dos componentes:
Plugin Ruby (
sketchup_plugin/sketchup_mcp_server.rb) — Se ejecuta dentro de SketchUp, expone una API HTTP enlocalhost:8080que controla la API Ruby de SketchUpServidor MCP en Python (
src/sketchup_mcp/server.py) — Traduce llamadas MCP de los clientes IA en peticiones HTTP al plugin de SketchUp
Related MCP server: SketchupMCP
Inicio Rápido
1. Instalar el Plugin de SketchUp
Copia el archivo Ruby a la carpeta de Plugins de SketchUp:
Windows:
Copy-Item "sketchup_plugin\sketchup_mcp_server.rb" "$env:APPDATA\SketchUp\SketchUp 2026\SketchUp\Plugins\" -ForcemacOS:
cp sketchup_plugin/sketchup_mcp_server.rb ~/Library/Application\ Support/SketchUp\ 2026/SketchUp/Plugins/Nota: Sustituye
2026por tu versión de SketchUp (2024, 2025, etc.)
2. Instalar el Servidor MCP en Python
# Clona el repositorio
git clone https://github.com/Tarkiin/sketchup-mcp.git
cd sketchup-mcp
# Instalar con uv (recomendado)
uv sync
# O con pip
pip install -e .3. Configurar tu Cliente IA
Añade a tu mcp_config.json:
{
"mcpServers": {
"sketchup": {
"command": "uv",
"args": [
"--directory",
"/RUTA/ABSOLUTA/A/sketchup-mcp",
"run",
"sketchup-mcp"
]
}
}
}Añade a claude_desktop_config.json:
{
"mcpServers": {
"sketchup": {
"command": "uv",
"args": [
"--directory",
"/RUTA/ABSOLUTA/A/sketchup-mcp",
"run",
"sketchup-mcp"
]
}
}
}Ubicaciones del archivo de configuración:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Alternativa en Windows (sin depender de uv en el PATH): tras instalar con uv pip install -e . o pip install -e ., puedes apuntar directamente al ejecutable del script de consola generado en el entorno virtual:
{
"mcpServers": {
"sketchup": {
"command": "C:\\ruta\\a\\sketchup-mcp\\.venv\\Scripts\\sketchup-mcp.exe"
}
}
}Añade en los ajustes MCP (Settings → MCP Servers):
{
"sketchup": {
"command": "uv",
"args": [
"--directory",
"/RUTA/ABSOLUTA/A/sketchup-mcp",
"run",
"sketchup-mcp"
]
}
}4. Usar
Abre SketchUp — El plugin arranca automáticamente el servidor HTTP en el puerto 8080
Abre tu cliente IA — El servidor MCP se conecta automáticamente
Pide al IA que cree geometría — Ej: "Crea una habitación de 3x3x2.5 metros"
Si el servidor no arranca solo, ve a Plugins → MCP Server → Start Server en SketchUp.
Tools Disponibles (21)
Consulta
Tool | Descripción |
| Info del modelo: nombre, ruta, unidades, contadores |
| Listar capas (tags) con visibilidad |
| Listar materiales con colores y texturas |
| Listar entidades (caras, aristas, grupos, componentes) |
| Listar definiciones de componentes |
Creación de Geometría
Tool | Descripción |
| Crear polígono a partir de puntos 3D ordenados |
| Crear segmento de línea entre dos puntos |
| Crear grupo vacío con nombre |
| Crear caja (ancho × fondo × alto) |
| Crear círculo desde centro, normal y radio |
| Crear arco con ángulos de inicio/fin |
| Crear polígono regular (triángulo, pentágono, etc.) |
Operaciones de Geometría
Tool | Descripción |
| Extruir una cara a una distancia |
| Extruir una cara a lo largo de un camino de aristas |
Transformaciones
Tool | Descripción |
| Mover entidad con un vector |
| Rotar entidad alrededor de un eje |
| Escalar uniforme o no uniformemente |
Componentes
Tool | Descripción |
| Crear nueva definición de componente + instancia |
| Colocar componente existente en una posición |
Construcción
Tool | Descripción |
| Crear cerchas de techo (king post o fink) |
Avanzado
Tool | Descripción |
| Ejecutar código Ruby arbitrario en SketchUp |
Recursos
El servidor incluye recursos de conocimiento sobre construcción accesibles por la IA:
construction://roof-trusses— Guía de diseño de cerchasconstruction://framing— Estándares de estructuraconstruction://stairs— Estándares de diseño de escaleras
Estructura del Proyecto
sketchup-mcp/
├── src/
│ └── sketchup_mcp/
│ ├── __init__.py # Entry point del paquete
│ ├── __main__.py # Soporte python -m
│ └── server.py # Servidor MCP (Python)
├── sketchup_plugin/
│ └── sketchup_mcp_server.rb # Plugin Ruby para SketchUp
├── resources/ # Archivos de conocimiento de construcción
├── pyproject.toml
├── .gitignore
├── LICENSE
└── README.mdSolución de Problemas
"Cannot connect to SketchUp"
Asegúrate de que SketchUp está abierto
Ve a
Plugins → MCP Server → Start ServerComprueba si el puerto 8080 está libre:
netstat -an | findstr 8080(Windows) olsof -i :8080(macOS)
"Port 8080 already in use"
Cierra otras instancias de SketchUp
O mata el proceso que usa el puerto 8080
El plugin no carga
Verifica que el archivo
.rbestá en la carpeta de Plugins correctaComprueba la Ruby Console de SketchUp (
Window → Ruby Console) para erroresEl plugin es un archivo único y autocontenido, no necesita carpetas adicionales
Timeout del servidor
Operaciones complejas pueden tardar más. El timeout es de 120 segundos.
Si SketchUp muestra "no responde", espera a que termine.
Requisitos
SketchUp 2024, 2025 o 2026
Python 3.10+
uv (recomendado) o pip
Licencia
MIT
Available Tools
20 toolscreate_arcC
Create an arc in SketchUp. Specify center, radius, start/end angles in degrees.
Inputs: radius (required), layer, xaxis, center, +5 more.
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.
Inputs: depth (required), width (required), height (required), layer, +2 more.
create_circleB
Create a circle in SketchUp from a center point, normal vector, and radius. Returns edges forming the circle.
Inputs: radius (required), layer, center, normal, +2 more.
create_componentB
Create a new (empty) component definition and place one instance in the model. Returns the definition name and instance ID.
Inputs: name (required), origin, description.
create_edgeC
Create a line segment (edge) between two 3D points.
Inputs: end (required), start (required), layer.
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).
Inputs: points (required), layer, material.
create_groupB
Create an empty named group in SketchUp, optionally on a layer.
Inputs: name, layer.
create_polygonB
Create a regular polygon (triangle, pentagon, hexagon, etc.) with n sides.
Inputs: radius (required), num_sides (required), layer, center, +3 more.
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.
Inputs: span (required), type, count, layer, +5 more.
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.
Inputs: code (required).
follow_meB
Extrude a face along a path (array of edge IDs). This is SketchUp's Follow Me tool.
Inputs: face_id (required), path_ids (required).
get_model_infoA
Get general information about the currently open SketchUp model: name, file path, unit system, entity/layer/material counts.
Inputs: no named parameters.
list_componentsA
List all component definitions in the SketchUp model.
Inputs: no named parameters.
list_entitiesB
List entities (faces, edges, groups, component instances) in the model or inside a named group.
Inputs: group_name.
list_layersA
List all layers (tags) in the SketchUp model with their visibility.
Inputs: no named parameters.
list_materialsA
List all materials in the SketchUp model with their colors and textures.
Inputs: no named parameters.
move_entityA
Move (translate) an entity by a vector [x, y, z].
Inputs: vector (required), entity_id (required).
place_componentB
Place an instance of an existing component definition into the model at a given origin.
Inputs: name (required), origin.
rotate_entityC
Rotate an entity around an axis by a given angle in degrees.
Inputs: angle (required), entity_id (required), axis_point (required), axis_vector (required).
scale_entityB
Scale an entity. Provide a single number for uniform scaling, or [x, y, z] array for non-uniform scaling.
Inputs: scale (required), entity_id (required), origin.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
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.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
A Model Context Protocol server for Wix AI tools
Related MCP Servers
- AlicenseBqualityDmaintenanceConnects Sketchup to Claude AI through the Model Context Protocol, allowing Claude to directly interact with and control Sketchup for prompt-assisted 3D modeling and scene manipulation.10545MIT
- 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
- 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.2258MIT