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 "Install 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 ServerCreate 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.
| Name | Required | Description | Default |
|---|---|---|---|
| layer | No | ||
| xaxis | No | [x, y, z] X-axis vector (default [1,0,0]) | |
| center | No | [x, y, z] center point | |
| normal | No | [x, y, z] normal vector | |
| radius | Yes | Arc radius | |
| material | No | ||
| segments | No | Number of segments (default 12) | |
| end_angle | No | End angle in degrees (default 180) | |
| start_angle | No | Start angle in degrees (default 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It mentions creation but not side effects (e.g., model modification, layer assignment, permissions). Minimal coverage for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence with essential information, no filler. Front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters and no output schema, the description is too brief. It does not explain return values, default behaviors, coordinate system, or unit assumptions beyond degrees.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description adds value by specifying that start/end angles are in degrees, which is not in the schema. However, 78% schema coverage means many parameters are already described; the description doesn't add meaning for most.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and resource ('arc') with the context 'in SketchUp'. It mentions key parameters (center, radius, start/end angles) but does not differentiate from sibling tools like create_circle or create_polygon.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives or any prerequisites/exclusions. Simply states what it does without context for appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| depth | Yes | Size along Y axis | |
| layer | No | ||
| width | Yes | Size along X axis | |
| height | Yes | Size along Z axis | |
| origin | No | [x, y, z] base corner (default [0,0,0]) | |
| material | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It reveals core creation behavior but omits side effects (e.g., entity creation, defaults for layer/material, return value). Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. Information is front-loaded and every word is purposeful. Perfectly concise for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 6 parameters, the description covers the core functionality but is incomplete regarding optional parameters (layer, material) and what the tool returns or modifies. Adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%. The description adds meaning for width, depth, height, and origin (as base corner) but fails to mention layer and material parameters, which are left undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a 3-D box (rectangular prism)' with a specific verb and resource, distinguishing it from 2D shape tools like create_face or create_circle among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating box primitives by specifying dimensions, but lacks explicit when-not or alternative guidance. Context from tool name and description is strong enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_circleB
Create a circle in SketchUp from a center point, normal vector, and radius. Returns edges forming the circle.
| Name | Required | Description | Default |
|---|---|---|---|
| layer | No | ||
| center | No | [x, y, z] center point (default [0,0,0]) | |
| normal | No | [x, y, z] normal vector (default [0,0,1] for Z-axis) | |
| radius | Yes | Circle radius (must be positive) | |
| material | No | ||
| segments | No | Number of segments (default 24, min 3) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits. It mentions returning edges but does not explain side effects, undo behavior, or whether it adds geometry to the active model. The description is insufficiently transparent for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff, directly conveys the tool's purpose and output. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 6 parameters and no output schema, the description is minimal. It lacks usage examples, constraints (e.g., radius must be positive), and details about the return value (edges). More context is needed for an agent to use the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% (4 of 6 parameters have descriptions). The description mentions center, normal, and radius but adds no extra semantics beyond the schema. It does not address undocumented parameters (layer, material). At this coverage level, the description adds minimal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (create a circle), the resource (in SketchUp), and key inputs (center, normal, radius). It also specifies the output (edges forming the circle), distinguishing it from sibling tools like create_face or create_arc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like create_arc or create_polygon. No prerequisites or context for use are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_componentB
Create a new (empty) component definition and place one instance in the model. Returns the definition name and instance ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Component definition name | |
| origin | No | Where to place the instance | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description lacks details on side effects (e.g., overwriting existing component, permissions, undoability). Only states what it does and returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with no fluff, efficiently conveying core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Return values are mentioned, but lacks guidance on name conflicts, optionality of origin, and behavior without origin. Adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, but tool description adds no extra meaning beyond schema; 'description' parameter has no schema description and description doesn't clarify it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action: create a new component definition and place one instance, and specifies return values (definition name and instance ID). Distinguishes from sibling tools like place_component.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage for creating new components with one instance, but no explicit when-to-use, prerequisites, or comparison to alternatives like place_component.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_edgeC
Create a line segment (edge) between two 3D points.
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | [x, y, z] end point | |
| layer | No | ||
| start | Yes | [x, y, z] start point |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations; description only says 'create' without mentioning effects on existing geometry, visibility, or whether points must be on existing geometry. Lacks behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with 11 words is concise, but lacks structure (e.g., no bullet points or usage hints). Could be improved with minimal expansion.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 3 parameters and no output schema/annotations, the description is too minimal. Leaves agent uninformed about behavior, constraints, or return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 67% of parameters; description adds no extra meaning beyond what's in the schema. The 'layer' parameter is undocumented in description, and no details on coordinate units or allowed values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'create' verb and 'line segment (edge)' resource; distinguishes well from sibling tools like create_face or create_box by specifying it's between two 3D points.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like create_face (which also creates edges). No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| layer | No | Layer name to assign (created if missing). | |
| points | Yes | Ordered list of [x, y, z] vertices. Minimum 3. | |
| material | No | Material name to assign (created if missing). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It discloses unit behavior (inches unless metric) but does not explain what happens with invalid points (non-coplanar, self-intersecting), error conditions, or response format. Insufficient for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. First sentence states purpose, second adds critical unit context. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description should explain return value (likely entity ID) and error handling. Lacks details on behavior for invalid input (e.g., non-coplanar points). With 3 params and no annotations, description is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds value by clarifying that points are in SketchUp's default unit (inches unless metric), which is not in schema. This helps agents provide correct coordinates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action (Create), resource (flat face/polygon), and constraints (ordered 3D points). Distinguishes from sibling tools like create_box, create_circle, etc. by specifying 'flat face (polygon)' and 'ordered list of 3D points'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for creating polygon faces from points, but no explicit guidance on when to use this tool versus alternatives like create_polygon or create_edge. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_groupB
Create an empty named group in SketchUp, optionally on a layer.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name for the new group | |
| layer | No | Layer to place the group on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions the group is empty and optional layer but lacks details on prerequisites, side effects, or what happens if no name is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that clearly communicates the tool's core function. It could be slightly more structured but is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (2 parameters, no output schema), the description provides minimal viable information. It covers the basic operation but omits behavioral notes that would aid full understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds minimal value ('empty named group', 'optionally on a layer') beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and the resource 'empty named group', and specifies it's in SketchUp. It distinguishes from sibling tools like create_face and create_component.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies basic usage (creating a group on a layer) but provides no guidance on when to use this tool versus alternatives such as create_component or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_polygonB
Create a regular polygon (triangle, pentagon, hexagon, etc.) with n sides.
| Name | Required | Description | Default |
|---|---|---|---|
| layer | No | ||
| center | No | [x, y, z] center point | |
| normal | No | [x, y, z] normal vector | |
| radius | Yes | Radius from center to vertices | |
| material | No | ||
| inscribed | No | True if inscribed (default), false if circumscribed | |
| num_sides | Yes | Number of sides (min 3) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. It only states the creation action but fails to disclose side effects, required context, or what determines polygon orientation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, efficiently communicates purpose. No wasted words, but lacks structured breakdown of details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, no output schema, and minimal description, the tool's behavior regarding optional parameters (layer, center, normal, material) is not explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 71%, so schema already explains most parameters. Description adds no extra parameter meaning beyond the schema's property descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a regular polygon (specific verb+resource), lists examples (triangle, pentagon, hexagon), and is distinct from sibling tools like create_face or create_circle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., create_face for arbitrary polygons), no prerequisites or exclusions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| span | Yes | Clear span in feet (wall-to-wall distance, excluding overhang) | |
| type | No | Truss type: king (simple with center post) or fink (W-pattern, most common) | fink |
| count | No | Number of trusses to create | |
| layer | No | Layer name for trusses | |
| pitch | No | Roof pitch as 'rise:run' (e.g., '6:12', '8:12'). Common: 6:12 | 6:12 |
| origin | No | Left wall bottom position [x, y, z] in inches | |
| spacing | No | Spacing between trusses in inches (typically 24 OC) | |
| overhang | No | Overhang beyond walls in inches (each side). Standard: 12-24 inches | |
| lumber_size | No | Lumber size for members (actual dimensions: 2x4=1.5×3.5, 2x6=1.5×5.5) | 2x4 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description carries full burden. It states trusses include proper web patterns, angled members, and realistic connections, giving some behavioral insight. However, it lacks details on side effects, resource usage, or permissions. For a creation tool, it is moderately transparent but could be more thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose and supported types, second provides a resource reference. Every sentence is informative and necessary, with no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters all with schema descriptions and no output schema, the description covers the core purpose and key constraints. It refers to a resource for detailed guidance. While it could elaborate on output format or lifecycle, it is reasonably complete for a specialized creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds value by detailing span ranges for each truss type (e.g., king post up to 26'), which is not in schema. It also references a resource for guidance, enhancing parameter understanding beyond schema defaults and enums.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states tool creates engineered roof trusses with accurate geometry. It specifies supported types (king post up to 26', fink 20-60') and contrasts with generic geometry tools among siblings, making its purpose distinct and clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage scenarios by specifying span ranges for each truss type (king post simple up to 26', fink common 20-60'). It references a resource for detailed guidance but does not explicitly state when to use versus alternatives or when not to use. Context of sibling tools suggests specialization.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Ruby source code to execute |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description discloses that code runs in the SU_MCP module, has full API access, returns the last expression and print output, and warns of destructive potential. This provides sufficient behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences: purpose, context, and warning. It is front-loaded with the main action and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no annotations), the description covers purpose, execution context, return value, and a necessary caution. It is fully adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the single parameter 'code' is already well described. The description adds little beyond clarifying it's Ruby source code, which is already in the schema. Baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool executes arbitrary Ruby code inside SketchUp, a specific verb and resource. It distinguishes itself from sibling tools by being the only code execution tool among modeling operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a warning about potential data modification but does not offer explicit guidance on when to use this tool versus alternatives, or when not to use it. No sibling comparisons or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
follow_meB
Extrude a face along a path (array of edge IDs). This is SketchUp's Follow Me tool.
| Name | Required | Description | Default |
|---|---|---|---|
| face_id | Yes | ID of the face to extrude | |
| path_ids | Yes | Array of edge IDs forming the path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full burden for behavioral disclosure. It only states the action without mentioning whether the operation is destructive, modifies existing geometry, or requires any permissions. The description lacks important behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that immediately convey the tool's purpose and tie it to a familiar concept. No extraneous information; every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with only two parameters and no complex output, the description is fairly complete. However, it could mention whether the original face is preserved or if the operation is reversible, which would improve completeness slightly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. Description adds only minor clarification (path as array of edge IDs, reference to SketchUp tool) but essentially repeats what the schema already provides. No additional meaning is provided beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool extrudes a face along a path using edge IDs, and explicitly names it as SketchUp's Follow Me tool. This is a specific verb+resource combination that distinguishes it from siblings like create_face or move_entity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not specify any prerequisites, context, or exclusions, leaving the agent to infer usage from the tool's function alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_model_infoA
Get general information about the currently open SketchUp model: name, file path, unit system, entity/layer/material counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist; description does not disclose any behavioral traits beyond the action. It does not mention that the tool is read-only, requires an open model, or any potential side effects or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that efficiently states the purpose and output details. No redundant or extra content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, parameter-less info tool, the description sufficiently explains what is returned. Minor gaps: no mention of prerequisites (e.g., model must be open) or error handling, but not critical for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has zero parameters; schema coverage is 100%. Description adds value by specifying the exact information returned, which is not inferable from the schema alone. Baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool retrieves general model information and explicitly lists the data fields (name, file path, unit system, entity/layer/material counts). This distinguishes it from sibling tools that focus on specific components (e.g., list_layers, list_entities).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies use for overall model stats but does not explicitly guide when to use this vs. sibling tools like list_layers or list_entities. No when-not-to-use or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_componentsA
List all component definitions in the SketchUp model.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states a read-only listing, but fails to mention potential performance impacts, whether it includes nested components, or any side effects. The brevity leaves significant behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is properly front-loaded and gets straight to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters and no output schema, the description fully captures the tool's behavior. It tells the agent exactly what the tool does without needing further elaboration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100%, so the schema provides complete information. The description adds no param details, but none are needed. With no params, a baseline score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool's function: listing all component definitions. It is a specific verb+resource, and it distinguishes itself from sibling tools like create_component and place_component, which perform different actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like list_entities or get_model_info. The description does not mention any context, prerequisites, or exclusions, leaving the agent to infer usage without support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_entitiesB
List entities (faces, edges, groups, component instances) in the model or inside a named group.
| Name | Required | Description | Default |
|---|---|---|---|
| group_name | No | If provided, list entities inside this group. Otherwise lists top-level model entities. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It adds minimal behavioral context: it lists entities optionally scoped by group_name. It does not disclose what happens if the group doesn't exist, whether the output is ordered, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that conveys the core functionality. Every word earns its place; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description fails to describe the return format (e.g., entity IDs, properties). For a list tool, this is a significant gap. Sibling tools like create_group imply entities have structure, but the description does not compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter group_name, so baseline is 3. The description restates the schema meaning ('list entities inside this group') without adding new info like data types, constraints, or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'entities' with specific types (faces, edges, groups, component instances). It also distinguishes between listing top-level model entities vs. entities inside a named group, which differentiates it from sibling list tools like list_layers or list_components.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for listing entity types, but it does not explicitly state when to use this tool versus alternatives like list_components or list_layers. No guidance on prerequisites or context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_layersA
List all layers (tags) in the SketchUp model with their visibility.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description states basic read-only behavior but omits any side effects, permissions, or data volume considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, informative sentence with no redundant words; front-loaded with key action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless list tool, description covers what it does and what it returns (layers with visibility). Missing output format specification but acceptable given simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, schema coverage is 100%, and description inherently covers all inputs. Baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description specifies verb 'List', resource 'layers (tags)', and additional detail 'with their visibility', clearly distinguishing from sibling tools like list_entities or list_materials.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives; lacks any context about prerequisites or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_materialsA
List all materials in the SketchUp model with their colors and textures.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the basic read behavior (listing materials) but does not detail side effects or permission requirements. Since no annotations exist, the description carries the full burden but is minimally adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that begins with the action verb 'List' and directly states what the tool does. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless list tool, the description adequately conveys purpose and output scope (materials with colors and textures). It could mention return format, but the simplicity makes this sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0 parameters and 100% schema coverage, baseline is 4 per guidelines. The description does not add parameter information because none are needed, making this appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all materials, specifically mentioning colors and textures. This distinguishes it from sibling list tools like list_layers or list_entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or conditions that might make this tool preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_entityA
Move (translate) an entity by a vector [x, y, z].
| Name | Required | Description | Default |
|---|---|---|---|
| vector | Yes | [x, y, z] translation vector | |
| entity_id | Yes | ID of the entity to move |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided; the description lacks disclosure of behavioral traits such as effects on the entity, coordinate system, or error handling, leaving significant gaps for a mutation operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, precise sentence that communicates the core action and parameter without any extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters, the description is adequate but lacks details on coordinate system, entity availability, or return behavior, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the description adds little beyond the schema, merely restating the vector parameter as [x, y, z] without additional context like units or reference frame.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Move' and resource 'entity', and specifies the translation vector [x, y, z], clearly distinguishing it from sibling rotation and scaling operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for translating entities by a vector but provides no explicit when-to-use or when-not-to-use guidance relative to sibling tools like rotate_entity or scale_entity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
place_componentB
Place an instance of an existing component definition into the model at a given origin.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Exact name of the component definition | |
| origin | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the basic action. It does not disclose whether instances can be placed multiple times, any side effects on existing geometry, or return values. The agent gets no behavioral context beyond the bare operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no superfluous words. The information is front-loaded and directly addresses the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking annotations and output schema, the tool has only two parameters and a simple action. The description adequately conveys the core operation, but could mention that the component definition must exist or what is returned (e.g., the instance ID).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% with only 'name' having a description. The description adds the context that 'name' is exact and 'origin' is a coordinate array, but this largely repeats schema info. For a simple tool, more detail on coordinate units or optionality would add value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Place' and the resource 'instance of an existing component definition', specifying the action and the object. It is distinct from siblings like 'create_component' which creates new definitions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'create_component' for new definitions or 'move_entity' for repositioning. The description does not mention context or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rotate_entityC
Rotate an entity around an axis by a given angle in degrees.
| Name | Required | Description | Default |
|---|---|---|---|
| angle | Yes | Rotation angle in degrees | |
| entity_id | Yes | ID of the entity to rotate | |
| axis_point | Yes | [x, y, z] point on the rotation axis | |
| axis_vector | Yes | [x, y, z] direction vector of rotation axis |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It does not disclose whether the rotation is relative or absolute, whether it modifies the entity permanently, or if it affects nested components. The phrase 'rotate an entity' implies mutation but does not confirm behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no waste. Every word contributes meaning: verb, resource, axis method, angle unit. It is shorter than necessary for some dimensions but efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter mutation tool with no output schema or annotations, the description is insufficient. It fails to explain whether rotation is absolute or relative, whether axis is world or local, or what happens to entity position. Context signals indicate no output schema, so return format is entirely unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The description adds minimal additional meaning, confirming that the angle is in degrees. With full schema coverage, baseline is 3; the description does not significantly enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'rotate', the resource 'entity', and the method 'around an axis by a given angle in degrees'. It distinguishes from sibling tools like move_entity and scale_entity. However, it lacks specificity about coordinate system (global vs local) or whether the rotation modifies the entity in place.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like scale_entity or follow_me. No context about prerequisites, effects on other entities, or when rotation is inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scale_entityB
Scale an entity. Provide a single number for uniform scaling, or [x, y, z] array for non-uniform scaling.
| Name | Required | Description | Default |
|---|---|---|---|
| scale | Yes | Scale factor (number) or [x, y, z] scale factors (array) | |
| origin | No | [x, y, z] origin point for scaling (default [0,0,0]) | |
| entity_id | Yes | ID of the entity to scale |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It describes the basic scaling action but omits important details such as whether the operation is destructive, reversible, or affects child objects. No side effects or constraints are mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, consisting of a single sentence that efficiently conveys the essential information. It is front-loaded and free of extraneous text, though it could be slightly more structured for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 parameters, no output schema), the description is adequate but not thorough. It explains the two scaling modes but does not discuss the origin parameter's behavior, entity applicability, or potential side effects. Some context is missing, making it minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value for the 'scale' parameter by explaining its two forms (number vs array), but it does not elaborate on 'origin' or 'entity_id' beyond what the schema already provides. Overall, some added meaning but limited.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Scale' and the resource 'an entity', and it distinguishes between uniform and non-uniform scaling. However, it does not specify which entity types are supported (e.g., components, groups, faces), leaving some ambiguity among sibling tools like 'move_entity' and 'rotate_entity'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage instructions for providing a single number or an array for scaling. However, it does not offer explicit guidance on when to use this tool versus alternatives like 'move_entity' or 'rotate_entity', nor does it mention prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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.10396MIT
- AlicenseBqualityCmaintenanceIntegration 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.1024MIT
- 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.10MIT
- AlicenseAqualityAmaintenanceConnects SketchUp to Claude AI through the Model Context Protocol, enabling prompt-assisted 3D modeling, scene manipulation, and woodworking joinery operations.2218MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Tarkiin/SketchUp-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server