Skip to main content
Glama

subscribe_notifications

Subscribe a wallet to push notifications (order_filled / offer_received / saved_search) via an HMAC-signed webhook — the agent-native alternative to polling. Two-step: call WITHOUT signature to get the exact message to sign (EIP-191 personal_sign), then call again WITH the signature. chainId is signed over and the signature is verified on THAT chain, so pass the chain the wallet actually signs on (smart-wallet signatures do not validate cross-chain). Each signed message is SINGLE-USE: resending the same body returns 409 replayed_signature — retry with a fresh timestamp and a new signature. The response includes the webhook HMAC secret ONCE (verify x-market0x-signature = hex(HMAC-SHA256(rawBody, secret))).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
eventsYes
walletYes
chainIdYeschain the wallet signs on; it is part of the signed message
channelYes
signatureNoEIP-191 signature of the canonical message; omit to receive the message to sign
timestampYesunix seconds; must be within 10 minutes of now
webhookUrlNohttps URL; required for the webhook channel
savedSearchNo

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and meets it: it discloses the mutation side-effect (subscribe), the two-step signing protocol, chain-specific signature validation, the single-use nature of signatures with the 409 replayed_signature behavior, and that the webhook HMAC secret appears only once in the response. This is unusually transparent about failure modes and constraints.

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?

Every sentence adds a distinct operational fact: what it is, how to call it, which chainId to pass, what to do on replay, and how to verify the webhook. The flow is logically ordered from summary to two-step protocol to pitfalls to response handling, and there is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 8-parameter tool with no output schema, the description covers the critical process, failure modes, and verification. It does not describe the inapp channel alternative (the description is webhook-centric), nor the savedSearch parameter's full semantics, though the schema documents those details. Given the schema coverage, this is a minor gap.

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

Parameters5/5

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

The description adds meaning far beyond the schema: it explains the signature parameter's presence/absence controls the two-step flow, that chainId is part of the signed message and must match the wallet's actual signing chain, that timestamp needs freshness, and that events map to the listed notification types. This compensates for the schema's 50% coverage.

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 uses a specific verb ('Subscribe') with a direct object ('a wallet') and an explicit resource ('push notifications') and names the three event types. It distinguishes itself from polling and, via wording, from sibling tools like unsubscribe_notifications and list_subscriptions, so an agent knows exactly what operation this is.

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?

It explicitly frames the tool as 'the agent-native alternative to polling,' giving a clear when-to-use signal, and walks through the required two-step flow (call without signature, then with signature). It does not explicitly contrast with sibling subscription-management tools, but the workflow guidance is strong.

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.9/5.0
Disambiguation4/5

Most tools map cleanly to distinct resources and actions, with the prepare_* group differentiated by their operation suffix. The main ambiguity is get_listing_details, whose description says 'one order' while the name implies a listing, so it could be confused with get_orders or get_listings.

Naming Consistency4/5

All tool names are lowercase snake_case and follow a verb-first shape using get/list/search/prepare/subscribe/unsubscribe, which is predictable. Minor inconsistencies exist: get_ and list_ are both used for read operations, and prepare_finalize/prepare_cancel pair the prepare_ prefix with a verb rather than a noun.

Tool Count5/5

15 tools is at the high end but each one earns its place: market discovery, order listing, transaction preparation, purchase/offer/cancel flows, Basename finalization, and notification management. There is no obvious padding or missing category that would make the count feel bloated.

Completeness4/5

The core marketplace lifecycle is well covered: create listings/offers, buy/accept, cancel, finalize, and query listings/orders/positions/trades/names/notifications. The most notable gap is a lack of a synchronous, first-class query for offers received on an owned listing or position; discovery of incoming offers relies on notifications or knowing the bidder's address.

Resources