Skip to main content
Glama

episode.record

Record each day’s activities and skips in the user’s own words for their history, with confirmation before saving; it does not mark tasks complete.

Instructions

Record the user's day in their words: each thing they did or skipped, all in one call for that day ("ran 5 km, did the 3pm call, skipped Spanish"). It is their history and marks nothing done: use work.update for that. Proposed to them first; it runs once they confirm.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "day": "<day>",
      "records": "<records>"
    },
    "name": "episode.record"
  }
}

Input Schema

NameRequiredDescriptionDefault
dayYesThe day the records are for, YYYY-MM-DD, not after today.
recordsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv26.11.9

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that this is a per-day batch write, that it does not mark anything done, and that execution is gated on user confirmation. The main gap is what happens when records already exist for that day (append vs. replace) — an agent cannot tell whether re-recording overwrites history.

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?

Three dense sentences with the core purpose front-loaded, followed by the disambiguation and then the confirmation rule. The parenthetical example earns its space by pinning down entry granularity; nothing is redundant.

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 two-parameter, no-output-schema, unannotated tool, the description covers purpose, sibling routing, batch semantics, and the confirmation gate. The remaining omission is the duplicate-day behavior, which matters for a tool that accumulates history, but overall it is callable without guessing.

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 coverage is 50%, so the description must compensate for the undocumented half. It does partially: the worked example ('ran 5 km, did the 3pm call, skipped Spanish') clarifies that one record equals one discrete thing, and 'in their words' signals free-text titles rather than structured values. It adds no meaning for the day parameter or the item reference beyond what the schema already states.

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?

States a specific verb and resource ('Record the user's day') with scope ('each thing they did or skipped, all in one call for that day') and a concrete example of the entry granularity. It also explicitly separates itself from work.update, so an agent can pick between them without opening either schema.

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?

Names the alternative explicitly ('It is their history and marks nothing done: use work.update for that'), which is exactly the routing decision an agent would otherwise get wrong. It also discloses the invocation precondition: the call is proposed to the user first and runs only once they confirm.

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