Skip to main content
Glama
pfduke02

matic-desk-mcp

by pfduke02

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MATIC_CONFIGNoOverride the path to the robot identity and credential file `pair` writes to. Defaults to `~/.config/matic/robot.json`.
MATIC_DESK_DATANoSet this to keep the ledger (`ledger.sqlite`) and aliases (`aliases.json`) somewhere other than `~/Library/Application Support/Matic Desk/`.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
matic_statusA

Current robot status: activity (cleaning, paused, returning, charging, docked, ready, error or offline), battery %, current room, error codes, bag full/missing flags and firmware, plus settings (water flow, deep mop, pet waste avoidance, child lock, voice). Never fails for connectivity: an unreachable robot reports activity 'offline' with a message.

matic_roomsA

Rooms on the robot's map, groups of numbered segments (e.g. 'Living Room' covers 'Living Room 1..3') and the user's room aliases. Use these names with matic_start_cleaning.

matic_bag_reportA

Dust bag usage since the last recorded bag swap: swap date, days, runs, total cleaning, vacuum and mop seconds, whether the robot reports the bag full or missing, previous bags and an estimate of the remaining life. The robot has no fill gauge, only full/missing flags. If 'complete' is false, runs before 'counted_from' may be missing; say so.

matic_historyA

Recent cleaning runs, newest first: start and end (UTC), total duration, vacuum and mop seconds, rooms, modes and whether the run completed. The robot keeps about 20 runs; older ones come from the local ledger.

matic_mapA

A 1024x1024 PNG of the floor plan with room names, the robot's position and, while a run is active, its route.

matic_start_cleaningA

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.

matic_pauseA

Pause the current cleaning run (resume later with matic_resume).

matic_resumeA

Resume a paused cleaning run.

matic_stopA

Stop and end the current cleaning run (the robot stays where it is). Use matic_dock to send it home.

matic_dockA

Send the robot back to its dock (ends the current run).

matic_set_settingA

Change one robot setting and return all settings. water_flow: mop water amount, 0.5 to 2.0 in 0.1 steps (1.0 is normal). deep_mop: double-pass mopping, on/off. pet_waste: pet waste avoidance, on/off. child_lock: on/off. voice: spoken prompts, on/off.

matic_record_bag_swapA

Record that the user changed the robot's dust bag, then return the bag report. Omit when if they changed it today or just now. For an earlier day pass that local date or time, e.g. '2026-10-06' or '2026-10-06T18:30' (convert 'yesterday' or 'last Monday' to a date yourself). A date earlier than the current bag's swap corrects it (the later swap is removed), so use this to fix a wrong date too.

matic_name_roomA

Create or replace a room alias so the user can say e.g. 'office' for 'Room 3' or 'downstairs' for several rooms. An alias can't reuse a room name, a group name or 'all'. Returns the updated rooms, groups and aliases.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 13 tools

Disambiguation5/5

Each tool targets a distinct resource or action: map/status/rooms/history/bag report, start/pause/resume/stop/dock, and settings/bag swap/room alias are clearly separated. The only close pair is stop vs dock, but their descriptions distinguish staying in place from returning home.

Naming Consistency5/5

All tools use a consistent matic_ prefix and snake_case, with readable verb or noun phrases such as matic_start_cleaning, matic_pause, and matic_bag_report. No mixed casing or naming conventions appear.

Tool Count5/5

13 tools is well-scoped for a robot vacuum control server, covering operation, state, history, bag maintenance, and room aliasing without obvious bloat.

Completeness4/5

Core robot lifecycle (start/pause/resume/stop/dock), status, map, rooms, settings, history, and bag management are covered. Minor gaps remain around scheduling, error clearing, and no-go zone management, but agents can work around them.

Maintenance

ActivityMaintained
ResponsivenessNo issues