Skip to main content
Glama
mailkite

MailKite

Official

mailkite_deliver_to_route

Deliver stored messages to a webhook route, including messages that arrived before the route was created. Send up to 50 message IDs per request to trigger webhook delivery.

Instructions

POST stored messages to one webhook route — including messages that arrived BEFORE the route existed, which no retry can reach (a retry replays an existing delivery row, and a new route has none). Use listRouteCandidates to find what a route could be sent. Webhook routes only: a forward would re-send real mail to a third party and an agent would re-spend model tokens, so both answer 400 route_action. At most 50 ids per request; same per-id results contract as retryDeliveries. Requires a management session token.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesPath parameter `id`.
messageIdsYesStored messages (msg_…) to deliver to this route's webhook, in any order.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.20.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only say readOnlyHint=false, idempotentHint=false, destructiveHint=false. The description adds critical behavioral context: this operation requires a management session token, enforces a 50-id limit, returns a per-id `results` contract like retryDeliveries, and rejects non-webhook route types. These are exactly the behavioral traits an agent needs beyond the schema.

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?

Though denser than a one-liner, every sentence earns its place: core action, key edge-case, discovery pointer, exclusion criteria, limits, contract reference, and auth requirement. The most important distinction is front-loaded, and no filler or repetition of schema details exists.

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?

For a two-parameter operation with no output schema, the description provides everything needed to invoke correctly: id and messageIds meanings are in the schema, while behavior, limits, auth, error cases, and result contract are explained. The reference to retryDeliveries' per-id results contract fills the return-format gap effectively.

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 description coverage is 100%, so the baseline is 3. The description slightly reinforces the meaning of messageIds by saying 'stored messages (msg_…) to deliver to this route's webhook' and 'at most 50 ids per request,' but the schema already documents both parameters well. It does not substantially extend the schema-provided semantics.

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 specific verb and resource: 'POST stored messages to one webhook route.' It immediately distinguishes this from retry-based delivery by explaining that messages arriving before the route existed cannot be reached by a retry, and it contrasts with forward/agent alternatives. The purpose is unmistakable.

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?

The description explicitly tells the agent when this tool is needed: for pre-route messages that retries cannot replay. It names the discovery alternative, 'Use listRouteCandidates,' and gives hard exclusion criteria: forward and agent actions return 400 `route_action`. This is strong routing guidance.

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

Install Server

Other Tools