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

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

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.

Resources