Skip to main content
Glama

ajustar_mueble

Read-only

Itera sobre un diseño: aplica un DIFF de cambios sobre unos params base, los RE-VALIDA y devuelve los params nuevos, la vista actualizada (SVG), un resumen de cotización y despiece, y una revisión de factibilidad. Es el loop de refinamiento: proponés un cambio ('más ancho', 'un estante más', 'otro material') y ves el efecto al instante, sin rearmar todo. Pasá baseParams (los params válidos actuales, p.ej. los que devolvió una cotización) y cambios (sólo los campos a modificar). Si los cambios dejan el mueble inválido, la tool falla explicando el motivo. Encadená la salida (params) como baseParams de la próxima llamada. (iterate furniture design, edit parameters, refine, text-to-CAD loop)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cambiosYesDiff a aplicar (merge por campo): sólo los campos a cambiar. Ej: {width: 2400, shelves: 5, material: 'mdf-18mm-blanco'}.
baseParamsYesParams paramétricos de partida, ya válidos (kind + medidas). Ej: los que devolvió cotizar_mueble.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
notaYes
despieceYes
cotizacionYes
medidas_mmYes
factibilidadYes

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even with readOnlyHint=true, the description adds substantial behavioral context beyond the annotations: it clarifies the operation is a field-level merge ('diff a aplicar'), that it re-validates and fails with a reason if invalid, and that it returns multiple artifacts (new params, SVG, quote summary, despiece, feasibility). The readOnly annotation is not contradicted because the operation transforms and returns data without describing any external persistence.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and front-loaded with the core behavior, and includes useful examples and chaining instructions. It earns its length for a tool with two complex parameters and multiple return artifacts, though the trailing English parenthetical '(iterate furniture design, edit parameters, refine, text-to-CAD loop)' is redundant with the Spanish text and adds noise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the schema richness and presence of an output schema, the description covers what matters: how to invoke it, what inputs are expected, what results are returned, failure behavior on invalid changes, and how to chain calls. The nested-object complexity is handled by the schema, while the description supplies the call pattern and iteration loop an agent needs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds crucial semantic meaning: baseParams must already be valid and can come from a prior quote, while cambios is a merge-by-field diff containing only the fields to change. The concrete example '{width: 2400, shelves: 5, material: 'mdf-18mm-blanco'}' clarifies how to express a partial update, which the raw schema alone does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is explicit: 'Itera sobre un diseño' with a specific verb and resource, and details exactly what it does: apply a DIFF, re-validate, and return new params, SVG, quote summary, parts breakdown, and feasibility review. It distinguishes itself from a full rebuild by calling itself the 'loop de refinamiento' and saying 'sin rearmar todo', which separates it from siblings like cotizar_mueble or crear_diseno.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear when-to-use guidance: it is the refinement loop for proposing small changes ('más ancho', 'un estante más') and seeing the effect immediately. It also states the prerequisite contract explicitly — pass baseParams as valid current params (e.g. from cotización) and cambios as only the fields to modify — and instructs chaining the output params into the next call.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clearly distinct deliverable: search, list, quote, cut list, preview, validate, refine, and compose a 3D design. Even though several share the same preset/params inputs, their purposes and outputs do not overlap in a confusing way.

Naming Consistency4/5

Most tools follow a consistent Spanish verb_noun pattern: ajustar_mueble, buscar_catalogo, cotizar_mueble, crear_diseno, listar_presets, validar_factibilidad, ver_mueble. Despiece breaks the pattern as a noun-only name, which is a minor deviation.

Tool Count5/5

Eight tools is well-scoped for a parametric furniture server. Each tool covers a distinct part of the workflow—discovery, quotation, cut lists, preview, feasibility, iteration, and 3D scene creation—without unnecessary redundancy.

Completeness5/5

The tool set covers the full parametric furniture lifecycle: find/list presets, preview, validate, quote, generate cut lists, refine designs, and create shareable 3D layouts. There are no obvious dead ends or missing operations for the stated purpose.

Resources