Set timer
timer.setSchedule a durable timer. Delivery URLs must be public https.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| delay_s | Yes | ||
| payload | Yes | ||
| inbox_id | No |
timer.setSchedule a durable timer. Delivery URLs must be public https.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| delay_s | Yes | ||
| payload | Yes | ||
| inbox_id | No |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, non-destructive mutation, so safety is covered. The description adds one genuinely useful constraint — delivery URLs must be public https — which is an external accessibility requirement not otherwise discoverable. However, it says nothing about retry behavior on failed delivery, whether timers survive restarts ("durable" is asserted but undefined), maximum practical delay, or whether the timer can be cancelled afterward.
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 with no filler, and the core purpose is front-loaded ahead of the constraint. The brevity is efficient, though the second sentence is a terse fragment that could carry one or two more load-bearing details without becoming verbose.
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 four parameters at 0% schema coverage and no output schema, the description should explain the delivery-mode choice, payload/delay semantics, and at least what identifier is returned so the agent can later cancel. None of that is present, leaving an agent unable to call the tool correctly from the definition alone.
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 burden, and it only gestures at the url parameter via "Delivery URLs." It never explains delay_s units/semantics, the payload format or content type, what inbox_id does, or the mutually exclusive delivery modes (url vs inbox_id) despite both existing in 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 ("Schedule a durable timer"), and "durable" hints at persistence, which distinguishes it from transient scheduling. It does not explicitly differentiate from the sibling timer.cancel, but the create-vs-cancel split is inferable from the names.
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 timer.cancel as the counterpart for removal, and no explanation of when to deliver via url versus inbox_id. The only guidance present is a constraint (public https URLs) rather than a usage condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.