Skip to main content
Glama

SeaWeb

delete_disruption_webhook

DestructiveIdempotent

Travel Product B — delete ONE webhook subscription you registered. Pass the SAME tenant_id you registered it under — ownership is proven against that namespace. Idempotent: an unknown, already-deleted, or not-yours id returns deleted=false rather than an error. Returns {subscription_id, deleted}. Needs an authenticated key.

    Registration was gated and listable but had no teardown: a webhook
    created here could not be removed from any surface, kept receiving
    signed POSTs after the account stopped paying, and — because an
    account may hold only one webhook URL — blocked the browser from
    creating monitors at a different URL with no way out. Deletion stays
    OPEN to a lapsed account for the same reason it is open on standing
    queries: gating teardown strands live delivery the owner can no
    longer stop.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tenant_idNo
subscription_idYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the idempotentHint and destructiveHint annotations, it discloses exact idempotent behavior (unknown/already-deleted/not-yours returns deleted=false instead of an error), the return shape, the authentication requirement, and the unusual policy that deletion stays open for lapsed accounts. This is significant value added over annotations.

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?

The first paragraph is tight and front-loaded with purpose, ownership, idempotency, return shape, and auth. The second paragraph's long historical rationale is valuable context but verbose and could be trimmed without losing critical guidance.

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 destructive tool with no output schema and sparse parameter docs, the description provides enough to call it correctly: required credentials, tenant namespace, idempotent failure behavior, and the response payload. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description compensates by explaining that tenant_id is the ownership namespace from registration and that subscription_id identifies the webhook to delete. It does not fully describe how to obtain subscription_id or the effect of omitting/leaving tenant_id null, which prevents a 5.

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?

States a precise action: delete ONE webhook subscription the caller registered, with explicit ownership scope. This clearly differentiates it from register_disruption_webhook and list_disruption_webhooks siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear calling context: pass the same tenant_id used at registration and provide an authenticated key. It does not explicitly name alternatives such as delete_standing_query or tell the agent to list webhooks to find the subscription_id, so it falls short of a full when-not-to-use statement.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation2/5

Several tool clusters have fuzzy boundaries: search vs. search_restaurants/search_salons/search_web, get_entity vs. get_restaurant/get_salon/get_details, and agent_job_status vs. research_status all require careful reading to pick correctly. The long descriptions help, but the overlap is real and an agent can easily misroute a call.

Naming Consistency4/5

Most tools follow a clean get_/list_/search_/register_/delete_ verb_noun pattern, making the bulk of the surface predictable. A few outliers like recall, remember, teamwork_preview, and travel_health break the pattern but are still readable and not chaotic.

Tool Count2/5

43 tools is far beyond a well-scoped server and bundles several distinct products — vertical search, web crawl, disruption monitoring, agent memory, and A/B evaluation — into one surface. Even if each subdomain is individually reasonable, the combined count makes the server feel like multiple toolsets mashed together.

Completeness3/5

Core workflows are mostly covered: search, extract, get details, register/list/delete standing queries and webhooks, and research jobs all have usable lifecycles. However, there is no update path for standing queries or webhooks, built datasets lack a clear retrieval tool, and research jobs have status but no obvious distinct cancel/list surface.

Resources