Skip to main content
Glama

runtime_webhooks_manage

Destructive

The account's webhooks, which POST signed lifecycle events to an https URL. create returns the signing secret once; keep it. update changes url, events, description or enabled; rotate_secret can keep the old one keepPreviousSeconds; test sends a signed webhook.test and returns your endpoint's answer; deliveries lists recent ones; retry takes a deliveryId. Verify signatures with verifyWebhook from the withruntime SDK.

Input Schema

NameRequiredDescriptionDefault
idNo
urlNoAn https URL on the public internet.
actionYes
eventsNoWhich events to send; ["*"], the default, sends every type, including ones added later.
enabledNo
deliveryIdNo
descriptionNo
idempotencyKeyNoOptional: left out, one is made and returned as idempotencyKey. Send it back only to retry this exact call after a temporary error.
keepPreviousSecondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / events / items / enum
      Previous value: -[
      -  "*",
      -  "sandbox.created",
      -  "sandbox.running",
      -  "sandbox.paused",
      -  "sandbox.woken",
      -  "sandbox.stopped",
      -  "sandbox.start_failed",
      -  "sandbox.wake_failed",
      -  "sandbox.host_unreachable",
      -  "sandbox.host_reachable",
      -  "sandbox.recovered",
      -  "sandbox.recovery_failed",
      -  "sandbox.files.changed",
      -  "sandbox.out_of_memory",
      -  "sandbox.oom_kill",
      -  "sandbox.secret_not_applied",
      -  "sandbox.network.limited",
      -  "snapshot.ready",
      -  "snapshot.failed",
      -  "snapshot.deleted",
      -  "volume.ready",
      -  "volume.failed",
      -  "volume.deleted",
      -  "volume.recovered",
      -  "egress_secret.created",
      -  "egress_secret.updated",
      -  "egress_secret.deleted",
      -  "upstream_proxy.set",
      -  "upstream_proxy.removed",
      -  "credit.low",
      -  "credit.empty",
      -  "job.run.failed",
      -  "job.recovered",
      -  "agent.call.held"
      -]New value: +[
      +  "*",
      +  "sandbox.created",
      +  "sandbox.running",
      +  "sandbox.paused",
      +  "sandbox.woken",
      +  "sandbox.stopped",
      +  "sandbox.start_failed",
      +  "sandbox.wake_failed",
      +  "sandbox.host_unreachable",
      +  "sandbox.host_reachable",
      +  "sandbox.unreachable",
      +  "sandbox.reachable",
      +  "sandbox.recovered",
      +  "sandbox.recovery_failed",
      +  "sandbox.files.changed",
      +  "sandbox.out_of_memory",
      +  "sandbox.oom_kill",
      +  "sandbox.secret_not_applied",
      +  "sandbox.network.limited",
      +  "snapshot.ready",
      +  "snapshot.failed",
      +  "snapshot.deleted",
      +  "volume.ready",
      +  "volume.failed",
      +  "volume.deleted",
      +  "volume.recovered",
      +  "egress_secret.created",
      +  "egress_secret.updated",
      +  "egress_secret.deleted",
      +  "upstream_proxy.set",
      +  "upstream_proxy.removed",
      +  "credit.low",
      +  "credit.empty",
      +  "job.run.failed",
      +  "job.recovered",
      +  "agent.call.held"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / events / items / enum
      Previous value: -[
      -  "*",
      -  "sandbox.created",
      -  "sandbox.running",
      -  "sandbox.paused",
      -  "sandbox.woken",
      -  "sandbox.stopped",
      -  "sandbox.start_failed",
      -  "sandbox.wake_failed",
      -  "sandbox.host_unreachable",
      -  "sandbox.host_reachable",
      -  "sandbox.recovered",
      -  "sandbox.recovery_failed",
      -  "sandbox.files.changed",
      -  "sandbox.out_of_memory",
      -  "sandbox.secret_not_applied",
      -  "sandbox.network.limited",
      -  "snapshot.ready",
      -  "snapshot.failed",
      -  "snapshot.deleted",
      -  "volume.ready",
      -  "volume.failed",
      -  "volume.deleted",
      -  "volume.recovered",
      -  "egress_secret.created",
      -  "egress_secret.updated",
      -  "egress_secret.deleted",
      -  "upstream_proxy.set",
      -  "upstream_proxy.removed",
      -  "credit.low",
      -  "credit.empty",
      -  "job.run.failed",
      -  "job.recovered",
      -  "agent.call.held"
      -]New value: +[
      +  "*",
      +  "sandbox.created",
      +  "sandbox.running",
      +  "sandbox.paused",
      +  "sandbox.woken",
      +  "sandbox.stopped",
      +  "sandbox.start_failed",
      +  "sandbox.wake_failed",
      +  "sandbox.host_unreachable",
      +  "sandbox.host_reachable",
      +  "sandbox.recovered",
      +  "sandbox.recovery_failed",
      +  "sandbox.files.changed",
      +  "sandbox.out_of_memory",
      +  "sandbox.oom_kill",
      +  "sandbox.secret_not_applied",
      +  "sandbox.network.limited",
      +  "snapshot.ready",
      +  "snapshot.failed",
      +  "snapshot.deleted",
      +  "volume.ready",
      +  "volume.failed",
      +  "volume.deleted",
      +  "volume.recovered",
      +  "egress_secret.created",
      +  "egress_secret.updated",
      +  "egress_secret.deleted",
      +  "upstream_proxy.set",
      +  "upstream_proxy.removed",
      +  "credit.low",
      +  "credit.empty",
      +  "job.run.failed",
      +  "job.recovered",
      +  "agent.call.held"
      +]
  3. Changed1 schema field changed
    • changedInput schema / properties / events / items / enum
      Previous value: -[
      -  "*",
      -  "sandbox.created",
      -  "sandbox.running",
      -  "sandbox.paused",
      -  "sandbox.woken",
      -  "sandbox.stopped",
      -  "sandbox.start_failed",
      -  "sandbox.wake_failed",
      -  "sandbox.host_unreachable",
      -  "sandbox.host_reachable",
      -  "sandbox.recovered",
      -  "sandbox.recovery_failed",
      -  "sandbox.files.changed",
      -  "sandbox.out_of_memory",
      -  "sandbox.secret_not_applied",
      -  "sandbox.network.limited",
      -  "snapshot.ready",
      -  "snapshot.failed",
      -  "snapshot.deleted",
      -  "volume.ready",
      -  "volume.failed",
      -  "volume.deleted",
      -  "volume.recovered",
      -  "egress_secret.created",
      -  "egress_secret.updated",
      -  "egress_secret.deleted",
      -  "upstream_proxy.set",
      -  "upstream_proxy.removed",
      -  "credit.low",
      -  "credit.empty",
      -  "job.run.failed",
      -  "job.recovered"
      -]New value: +[
      +  "*",
      +  "sandbox.created",
      +  "sandbox.running",
      +  "sandbox.paused",
      +  "sandbox.woken",
      +  "sandbox.stopped",
      +  "sandbox.start_failed",
      +  "sandbox.wake_failed",
      +  "sandbox.host_unreachable",
      +  "sandbox.host_reachable",
      +  "sandbox.recovered",
      +  "sandbox.recovery_failed",
      +  "sandbox.files.changed",
      +  "sandbox.out_of_memory",
      +  "sandbox.secret_not_applied",
      +  "sandbox.network.limited",
      +  "snapshot.ready",
      +  "snapshot.failed",
      +  "snapshot.deleted",
      +  "volume.ready",
      +  "volume.failed",
      +  "volume.deleted",
      +  "volume.recovered",
      +  "egress_secret.created",
      +  "egress_secret.updated",
      +  "egress_secret.deleted",
      +  "upstream_proxy.set",
      +  "upstream_proxy.removed",
      +  "credit.low",
      +  "credit.empty",
      +  "job.run.failed",
      +  "job.recovered",
      +  "agent.call.held"
      +]
  4. Changed1 schema field changed
    • changedInput schema / properties / events / items / enum
      Previous value: -[
      -  "*",
      -  "sandbox.created",
      -  "sandbox.running",
      -  "sandbox.paused",
      -  "sandbox.woken",
      -  "sandbox.stopped",
      -  "sandbox.start_failed",
      -  "sandbox.wake_failed",
      -  "sandbox.host_unreachable",
      -  "sandbox.host_reachable",
      -  "sandbox.recovered",
      -  "sandbox.recovery_failed",
      -  "sandbox.files.changed",
      -  "sandbox.out_of_memory",
      -  "sandbox.secret_not_applied",
      -  "snapshot.ready",
      -  "snapshot.failed",
      -  "snapshot.deleted",
      -  "volume.ready",
      -  "volume.failed",
      -  "volume.deleted",
      -  "volume.recovered",
      -  "egress_secret.created",
      -  "egress_secret.updated",
      -  "egress_secret.deleted",
      -  "upstream_proxy.set",
      -  "upstream_proxy.removed",
      -  "credit.low",
      -  "credit.empty"
      -]New value: +[
      +  "*",
      +  "sandbox.created",
      +  "sandbox.running",
      +  "sandbox.paused",
      +  "sandbox.woken",
      +  "sandbox.stopped",
      +  "sandbox.start_failed",
      +  "sandbox.wake_failed",
      +  "sandbox.host_unreachable",
      +  "sandbox.host_reachable",
      +  "sandbox.recovered",
      +  "sandbox.recovery_failed",
      +  "sandbox.files.changed",
      +  "sandbox.out_of_memory",
      +  "sandbox.secret_not_applied",
      +  "sandbox.network.limited",
      +  "snapshot.ready",
      +  "snapshot.failed",
      +  "snapshot.deleted",
      +  "volume.ready",
      +  "volume.failed",
      +  "volume.deleted",
      +  "volume.recovered",
      +  "egress_secret.created",
      +  "egress_secret.updated",
      +  "egress_secret.deleted",
      +  "upstream_proxy.set",
      +  "upstream_proxy.removed",
      +  "credit.low",
      +  "credit.empty",
      +  "job.run.failed",
      +  "job.recovered"
      +]
  5. Changed1 schema field changed
    • changedInput schema / properties / events / items / enum
      Previous value: -[
      -  "*",
      -  "sandbox.created",
      -  "sandbox.running",
      -  "sandbox.paused",
      -  "sandbox.woken",
      -  "sandbox.stopped",
      -  "sandbox.start_failed",
      -  "sandbox.wake_failed",
      -  "sandbox.host_unreachable",
      -  "sandbox.host_reachable",
      -  "sandbox.recovered",
      -  "sandbox.recovery_failed",
      -  "sandbox.files.changed",
      -  "sandbox.out_of_memory",
      -  "sandbox.secret_not_applied",
      -  "snapshot.ready",
      -  "snapshot.failed",
      -  "snapshot.deleted",
      -  "volume.ready",
      -  "volume.failed",
      -  "volume.deleted",
      -  "volume.recovered",
      -  "egress_secret.created",
      -  "egress_secret.updated",
      -  "egress_secret.deleted",
      -  "upstream_proxy.set",
      -  "upstream_proxy.removed"
      -]New value: +[
      +  "*",
      +  "sandbox.created",
      +  "sandbox.running",
      +  "sandbox.paused",
      +  "sandbox.woken",
      +  "sandbox.stopped",
      +  "sandbox.start_failed",
      +  "sandbox.wake_failed",
      +  "sandbox.host_unreachable",
      +  "sandbox.host_reachable",
      +  "sandbox.recovered",
      +  "sandbox.recovery_failed",
      +  "sandbox.files.changed",
      +  "sandbox.out_of_memory",
      +  "sandbox.secret_not_applied",
      +  "snapshot.ready",
      +  "snapshot.failed",
      +  "snapshot.deleted",
      +  "volume.ready",
      +  "volume.failed",
      +  "volume.deleted",
      +  "volume.recovered",
      +  "egress_secret.created",
      +  "egress_secret.updated",
      +  "egress_secret.deleted",
      +  "upstream_proxy.set",
      +  "upstream_proxy.removed",
      +  "credit.low",
      +  "credit.empty"
      +]
  6. Changed1 schema field changed
    • changedInput schema / properties / events / items / enum
      Previous value: -[
      -  "*",
      -  "sandbox.created",
      -  "sandbox.running",
      -  "sandbox.paused",
      -  "sandbox.woken",
      -  "sandbox.stopped",
      -  "sandbox.start_failed",
      -  "sandbox.wake_failed",
      -  "sandbox.host_unreachable",
      -  "sandbox.host_reachable",
      -  "sandbox.recovered",
      -  "sandbox.recovery_failed",
      -  "sandbox.files.changed",
      -  "sandbox.out_of_memory",
      -  "sandbox.secret_not_applied",
      -  "snapshot.ready",
      -  "snapshot.failed",
      -  "snapshot.deleted",
      -  "volume.ready",
      -  "volume.failed",
      -  "volume.deleted",
      -  "egress_secret.created",
      -  "egress_secret.updated",
      -  "egress_secret.deleted",
      -  "upstream_proxy.set",
      -  "upstream_proxy.removed"
      -]New value: +[
      +  "*",
      +  "sandbox.created",
      +  "sandbox.running",
      +  "sandbox.paused",
      +  "sandbox.woken",
      +  "sandbox.stopped",
      +  "sandbox.start_failed",
      +  "sandbox.wake_failed",
      +  "sandbox.host_unreachable",
      +  "sandbox.host_reachable",
      +  "sandbox.recovered",
      +  "sandbox.recovery_failed",
      +  "sandbox.files.changed",
      +  "sandbox.out_of_memory",
      +  "sandbox.secret_not_applied",
      +  "snapshot.ready",
      +  "snapshot.failed",
      +  "snapshot.deleted",
      +  "volume.ready",
      +  "volume.failed",
      +  "volume.deleted",
      +  "volume.recovered",
      +  "egress_secret.created",
      +  "egress_secret.updated",
      +  "egress_secret.deleted",
      +  "upstream_proxy.set",
      +  "upstream_proxy.removed"
      +]
  7. Changed1 schema field changed
    • changedInput schema / properties / events / items / enum
      Previous value: -[
      -  "*",
      -  "sandbox.created",
      -  "sandbox.running",
      -  "sandbox.paused",
      -  "sandbox.woken",
      -  "sandbox.stopped",
      -  "sandbox.start_failed",
      -  "sandbox.wake_failed",
      -  "sandbox.host_unreachable",
      -  "sandbox.host_reachable",
      -  "sandbox.recovered",
      -  "sandbox.recovery_failed",
      -  "sandbox.files.changed",
      -  "sandbox.out_of_memory",
      -  "snapshot.ready",
      -  "snapshot.failed",
      -  "snapshot.deleted",
      -  "volume.ready",
      -  "volume.failed",
      -  "volume.deleted",
      -  "egress_secret.created",
      -  "egress_secret.updated",
      -  "egress_secret.deleted",
      -  "upstream_proxy.set",
      -  "upstream_proxy.removed"
      -]New value: +[
      +  "*",
      +  "sandbox.created",
      +  "sandbox.running",
      +  "sandbox.paused",
      +  "sandbox.woken",
      +  "sandbox.stopped",
      +  "sandbox.start_failed",
      +  "sandbox.wake_failed",
      +  "sandbox.host_unreachable",
      +  "sandbox.host_reachable",
      +  "sandbox.recovered",
      +  "sandbox.recovery_failed",
      +  "sandbox.files.changed",
      +  "sandbox.out_of_memory",
      +  "sandbox.secret_not_applied",
      +  "snapshot.ready",
      +  "snapshot.failed",
      +  "snapshot.deleted",
      +  "volume.ready",
      +  "volume.failed",
      +  "volume.deleted",
      +  "egress_secret.created",
      +  "egress_secret.updated",
      +  "egress_secret.deleted",
      +  "upstream_proxy.set",
      +  "upstream_proxy.removed"
      +]
  8. Changed1 schema field changed
    • changedInput schema / properties / events / items / enum
      Previous value: -[
      -  "*",
      -  "sandbox.created",
      -  "sandbox.running",
      -  "sandbox.paused",
      -  "sandbox.woken",
      -  "sandbox.stopped",
      -  "sandbox.start_failed",
      -  "sandbox.wake_failed",
      -  "sandbox.host_unreachable",
      -  "sandbox.host_reachable",
      -  "sandbox.recovered",
      -  "sandbox.recovery_failed",
      -  "sandbox.files.changed",
      -  "snapshot.ready",
      -  "snapshot.failed",
      -  "snapshot.deleted",
      -  "volume.ready",
      -  "volume.failed",
      -  "volume.deleted",
      -  "egress_secret.created",
      -  "egress_secret.updated",
      -  "egress_secret.deleted",
      -  "upstream_proxy.set",
      -  "upstream_proxy.removed"
      -]New value: +[
      +  "*",
      +  "sandbox.created",
      +  "sandbox.running",
      +  "sandbox.paused",
      +  "sandbox.woken",
      +  "sandbox.stopped",
      +  "sandbox.start_failed",
      +  "sandbox.wake_failed",
      +  "sandbox.host_unreachable",
      +  "sandbox.host_reachable",
      +  "sandbox.recovered",
      +  "sandbox.recovery_failed",
      +  "sandbox.files.changed",
      +  "sandbox.out_of_memory",
      +  "snapshot.ready",
      +  "snapshot.failed",
      +  "snapshot.deleted",
      +  "volume.ready",
      +  "volume.failed",
      +  "volume.deleted",
      +  "egress_secret.created",
      +  "egress_secret.updated",
      +  "egress_secret.deleted",
      +  "upstream_proxy.set",
      +  "upstream_proxy.removed"
      +]
  9. Changed1 schema field changed
    • changedInput schema / properties / events / items / enum
      Previous value: -[
      -  "*",
      -  "sandbox.created",
      -  "sandbox.running",
      -  "sandbox.paused",
      -  "sandbox.woken",
      -  "sandbox.stopped",
      -  "sandbox.start_failed",
      -  "sandbox.wake_failed",
      -  "sandbox.host_unreachable",
      -  "sandbox.host_reachable",
      -  "sandbox.recovered",
      -  "sandbox.recovery_failed",
      -  "sandbox.files.changed",
      -  "snapshot.ready",
      -  "snapshot.failed",
      -  "snapshot.deleted",
      -  "volume.ready",
      -  "volume.failed",
      -  "volume.deleted"
      -]New value: +[
      +  "*",
      +  "sandbox.created",
      +  "sandbox.running",
      +  "sandbox.paused",
      +  "sandbox.woken",
      +  "sandbox.stopped",
      +  "sandbox.start_failed",
      +  "sandbox.wake_failed",
      +  "sandbox.host_unreachable",
      +  "sandbox.host_reachable",
      +  "sandbox.recovered",
      +  "sandbox.recovery_failed",
      +  "sandbox.files.changed",
      +  "snapshot.ready",
      +  "snapshot.failed",
      +  "snapshot.deleted",
      +  "volume.ready",
      +  "volume.failed",
      +  "volume.deleted",
      +  "egress_secret.created",
      +  "egress_secret.updated",
      +  "egress_secret.deleted",
      +  "upstream_proxy.set",
      +  "upstream_proxy.removed"
      +]
  10. Changed1 schema field changed
    • changedInput schema / properties / idempotencyKey / description
      Previous value: -"Unique per call; reuse it only to retry this exact call after a lost reply or a temporary error."New value: +"Optional: left out, one is made and returned as idempotencyKey. Send it back only to retry this exact call after a temporary error."
  11. Changed1 schema field changed
    • changedInput schema / properties / events / items / enum
      Previous value: -[
      -  "*",
      -  "sandbox.created",
      -  "sandbox.running",
      -  "sandbox.paused",
      -  "sandbox.woken",
      -  "sandbox.stopped",
      -  "sandbox.start_failed",
      -  "sandbox.wake_failed",
      -  "sandbox.files.changed",
      -  "snapshot.ready",
      -  "snapshot.failed",
      -  "snapshot.deleted",
      -  "volume.ready",
      -  "volume.failed",
      -  "volume.deleted"
      -]New value: +[
      +  "*",
      +  "sandbox.created",
      +  "sandbox.running",
      +  "sandbox.paused",
      +  "sandbox.woken",
      +  "sandbox.stopped",
      +  "sandbox.start_failed",
      +  "sandbox.wake_failed",
      +  "sandbox.host_unreachable",
      +  "sandbox.host_reachable",
      +  "sandbox.recovered",
      +  "sandbox.recovery_failed",
      +  "sandbox.files.changed",
      +  "snapshot.ready",
      +  "snapshot.failed",
      +  "snapshot.deleted",
      +  "volume.ready",
      +  "volume.failed",
      +  "volume.deleted"
      +]
  12. Changed1 schema field changed
    • changedInput schema / properties / events / items / enum
      Previous value: -[
      -  "*",
      -  "sandbox.created",
      -  "sandbox.running",
      -  "sandbox.paused",
      -  "sandbox.woken",
      -  "sandbox.stopped",
      -  "sandbox.start_failed",
      -  "sandbox.wake_failed",
      -  "snapshot.ready",
      -  "snapshot.failed",
      -  "snapshot.deleted",
      -  "volume.ready",
      -  "volume.failed",
      -  "volume.deleted"
      -]New value: +[
      +  "*",
      +  "sandbox.created",
      +  "sandbox.running",
      +  "sandbox.paused",
      +  "sandbox.woken",
      +  "sandbox.stopped",
      +  "sandbox.start_failed",
      +  "sandbox.wake_failed",
      +  "sandbox.files.changed",
      +  "snapshot.ready",
      +  "snapshot.failed",
      +  "snapshot.deleted",
      +  "volume.ready",
      +  "volume.failed",
      +  "volume.deleted"
      +]
  13. Changed1 schema field changed
    • changedInput schema / properties / idempotencyKey / description
      Previous value: -"Choose one before the first send; reuse it, with identical arguments, only to retry this call after a lost reply or a temporary error."New value: +"Unique per call; reuse it only to retry this exact call after a lost reply or a temporary error."
  14. Changed1 schema field changed
    • changedInput schema / properties / idempotencyKey / description
      Previous value: -"Choose one before the first send; reuse it only to retry after a lost reply."New value: +"Choose one before the first send; reuse it, with identical arguments, only to retry this call after a lost reply or a temporary error."
  15. Changed4 schema fields changed
    • removedInput schema / properties / deliveryId / description
      Removed value: -"Resource identifier (UUID)."
    • changedInput schema / properties / events / description
      Previous value: -"Which events to send: any of sandbox.created, sandbox.running, sandbox.paused, sandbox.woken, sandbox.stopped, sandbox.start_failed, sandbox.wake_failed, snapshot.ready, snapshot.failed, snapshot.deleted, volume.ready, volume.failed, volume.deleted; or [\"*\"] for every type, including ones added later (the default)."New value: +"Which events to send; [\"*\"], the default, sends every type, including ones added later."
    • removedInput schema / properties / id / description
      Removed value: -"Resource identifier (UUID)."
    • changedInput schema / properties / idempotencyKey / description
      Previous value: -"Choose one per write before sending; reuse it with identical input only after a lost reply."New value: +"Choose one before the first send; reuse it only to retry after a lost reply."
  16. First observed

TDQS

A4/5.0
Behavior3/5

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

The description adds real value beyond annotations: the signing secret is returned only once at create, rotate_secret can preserve the old secret for keepPreviousSeconds, and test returns the endpoint's answer. But the destructiveHint=true annotation is never honored in text — delete is an available action and the description never says what it destroys or whether in-flight deliveries survive, which is exactly the kind of context the annotation alone does not supply.

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?

Dense and front-loaded with the core concept, and nearly every clause carries information the schema does not. The action semantics are strung together in one semicolon-chained sentence, which makes scanning harder than grouping them by action would be.

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?

For a 9-action multiplexer with no output schema, three actions — list, get, and the destructive delete — receive no explanation at all, and the return shapes of list/deliveries are unstated. It is strong on the write-path actions but leaves a meaningful portion of the surface undocumented.

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?

With only 33% schema description coverage across 9 parameters, the description does meaningful compensation: it maps url/events/description/enabled to update, ties deliveryId to retry, and explains keepPreviousSeconds behavior. Gaps remain for id (which actions need it) and how keepPreviousSeconds is meant to be used, but the major action-parameter bindings are spelled out.

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 opening sentence names the resource and its behavior precisely: account webhooks that POST signed lifecycle events to an https URL. Combined with the action breakdown, an agent can distinguish this from siblings like runtime_events_list or runtime_sandboxes_manage without opening the schema.

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?

Each action is given a role (create/update/rotate_secret/test/deliveries/retry), and it explicitly redirects signature verification to verifyWebhook from the SDK, which is an alternative-tool pointer. However, there is no 'use this instead of X when Y' framing, no ordering advice (e.g. create before test), and no prerequisites such as owning the account.

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.