Skip to main content
Glama
SketchUp MCP Server

SketchUp MCP Server

by Tarkiin

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.

MCP Python SketchUp License

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:

  1. Plugin Ruby (sketchup_plugin/sketchup_mcp_server.rb) — Se ejecuta dentro de SketchUp, expone una API HTTP en localhost:8080 que controla la API Ruby de SketchUp

  2. Servidor 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\" -Force

macOS:

cp sketchup_plugin/sketchup_mcp_server.rb ~/Library/Application\ Support/SketchUp\ 2026/SketchUp/Plugins/

Nota: Sustituye 2026 por 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.json

  • macOS: ~/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

  1. Abre SketchUp — El plugin arranca automáticamente el servidor HTTP en el puerto 8080

  2. Abre tu cliente IA — El servidor MCP se conecta automáticamente

  3. 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

get_model_info

Info del modelo: nombre, ruta, unidades, contadores

list_layers

Listar capas (tags) con visibilidad

list_materials

Listar materiales con colores y texturas

list_entities

Listar entidades (caras, aristas, grupos, componentes)

list_components

Listar definiciones de componentes

Creación de Geometría

Tool

Descripción

create_face

Crear polígono a partir de puntos 3D ordenados

create_edge

Crear segmento de línea entre dos puntos

create_group

Crear grupo vacío con nombre

create_box

Crear caja (ancho × fondo × alto)

create_circle

Crear círculo desde centro, normal y radio

create_arc

Crear arco con ángulos de inicio/fin

create_polygon

Crear polígono regular (triángulo, pentágono, etc.)

Operaciones de Geometría

Tool

Descripción

push_pull

Extruir una cara a una distancia

follow_me

Extruir una cara a lo largo de un camino de aristas

Transformaciones

Tool

Descripción

move_entity

Mover entidad con un vector

rotate_entity

Rotar entidad alrededor de un eje

scale_entity

Escalar uniforme o no uniformemente

Componentes

Tool

Descripción

create_component

Crear nueva definición de componente + instancia

place_component

Colocar componente existente en una posición

Construcción

Tool

Descripción

create_roof_truss

Crear cerchas de techo (king post o fink)

Avanzado

Tool

Descripción

execute_ruby

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 cerchas

  • construction://framing — Estándares de estructura

  • construction://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.md

Solución de Problemas

"Cannot connect to SketchUp"

  • Asegúrate de que SketchUp está abierto

  • Ve a Plugins → MCP Server → Start Server

  • Comprueba si el puerto 8080 está libre: netstat -an | findstr 8080 (Windows) o lsof -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 .rb está en la carpeta de Plugins correcta

  • Comprueba la Ruby Console de SketchUp (Window → Ruby Console) para errores

  • El 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 tools
create_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

    A3.6/5.0

    Scored across 20 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count4/5

    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.

    Completeness3/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      Connects 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.
      10
      545
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      Enables 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.
      10
      1
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Connects SketchUp to Claude AI through the Model Context Protocol, enabling prompt-assisted 3D modeling, scene manipulation, and woodworking joinery operations.
      22
      58
      MIT