Eggtimer.app Server Timers
Server Details
Schedule, check and cancel server-side countdowns and step routines, with optional Zapier hooks.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 18 tools
Each tool targets a distinct resource/action, and descriptions carefully distinguish link-only tools (create_timer, create_clock_link, create_recipe) from server-scheduled ones (create_server_timer, create_server_routine). The subtle overlap between client-side links and server scheduling, plus get_routine_events vs list_server_events, requires reading descriptions to resolve. Mostly distinct, with a couple of easily confused clusters.
All names follow a strict verb_noun snake_case pattern (create_/get_/list_/cancel_ + resource). Prefixes map cleanly to actions and the server_ qualifier is used consistently to mark scheduled resources. No mixed conventions.
18 tools is slightly on the heavy side, but the domain genuinely spans several resource families (timers, routines, events, presets, recipes/links, workspace, capabilities). Each tool maps to a distinct operation, so few feel redundant.
Solid lifecycle coverage: create/cancel/get/list for both timers and routines, plus events, presets, workspace, and capabilities. There is no update/reschedule operation for existing timers or routines, but this may be by design for a scheduling service. Minor gap agents can work around by cancel-and-recreate.
Available Tools
18 toolscancel_server_routineCancel a server routineADestructiveIdempotentInspect
Cancel future steps and pending deliveries. A claimed or in-flight delivery may still complete.
| Name | Required | Description | Default |
|---|---|---|---|
| routine_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| routine | Yes | |
| in_flight_may_complete | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructive=true, idempotent=true, and readOnly=false, so the safety profile is covered. The description adds genuinely useful nuance beyond them: cancellation only affects future steps and pending deliveries, while an already-claimed or in-flight delivery may still complete — exactly the residual-risk detail an agent needs before deciding to cancel.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler, with the primary effect (cancels future steps and pending deliveries) front-loaded and the caveat immediately after. Nothing needs trimming or reordering.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the annotations plus the in-flight-delivery caveat give a solid behavioral picture for a destructive, idempotent operation. The only meaningful gap is the undocumented routine_id parameter, which leaves the agent guessing at the expected identifier format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter, routine_id, and schema description coverage is 0%: the schema only carries a regex pattern with no prose explaining that it is a 64-character hex routine identifier or where to obtain one. The description mentions nothing about the parameter, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Cancel a server routine') and adds the scope of cancellation: future steps and pending deliveries. It doesn't explicitly contrast with the sibling cancel_server_timer, so an agent must rely on the name alone to pick between the two, but the purpose itself is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the name and the scope sentence, but there is no explicit when-to-use guidance, no mention of prerequisites such as the routine having to exist or be unclaimed, and no naming of alternatives (e.g., cancel_server_timer). The agent can infer the context but is given nothing to disambiguate siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_server_timerCancel a server timerADestructiveIdempotentInspect
Cancel an authenticated timer or pending retry. Cannot recall an in-flight or accepted webhook. Repeated cancellation is safe.
| Name | Required | Description | Default |
|---|---|---|---|
| timer_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| timer | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is covered; the description adds the meaningful limitation that in-flight or accepted webhooks cannot be recalled. 'Repeated cancellation is safe' restates idempotentHint rather than adding new information, and permission requirements beyond 'authenticated' are not spelled out.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action, then the limitation, then the idempotency note. Every sentence carries information and nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter mutation with an output schema (so return values need not be described) and annotations covering safety, this is nearly complete: action, limitation, and idempotency are all covered. The remaining gap is parameter sourcing and the lack of sibling routing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single parameter, so the burden falls on the description to explain timer_id — where it comes from, its 64-hex-char form, or whether it is the same id returned by create_server_timer. It says nothing about the parameter, leaving the agent with only the schema's regex pattern.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Cancel an authenticated timer or pending retry'), which is unambiguous, and the scope hint ('pending retry') differentiates it from a plain timer delete. It does not explicitly contrast itself with the sibling cancel_server_routine, so an agent has to infer the distinction from the resource noun.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The exclusion 'Cannot recall an in-flight or accepted webhook' tells the agent one case where the tool will not achieve the goal, which is genuine usage guidance. However, there is no explicit when-to-use framing and no routing to alternatives such as cancel_server_routine for routine cancellation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_clock_linkCreate a clock-time linkARead-onlyIdempotentInspect
Return a validated link to the next local clock time, e.g. 9pm or 17:30. Each opener uses their own timezone. This does not schedule a server timer.
| Name | Required | Description | Default |
|---|---|---|---|
| time | Yes | ||
| label | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| time | Yes | |
| timezone | Yes | |
| alarm_note | Yes | |
| start_behavior | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, non-open-world), but the description adds genuinely useful context that the annotations cannot: that links resolve in each opener's own timezone and that no server-side timer is created. That resolves the main confusion the 'create_' name would otherwise cause.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, correctly front-loaded with the core behavior, followed by the timezone nuance and the negative constraint. Every sentence earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-format explanation is unnecessary, and the low-complexity, two-parameter surface is nearly fully described. The only gap is the undocumented 'label' parameter, which is minor given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load. It compensates for 'time' with format examples ('9pm or 17:30'), which is real value, but the optional 'label' parameter is never explained in either the schema or the description, leaving half the parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (a validated link to the next local clock time) with concrete examples of the accepted value, and implicitly carves out the sibling create_timer with 'does not schedule a server timer.' It never names the alternative explicitly and the verb 'return a validated link' leaves slight ambiguity about whether anything is persisted, so it falls short of the top tier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when the tool applies (per-opener timezone, clock-time links rather than server timers) and effectively excludes the create_timer use case. No siblings are named and no prerequisites or exclusions beyond the timer contrast are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_recipeCreate a recipe linkARead-onlyIdempotentInspect
Validate a data-only recipe and return its portable preview link. The person opens it and presses Start. No code runs and no webhook is armed.
| Name | Required | Description | Default |
|---|---|---|---|
| recipe | Yes | Recipe v1: 1–12 whole-second steps, no repeats. v2: 1–32 steps, fractional seconds and repeats. At most 512 expanded intervals and 10 years; defaults may be omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| recipe | Yes | |
| intervals | Yes | |
| start_behavior | Yes | |
| duration_seconds | Yes | |
| integration_note | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds real value by clarifying that the output is a shareable link the user must activate manually and that no code executes and no webhook is armed — a non-obvious trait given the schema's completion.webhook flag. It does not disclose validation-failure behavior or link persistence/lifetime.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loading the action and return value, then the user flow, then the negative constraint. Zero filler and nothing repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return details need not be explained, and the description covers validation and the no-code/no-webhook constraint for a single-object parameter. Minor gaps remain around what a validation failure returns, but nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested recipe schema is extensively self-documenting (version rules, step/intervals limits, theme colors), so the schema carries the parameter burden. The description adds only the 'data-only recipe' framing and nothing about step or version semantics, matching the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific action (validate a recipe and return its portable preview link) on a specific resource, and the phrase 'data-only recipe' plus 'preview link' distinguishes it from the timer/clock-link siblings. It stops short of explicitly naming an alternative, so sibling differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies the intended flow ('The person opens it and presses Start') and implicitly rules out webhook/automation use ('no webhook is armed'), which is useful context. However, there is no explicit when-to-use vs. when-not guidance nor any reference to the sibling tools an agent might pick instead, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_server_routineStart a server routineAIdempotentInspect
Start a finite server-side recipe with step/cycle events, independent of browsers. Creation schedules work immediately. A webhook authorizes selected event deliveries with bounded retries; events can arrive late, duplicated or out of order. Automatic whole-second phases only, at most 64 phases and 30 days.
| Name | Required | Description | Default |
|---|---|---|---|
| events | No | ||
| recipe | Yes | Recipe v1: 1–12 whole-second steps, no repeats. v2: 1–32 steps, fractional seconds and repeats. At most 512 expanded intervals and 10 years; defaults may be omitted. | |
| webhook_url | No | ||
| max_attempts | No | ||
| idempotency_key | Yes | ||
| max_lateness_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| created | Yes | |
| routine | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the mutation/idempotent/open-world profile, and the description adds real behavioral context beyond them: immediate scheduling on creation, webhook delivery with bounded retries, and out-of-order/duplicate/late event semantics. The stated operational limits (whole-second phases, 64 phases, 30 days) are also useful disclosures. It does not spell out what the webhook payload contains or cancellation behavior, so it is not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact sentences with the core purpose front-loaded and constraints stacked afterward. Dense but every clause carries information; no filler. Could be marginally better organized by grouping scheduling vs delivery semantics, but it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. For a complex nested tool the description covers the essential scheduling and delivery behavior plus hard limits, which is enough to call it correctly. Remaining gaps (idempotency semantics, recipe v1/v2 nuances) are largely covered by the schema's own nested description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 17%, so the description carries heavy burden. It maps loosely to events ('step/cycle events'), webhook_url ('webhook authorizes selected event deliveries'), max_attempts ('bounded retries'), and max_lateness ('events can arrive late'), but says nothing about idempotency_key, the recipe version distinction, or most nested recipe fields. It partially compensates but leaves several parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Start a finite server-side recipe') and adds the scope qualifier 'independent of browsers' plus 'step/cycle events', which meaningfully separates it from browser-based siblings like create_timer and create_recipe. It stops short of explicitly naming those siblings, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'independent of browsers' implies this is the tool for headless/background scheduling versus browser-bound timers, giving implied routing. However, no explicit when-to-use, when-not-to-use, or named alternative is given, leaving the agent to infer the choice against create_recipe, create_timer, and create_server_timer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_server_timerStart a server timerAIdempotentInspect
Schedule an authenticated countdown on the server. Supply exactly one of duration_seconds or deadline_at. It continues after the browser closes. Requires explicit user intent to schedule; webhook_url also authorizes automatic delivery and bounded retries, which may duplicate an event. Use a fresh idempotency_key per intentional timer and reuse it for request retries. Zapier hooks only. No phone alarm or hard real-time guarantee.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| deadline_at | No | Alternative to duration_seconds: an ISO date-time with explicit UTC offset, one second to 30 days in the future. | |
| webhook_url | No | Optional private HTTPS Zapier Catch Hook URL; stored until delivery ends or is cancelled. Never put it in a share link. | |
| max_attempts | No | ||
| idempotency_key | Yes | ||
| duration_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| timer | Yes | |
| created | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (which only declare non-read-only, open-world, idempotent, non-destructive): it discloses survival past browser close, that webhook delivery may duplicate an event, bounded retries, the fresh-vs-reused idempotency_key discipline, Zapier-only hooks, and the absence of a hard real-time guarantee. This is exactly the extra behavioral context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences, each carrying distinct information, with the core action and the exclusivity constraint front-loaded. It is close to the density limit but no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description covers auth, scheduling bounds, retry/duplication risk, and idempotency. Minor gap: max_attempts (default 3, max 5) is only obliquely referenced as 'bounded retries' rather than connected to its parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (deadline_at and webhook_url only), and the description compensates: the duration_seconds/deadline_at mutual exclusivity, idempotency_key semantics (fresh per intentional timer, reused for retries), and webhook_url's delivery/retry authorization. title and max_attempts are never addressed, so it is not fully compensating.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource+scope: 'Schedule an authenticated countdown on the server.' The 'continues after the browser closes' line implicitly separates it from the client-side create_timer sibling, though it never names that sibling explicitly, so differentiation is inferential rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a hard exclusivity rule ('Supply exactly one of duration_seconds or deadline_at'), a prerequisite ('Requires explicit user intent to schedule'), and a compatibility boundary ('Zapier hooks only'). It does not explicitly say when to prefer this over create_timer or create_server_routine, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_timerCreate a timer linkBRead-onlyIdempotentInspect
Validate a duration and return a link. The countdown starts when the person opens it, not when this tool runs. No background alarm or automation is scheduled.
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | Omit unless requested. | |
| muted | No | Omit to use defaults. | |
| theme | No | Omit to use defaults. | |
| display | No | Omit to use defaults. | |
| duration | Yes | Relative duration, e.g. 12m or 1h20m. Bare numbers mean minutes. Use recipes for sequences. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| alarm_note | Yes | |
| start_behavior | Yes | |
| duration_seconds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/ non-destructive / idempotent, so the safety profile is covered. The description adds genuinely new behavioral facts the schema cannot express: the countdown starts on link open rather than at tool execution, and no background alarm or automation is scheduled. It does not cover link expiry or response shape, but the added scheduling semantics are substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler, and the key non-obvious fact (countdown starts on open, not on execution) is stated early. The opening 'Validate a duration and return a link' is slightly misleading as a lead, costing a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and annotations cover safety. However, nothing addresses selection against the six sibling tools or lifecycle details such as whether the generated link expires, leaving a real gap for a tool whose whole output is a link.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including duration format examples and enum values, so the structured fields already carry the parameter meaning. The description only adds 'validate a duration,' which implies invalid formats are rejected but adds no syntax or constraint detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description frames the tool as 'Validate a duration and return a link,' which describes an implementation step rather than the user-facing outcome (creating a shareable countdown timer). The resource is implied only via the name and title, and nothing distinguishes it from the sibling create_clock_link, which an agent must choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to pick this over create_clock_link (target time vs. relative duration) or create_recipe (sequences), even though the duration description hints that 'recipes' exist for sequences. The agent is left to infer selection from sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_capabilitiesTimer capabilitiesARead-onlyIdempotentInspect
Get a short feature and limits summary. Request detail=full only for the complete reference. Does not start a timer.
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| limits | Yes | |
| families | Yes | |
| decision_rules | Yes | |
| canonical_origin | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the negative clarification 'Does not start a timer,' which is useful context. It does not describe the return content beyond 'short feature and limits summary,' but with annotations and an output schema, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core action and immediately followed by the key parameter guidance and a negative clarification. No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. The description covers purpose, the detail parameter usage, and a key behavioral boundary. Minor gap: it doesn't explicitly differentiate from sibling info tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description should compensate. It mentions the 'detail=full' value and identifies summary as the default, which adds some meaning over the enum in the schema. However, it doesn't explain what 'full' contains versus 'summary' beyond 'complete reference.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Get a short feature and limits summary') and clarifies what it is not ('Does not start a timer'). It is distinguishable from siblings like get_integrations and get_preset, but the description doesn't explicitly position itself against those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies the default is summary and that detail=full should only be used for the complete reference. This gives some usage context, but there is no explicit when-to-use vs alternatives among siblings like get_integrations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_integrationsTimer integrationsARead-onlyIdempotentInspect
Explain optional Zapier completion hooks, setup, authorization, and browser-lifetime limitations. Does not connect or send anything.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| setup | Yes | |
| events | Yes | |
| provider | Yes | |
| setup_url | Yes | |
| limitations | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already covering read-only, idempotent, and non-destructive behavior, the description adds useful context beyond structured fields: it discloses 'browser-lifetime limitations' and reinforces that the tool does not connect or send anything. This extra behavioral detail is helpful, though it remains brief.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two tightly worded sentences with no wasted words. The core purpose is front-loaded, and the clarifying boundary follows immediately. It is appropriately sized for an informational tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the presence of an output schema, and comprehensive annotations, the description is nearly complete. It explains what is covered and includes a key limitation. The only minor gap is the lack of explicit routing guidance relative to sibling tools like get_capabilities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to document. Per the rubric, a zero-parameter tool receives a baseline of 4, as the description cannot add value beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific purpose: explaining optional Zapier completion hooks, setup, authorization, and browser-lifetime limitations. It clearly identifies the resource (Zapier integration for timer completions) and distinguishes itself from action-oriented siblings by noting it does not connect or send anything. However, it does not explicitly differentiate itself from get_capabilities or other informational siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when an agent needs information about Zapier completion hooks, and it provides a negative boundary with 'Does not connect or send anything.' It does not, however, state when to use this tool versus alternatives like get_capabilities or get_preset, leaving the agent to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_presetRead a preset recipeARead-onlyIdempotentInspect
Get one preset with its full validated recipe. Use list_presets for quick recommendations; request details only to inspect or customize steps.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| preset | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds only the notion that the returned recipe is 'full' and 'validated' (implying no further validation by the caller); it says nothing about lookup failure behavior or payload size. Adequate but thin given the low bar set by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler, with the core action front-loaded and the sibling routing second. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the enum-constrained id plus annotations cover the safety story. The description is nearly complete, though it is silent on what happens for an id that currently has no preset.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions the 'id' parameter. The seven enum values (egg, pomodoro, tabata, stopwatch, etc.) are largely self-documenting, and 'one preset' implies the id selects the preset, so the gap is partially mitigated, but the description contributes nothing beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get one preset') plus the payload it returns ('its full validated recipe'). It explicitly contrasts itself with list_presets, so an agent can distinguish the two without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit routing guidance: use list_presets for quick recommendations, use this tool only to inspect or customize steps. The alternative and the condition that selects it are both spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_routine_eventsRead a routine historyCRead-onlyIdempotentInspect
Read retained observed events and individual delivery outcomes.
| Name | Required | Description | Default |
|---|---|---|---|
| routine_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| events | Yes | |
| expires_at | Yes | |
| routine_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare a complete safe-read profile (readOnlyHint, idempotentHint, destructiveHint=false), so the bar is lower. The description usefully implies retention limits ("retained") and per-delivery granularity ("individual delivery outcomes"), which annotations do not convey, but says nothing about pagination, result volume, or retention window.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, and the key distinguishing detail ("individual delivery outcomes") is not buried. It is arguably too terse for the gaps it leaves, but as a structure it is clean and earns its space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema covers return values and annotations cover safety, so the description need not repeat those. What remains missing is exactly the burden the description carries: how this differs from list_server_events and get_server_routine, and what the routine identifier refers to. Adequate but with real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required parameter, and the description does not compensate: it never mentions routine_id, what a routine is, or where the 64-hex-character identifier comes from. The schema's regex pattern is the only constraint, and the description adds no semantic meaning on top of it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a verb ("Read") and a resource ("observed events and individual delivery outcomes"), so the general shape is clear. However, "retained observed events" is undefined jargon, and nothing distinguishes this from close siblings like list_server_events or get_server_routine. An agent cannot tell from the text which of these to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which sibling it replaces. The presence of list_server_events and get_server_routine in the sibling list makes this omission costly, since the routing decision is exactly what the description should settle.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_server_routineRead a server routineCRead-onlyIdempotentInspect
Read a routine timeline and current step.
| Name | Required | Description | Default |
|---|---|---|---|
| routine_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| routine | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, covering the full safety profile. The description adds no behavioral context beyond that (no auth needs, no pagination, no note on how stale/logged the timeline is), and the return content is already covered by the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler and the purpose is front-loaded. It is efficient, though arguably too terse for a tool whose only parameter is undocumented.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with an output schema and rich annotations, the description covers the basics. It still leaves the required routine_id source/format unexplained and does not clarify how the returned timeline differs from sibling event/routine reads.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required routine_id is only constrained by an opaque ^[a-f0-9]{64}$ pattern. The description does not mention the parameter, its format, or where the 64-char hex id comes from, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Read) and resource (a routine timeline and current step), which is more informative than a tautology. However, it gives no differentiation from close siblings such as get_routine_events or list_server_routines, so an agent must infer which one returns the timeline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many sibling reads (get_routine_events, list_server_routines, get_server_timer). The read-only nature is implied by the verb and annotations, but no conditions or alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_server_timerRead a server timerARead-onlyIdempotentInspect
Read an authenticated timer deadline, status, remaining time and webhook-delivery outcome. Does not disclose the hook URL.
| Name | Required | Description | Default |
|---|---|---|---|
| timer_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| timer | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description still adds real value beyond them: it flags that the timer must be authenticated and defines a data-disclosure boundary ('does not disclose the hook URL'), which the agent needs to set expectations about the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the positive capability stated first and the disclosure caveat second. Nothing redundant with the title or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be spelled out, and the auth requirement plus the hook-URL exclusion cover the main behavioral unknowns for a read tool. The remaining gap is provenance of timer_id and error behavior for an invalid or unknown id.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter with 0% schema description coverage, so the description must carry the load and it does not — it says nothing about timer_id, how to obtain one, or what happens if it is unknown. The field name is self-explanatory and the schema does supply the 64-hex-char pattern, so only partial compensation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (read) and resource (server timer) and enumerates the returned fields: deadline, status, remaining time, webhook-delivery outcome. That distinguishes it from list_server_timers and from the routine/capability readers, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of how the caller obtains a timer_id (create_server_timer, list_server_timers), and no stated alternatives. Usage is only inferable from the tool name and the required parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workspaceRead workspace limitsARead-onlyIdempotentInspect
Read this workspace’s free-plan limits, usage and idle expiry. No secret is returned.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| usage | Yes | |
| limits | Yes | |
| workspace_id | Yes | |
| expires_if_idle_at | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds a genuinely useful boundary: 'No secret is returned,' which stops the agent from probing this tool for credentials, and enumerates the data surface it does expose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler; the value proposition is front-loaded and the caveat follows. Nothing could be cut without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the annotations fully cover the behavioral envelope. The only unstated nuance is whether the figures apply only to free-plan workspaces or how a paid-plan workspace is handled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which per the baseline is a 4. The description correctly implies the workspace is implicit (the ambient/current one) rather than something the caller must pass.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read') and resource ('this workspace') plus the exact payload: free-plan limits, usage, and idle expiry. No sibling tool touches workspace-level data, so an agent can route to it unambiguously.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the usage context (when the agent needs plan/quotas/usage info) but never states when to prefer it or what alternatives exist. With a unique resource among the siblings, the implied trigger is adequate but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_presetsTimer presetsARead-onlyIdempotentInspect
List preset names, schedules and links without recipe bodies. Use get_preset(id) only when full steps or customization are needed.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| details | Yes | |
| presets | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), so the bar is lower. The description still adds real value by disclosing that output omits recipe bodies, which prevents an agent from expecting full definitions from this call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero waste: the first states the deliverable and its boundary, the second routes to the detail tool. Front-loaded and appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and annotations cover safety. The description supplies the one missing piece — the list/detail split — though it says nothing about result ordering or size limits, a minor gap for a no-param lister.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. The description adds nothing parameter-related, which is appropriate since there is nothing to document beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (List) plus resource (presets), and it enumerates the returned fields (names, schedules, links) while explicitly excluding recipe bodies. This scope statement cleanly separates it from the sibling get_preset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names the alternative explicitly — get_preset(id) — and states the condition that selects it: only when full steps or customization are needed. Nothing about the list-vs-detail choice is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_server_eventsRead routine eventsARead-onlyIdempotentInspect
Read the workspace’s retained routine event feed. Stable event IDs deduplicate records; before/after cursors paginate. Retains at most 1000 events and seven days. Delivery updates do not create a new event.
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | ||
| event | No | ||
| limit | No | ||
| before | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| events | Yes | |
| stream_id | Yes | |
| max_records | Yes | |
| next_before | Yes | |
| oldest_cursor | Yes | |
| retention_days | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world behavior, so the description is not required to restate safety. It adds real value beyond that: retention bounds (1000 events / seven days), deduplication via stable event IDs, cursor-based pagination, and the fact that delivery updates do not create new events.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, each carrying distinct information, with the core purpose front-loaded and operational constraints following. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-shape explanation is unnecessary, and the description covers retention, deduplication, and pagination semantics well. The main omission is any disambiguation from the get_routine_events sibling, which matters given the dense sibling cluster.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry the load, and it explains that before/after are pagination cursors. It says nothing about the event filter's intended use or the limit parameter's 1-200 range, so two of four parameters remain undocumented even though the enum values are largely self-describing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read the workspace's retained routine event feed'), so the agent knows it lists routine events rather than routines or timers. It does not, however, distinguish itself from the sibling get_routine_events, leaving the list-vs-get boundary to be inferred.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the description scopes the feed to routine events, which hints at when this tool applies, but it never says when to prefer it over get_routine_events or list_server_routines, nor does it state any preconditions. Adequate but with a clear routing gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_server_routinesList server routinesARead-onlyIdempotentInspect
List this workspace’s active and recent server routines.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| usage | Yes | |
| limits | Yes | |
| routines | Yes | |
| workspace_id | Yes | |
| expires_if_idle_at | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, idempotent=true, destructive=false and closed-world, so the safety profile is fully covered. The description adds the scope of what is returned ('this workspace's active and recent'), which is genuinely beyond the annotations, but 'recent' is undefined and there is no hint about result volume or pagination for a list tool with zero parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the resource first and the scope qualifier second. Nothing is repeated from the title or annotations and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return format is covered elsewhere, and with zero parameters there is little schema to compensate for. The remaining gap is that a no-filter list tool does not say how results are bounded or whether inactive routines are omitted, which affects how the agent should interpret the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so the baseline is 4. The description correctly does not invent parameter detail and the empty schema is self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (List) plus resource (server routines) with workspace scoping and a stated subset (active and recent). It is clearly distinguishable from the singular sibling get_server_routine, though it does not explicitly name that sibling or the other routine tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'List this workspace's... routines' tells the agent this is the enumeration entry point, but there is no explicit when-to-use vs. get_server_routine (single fetch) or list_server_events, and no stated exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_server_timersList server timersARead-onlyIdempotentInspect
List this workspace’s active and up to 100 recent timers with delivery status. No webhook URLs are returned.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| usage | Yes | |
| limits | Yes | |
| timers | Yes | |
| workspace_id | Yes | |
| expires_if_idle_at | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description still adds real value beyond them: the ~100-record result cap and the explicit 'no webhook URLs are returned' data-exposure boundary. It stops short of noting pagination or how the cap is enforced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, zero filler, with the scope constraint front-loaded and the payload exclusion second. Every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read tool with full annotation coverage and a declared output schema, the description supplies everything the agent needs: scope, result cap, and the data-exclusion boundary. Return-value structure is already covered by the output schema, so nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4; there is nothing for the description to disambiguate. The absence of any filter argument is consistent with the description's workspace-scoped framing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (server timers) with clear scope: this workspace's active plus up to 100 recent timers, plus the payload include (delivery status) and exclusion (no webhook URLs). An agent can distinguish it from get_server_timer, create_server_timer, and cancel_server_timer without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'this workspace's' and by the list-vs-get naming against get_server_timer, but the description never states when to prefer this over get_server_timer or list_server_events, nor any prerequisites. Adequate but with clear gaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
18 tool updates
- First observed
cancel_server_routine - First observed
cancel_server_timer - First observed
create_clock_link - First observed
create_recipe - First observed
create_server_routine - First observed
create_server_timer - First observed
create_timer - First observed
get_capabilities - First observed
get_integrations - First observed
get_preset - First observed
get_routine_events - First observed
get_server_routine - First observed
get_server_timer - First observed
get_workspace - First observed
list_presets - First observed
list_server_events - First observed
list_server_routines - First observed
list_server_timers
Related MCP Connectors
Reliable scheduling for one-off and recurring webhooks, built for apps and agents.
Schedule tasks for later from your AI agent: reminders, delayed webhooks, recurring jobs.
Schedule and manage recurring or one-shot tasks
Cron-as-a-service MCP. Schedule prompts; when the cron fires we POST to your callback URL.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA hosted remote MCP server that lets your AI agent schedule tasks for later — reminders, delayed webhook callbacks, and recurring jobs. Read-only by design.0MIT
- AlicenseNot gradedqualityDmaintenanceEnables scheduling prompts with cron expressions and receiving webhook POSTs to callback URLs.MIT
- AlicenseNot gradedqualityDmaintenanceSchedule any prompt on any cron expression; when it fires, we POST the job to your callback URL. No LLM in the stack.MIT
- AlicenseNot gradedqualityDmaintenanceEnables creation and management of scheduled tasks with interval, cron, or one-time triggers. Persists tasks in SQLite and supports MCP sampling to automatically invoke AI agents when schedules trigger.11 npm3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.