Skip to main content
Glama

Register a merchant

shop.merchant.register

Register a merchant (status pending). Sign the sign-in message (purpose register, nonce from GET /api/v1/shop/auth/nonce) with the merchant wallet. Returns the documents to accept via shop.merchant.accept_terms.

Input Schema

NameRequiredDescriptionDefault
nameYes
slugYes
walletYes
countryYesISO 3166-1 alpha-2
messageYesSigned sign-in message (purpose register).
categoryYes
site_urlYes
signatureYes
contact_emailYes
payout_walletNo
encryption_keyYes
recovery_walletNo
payout_wallet_baseNo
payout_wallet_tempoNo

Output Schema

NameRequiredDescriptionDefault
slugYes
statusYes
merchant_idYes
docs_to_acceptYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false), and the description adds real context beyond that: the merchant is created in a pending state, wallet signing with a specific purpose/nonce is mandatory, and accepting terms is a required follow-up. It does not say what happens to the record if terms are never accepted or whether registration is idempotent for an existing wallet/slug.

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?

Three tight sentences with no filler, front-loaded on the action and its resulting state. The final sentence about returning documents is slightly redundant given an output schema exists, but it usefully signals the required next tool call.

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 10-required-parameter mutation with nested objects and only 14% schema coverage, the description adequately explains the auth/signing flow and the follow-up step but says nothing about the many identity, contact, and payout/encryption-key fields. An output schema exists, so return values need no elaboration, but the input-side gaps keep this at minimum-viable.

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

Parameters2/5

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

Only 14% of the 14 parameters are described in the schema, and the description compensates for very few of them. It clarifies the meaning of `message`/`signature`/`wallet` (sign-in message, purpose 'register', nonce source), but leaves `slug`, `name`, `category`, `country`, `contact_email`, `site_url`, `encryption_key.kid/alg/pub/sig_by_wallet`, `recovery_wallet`, and the three payout wallet variants entirely undocumented in both places.

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 a merchant') and immediately qualifies the resulting state ('status pending'), which is the key differentiator from shop.merchant.accept_terms. It also names the follow-up sibling, so an agent can distinguish this tool from the other merchant.* tools without opening schemas.

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?

Explains the precondition to call it (sign the sign-in message with purpose 'register', nonce fetched from GET /api/v1/shop/auth/nonce) and routes the agent to the next step (shop.merchant.accept_terms). No explicit when-not-to-use guidance, but the context is clear enough to act on.

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.