Skip to main content
Glama

reminder_set

Schedule a Telegram reminder for a paired chat. Handles one-time or daily recurring messages with correct timezone.

Instructions

Schedule a Telegram reminder; chat_id must already be locally paired to receive it.

Alfred's only delivery channel today is Telegram, so the caller must say which paired chat this goes to -- there is no channel-agnostic queue to defer that choice to. When Hermes is answering an inbound Telegram turn, chat_id may be omitted and is read from ALFRED_TELEGRAM_CHAT_ID.

daily repeats at the same local wall-clock time (wake-up, bedtime, study lock-in). When daily is true, timezone must be an IANA name such as America/New_York so the hour survives a daylight-saving change.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textYes
dailyNo
run_atYes
chat_idNo
task_idNo
timezoneNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.8/5.0
Behavior4/5

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

The description discloses important behavior beyond the annotations: reminders are delivered only via Telegram, chat_id must already be paired, and daily reminders follow wall-clock time with an IANA timezone for DST safety. Annotations are all false, so the description carries this burden and does it reasonably well, though it does not mention cancellation, deduplication, or persistence behavior.

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 moderately sized and front-loaded with the primary action and core prerequisite. Each paragraph addresses a distinct concern (delivery context, chat_id fallback, daily/timezone semantics) without significant filler.

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

Completeness3/5

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

The description covers the main Telegram-specific complexities and the daily/timezone interaction, which are the non-obvious parts. However, with no output schema and no description of run_at format or task_id, an agent still has meaningful gaps to resolve before calling it correctly.

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?

With 0% schema description coverage, the description adds meaning for chat_id, daily, and timezone, but leaves the required run_at format and the purpose of task_id unexplained. This is partial compensation rather than full coverage of the parameter space.

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 opens with a specific verb and resource, 'Schedule a Telegram reminder', and adds a key prerequisite about a locally paired chat_id. It is clear but does not explicitly differentiate from sibling scheduling tools like task_schedule or nag_until_done.

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 provides clear context for when chat_id is required versus when it can be read from ALFRED_TELEGRAM_CHAT_ID during an inbound Telegram turn, and explains the daily/timezone constraint. It stops short of naming alternatives or stating when not to use this tool.

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