Skip to main content
Glama

Schedule Callback

timer_schedule

Schedule a durable callback: at fire time this service POSTs your JSON payload to your URL. Use it to wake up future runs of yourself or your orchestrator - agents cannot wake themselves. Prerequisite: the target origin must already pass timer_verify_origin, which requires an HTTPS endpoint you control that echoes a token - without your own endpoint this tool cannot be used. Delay 10s-30d, payload max 8192 bytes, 3 delivery attempts with backoff. Returns an id that doubles as the capability to inspect and cancel the timer; hold it privately.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYeshttps URL to POST to. The origin must already be verified.
fire_atNoAbsolute ISO 8601 fire time. Provide this OR delay_seconds.
payloadNoJSON string delivered as the request body. Default "{}".
delay_secondsNoFire after this many seconds. Provide this OR fire_at.

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, etc.), the description discloses rich behavioral details: the POST mechanism, 3 delivery attempts with backoff, the returned id doubling as a capability for inspection/cancellation, payload size limits, delay bounds, and the prerequisite of a verified origin. This fully informs the agent about side effects and required context.

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?

The description is concise yet comprehensive. Four dense sentences cover purpose, use case, prerequisite, limits, attempts, and return value without redundancy. It is front-loaded with the core function and each sentence adds meaningful information.

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

Completeness5/5

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

Given there is no output schema, the description compensates by explaining what the caller receives (an id with inspect/cancel capability). It also covers the prerequisite dependency, time and payload constraints, and delivery behavior. This makes the tool's complete contract clear to the agent.

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. The description enhances parameter understanding by explaining that the payload is 'JSON string delivered as the request body', tying url verification to the prerequisite, and noting that the returned id is for subsequent control. These additions go beyond the schema's per-property descriptions.

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 precise, action-oriented statement: 'Schedule a durable callback: at fire time this service POSTs your JSON payload to your URL.' This clearly identifies the tool's function and differentiates it from sibling tools like timer_cancel and timer_status, which manage or inspect existing timers.

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?

The description gives explicit guidance on when to use the tool: 'Use it to wake up future runs of yourself or your orchestrator - agents cannot wake themselves.' It also states a critical prerequisite involving timer_verify_origin. It doesn't explicitly mention alternatives or when-not-to-use, but the use case is clear enough to distinguish it from immediate request tools.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a unique, clearly defined purpose (counters, cron, DNS, email, fixtures, webhooks, KV, locks, name checks, regex, timers, timezone, URL checks). There is no functional overlap; even closely related tools like timer_schedule and cron_next are clearly separated by descriptions.

Naming Consistency4/5

The dominant naming pattern is <resource>_<action> (e.g., inbox_create, kv_get, lock_acquire, tz_convert). A few tools deviate, such as counter_next and cron_next (resource_qualifier), fixture_rows (resource_noun), and request_tool (verb_noun), but these are minor and do not obscure the overall pattern.

Tool Count3/5

At 24 tools, the server exceeds the typical 3-15 range, leaning heavy. The tools cover many independent utility categories, each with a minimal set of operations, but the overall count feels slightly excessive for a single server, though it is justified by the broad scope.

Completeness4/5

The server provides complete lifecycles for its functional areas: KV (set/get/list/delete), inbox (create/poll/delete), locks (acquire/release), timers (schedule/status/cancel/verify). Each utility is self-contained, and the request_tool offers a path for extending the surface. No obvious gaps or dead ends within the intended domain.

Resources