Skip to main content
Glama
pfduke02

matic-desk-mcp

by pfduke02

Start cleaning

matic_start_cleaning

Start a robot cleaning run now for chosen rooms or the whole floor, selecting vacuum, mop, or both plus quick, standard, or heavy-duty coverage.

Instructions

Start the robot cleaning now. Give rooms, or set whole_floor for everything. Pick mode from the user's words: 'vacuum' when they say vacuum (or hoover/sweep), 'mop' when they say mop, 'both' (vacuum then mop) when they just say clean or ask for both. coverage: 'standard' unless they ask for a quick pass ('quick') or a deep, thorough clean ('heavy_duty'). ordered: true only if they want the rooms done in the order given. Returns the rooms accepted and the robot's activity a few seconds later.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNovacuum, mop, or both.both
roomsNoRoom names from matic_rooms (e.g. 'Kitchen 1'), group names that cover numbered segments (e.g. 'Kitchen', 'Living Room'), or the user's aliases. Case-insensitive.
orderedNoClean rooms in the order given.
coverageNoCleaning intensity.standard
whole_floorNoClean every room on the map.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false), so the bar is lower. The description usefully discloses the return payload ('the rooms accepted and the robot's activity a few seconds later'), which matters because there is no output schema. It does not warn that repeat invocation is non-idempotent or what happens if a clean is already running.

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?

Front-loads the action, then walks parameters in a compact per-parameter format, closing with the return behavior. Every sentence carries operational information; nothing is restated from the schema for its own sake.

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 5-parameter, zero-required mutation tool with no output schema, the description covers all parameters, the selection heuristics, and the response shape. The remaining ambiguity (precedence of rooms vs. whole_floor, behavior when a job is already active) is minor but real.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds genuine interpretation the schema lacks: mapping user phrasing ('hoover', 'sweep', 'clean') onto the mode enum, and defaulting coverage to 'standard' unless a quick or thorough pass is requested. The only untouched edge case is what happens when both 'rooms' and 'whole_floor' are supplied, or when neither is.

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?

Opens with a specific verb+resource ('Start the robot cleaning now') and is immediately distinguishable from siblings like matic_pause, matic_resume, and matic_stop, which handle the opposite direction. The scope (rooms vs. whole_floor) is stated in the same breath.

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?

Gives concrete when-to-use rules for each parameter: choose 'rooms' or 'whole_floor', map the user's verb to 'mode', default to 'standard' coverage unless they ask for quick/heavy_duty, and set 'ordered' only for sequential requests. It stops short of naming sibling alternatives (e.g. use matic_resume to continue a paused job rather than starting a new one), so no explicit exclusion is provided.

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