Skip to main content
Glama

update_routine

Destructive

Upsert a complete Chilipad routine or delete one by ID after user confirmation, covering actions, schedules, time zones, notifications, and temperature settings.

Instructions

Upsert a complete row or supply delete_id, with confirmed=true after user agreement. row: id (lowercase letters/digits/hyphens), enabled, target alias, action (prepare_bed/wake_temperature/water_check/reminder), time HH:MM, timezone IANA, weekdays [0–6 Monday–Sunday] OR date YYYY-MM-DD, notification inbox. Temperature actions need temperature/unit and optional on. Optional window_minutes 0–180 (wake requires 0), reminder_hours 1–8760, overrides mapping dates to HH:MM or null to skip. Set enabled=false to pause. alarm=true selects alarms.md for a new row. Inbox must be tested before enabling; samples are never implicit consent.

Input Schema

NameRequiredDescriptionDefault
rowNo
alarmNo
confirmedNo
delete_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare this as destructive and non-read-only, and the description adds critical context beyond them: deletion via delete_id, confirmation after user agreement, pause semantics, inbox testing requirements, and the explicit statement that samples are never implicit consent. These details substantially improve safe invocation.

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 but front-loaded and every sentence carries useful constraints. It would read more clearly with explicit structure rather than one long paragraph with inline enumerations, but it is not padded or repetitive.

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 destructive, complex routine mutation with no output schema and sparse annotations, the description covers most necessary behavior and parameter constraints. It does not clarify mutual exclusivity between row and delete_id, precedence if both are supplied, or expected success/failure outcomes, leaving a few gaps.

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 description coverage is 0% and the row parameter is an unconstrained object, so the description must carry the parameter semantics. It does this thoroughly, documenting row fields, id format, action enum values, time formats, timezone, weekday/date options, temperature constraints, window/reminder ranges, overrides, and the meaning of confirmed, alarm, and delete_id.

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 opens with a specific operation: upsert a complete routine row or delete via delete_id. It clearly identifies the resource (routine row) and distinguishes mutation behavior from read-oriented siblings such as list_routines and get_routine_status.

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?

It gives clear operational guidance: confirmed=true after user agreement, delete_id for deletion, enabled=false to pause, alarm=true for alarms.md, and inbox testing before enabling. It does not explicitly route agents to alternative sibling tools for inspection or manual actions, so it falls short of full when/when-not/alternatives coverage.

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