Skip to main content
Glama

RoomLab.app

Replace Furniture

replace_furniture
Destructive

Use when the user wants one furniture item replaced with the item shown in a reference image. Ask for the room type and furniture item only when missing.

Input Schema

NameRequiredDescriptionDefault
imageNoThe room image attached by the user. Do not ask the user for file metadata.
image_urlNoA link or inline copy of the room image supplied by the client.
room_typeYesRoom type, such as living room, bedroom, kitchen, bathroom, dining room, or office.
furniture_itemYesFurniture item to replace, such as sofa, bed, chair, or table.
reference_imageNoThe reference image attached by the user. Do not ask the user for file metadata.
reference_image_urlNoA link or inline copy of the reference image supplied by the client.
additional_instructionsNoOptional user preferences stated in natural language. Do not ask for this when the request is already clear.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, openWorldHint=true, non-idempotent and read-write, so the safety profile is covered. The description adds useful scope context ('one' item, driven by a reference image) but says nothing about what gets returned or how the mutation affects the rest of the room image; an output schema exists, so return values need not be described, but the scope-of-change detail is only partially addressed.

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

Conciseness5/5

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

Two sentences, zero waste: the trigger is front-loaded and the second sentence is a concrete conversational instruction. Nothing is repeated from the schema or annotations.

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

Completeness4/5

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

For a 7-parameter, nested-object tool with an output schema and rich annotations, the description covers the trigger, the single-item scope, and the clarification behavior. It leaves minor gaps such as preferring a downloaded reference image object over an inline URL, but those are handled by the schema text.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter including the image variants is documented in the schema itself, and the baseline of 3 applies. The description only implies that a reference image and room/furniture identifiers are involved; it adds no format or disambiguation guidance beyond the schema.

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

Purpose4/5

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

The description names a specific verb and resource ('one furniture item replaced') plus the source of the replacement ('the item shown in a reference image'), which separates it from broader siblings like change_room_style or replace_material. It does not explicitly name those siblings, so differentiation is implied rather than stated.

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

Usage Guidelines4/5

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

A clear trigger condition is given ('Use when the user wants one furniture item replaced...') along with a follow-up rule to request room_type and furniture_item only when missing. It stops short of naming alternatives or exclusions, e.g. when to prefer change_room_style over replacing a single item.

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.

Resources