Skip to main content
Glama

Set a webhook endpoint

shop.merchant.webhook_set

Register (or update with endpoint_id) an https webhook endpoint for the events you pick (needs webhooks:write): order.paid, order.confirmed, order.shipped, order.delivered, order.cancelled, refund.requested, refund.verified, dispute.opened, catalog.rejected, merchant.key_rotated, merchant.keys_reissued, subscription.started, subscription.renewed, subscription.past_due, subscription.canceled, subscription.expired, subscription.pull_failed, stream.settle_due. The URL must resolve to public addresses only. A new endpoint returns its whsec_ signing secret ONCE. Deliveries are signed (X-APIbase-Signature: t=,v1=HMAC-SHA256(secret, t.body)); dedupe by order_id. Another merchant's endpoint_id is 404.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
eventsYes
endpoint_idNo
rotate_secretNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
eventsYes
secretNowhsec_<32hex>, shown once
endpoint_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations: states the required scope, that URLs must resolve to public addresses, that the whsec_ secret is returned only ONCE, the exact HMAC signature header format, dedupe guidance, and the 404 behavior for another merchant's endpoint_id. This is rich operational context an agent needs before calling.

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?

Front-loads the core action and scope, then layers behavioral detail. The event enumeration is long but necessary and the prose has no filler; slightly dense in a single block rather than broken up.

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?

An output schema exists so return values need not be described, and the description still covers auth scope, URL constraints, secret issuance, signature verification, dedupe, and the cross-merchant 404 case. Nothing an agent needs to invoke it correctly 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%, so the description carries the burden and does: it constrains 'url' to public-resolving https, explains 'events' as a pick-list of the enumerated events, and clarifies 'endpoint_id' triggers update. Only 'rotate_secret' is left unexplained, keeping it from 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 specific verb+resource (register/update a webhook endpoint) and enumerates the exact event types it can subscribe to, which lets an agent distinguish it from sibling tools like shop.merchant.rotate_key or shop.merchant.register 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?

Explicitly tells the agent how to switch between create and update modes ('or update with endpoint_id') and names the required scope (webhooks:write). It does not name a competing sibling to route to, 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.