Skip to main content
Glama

Check a merchant before an agent pays

check_merchant
Idempotent

Decide whether an autonomous agent should pay one merchant, host, or wallet, and return trusted, unknown, suspicious, or block. Use immediately before a payment, a checkout redirect, or a transfer to a new 0x address. Do not use it to send money, to score a dollar amount (score_spend), or to read remaining checks (paycheck_get_quota). Does not sign transactions or hold wallet keys. target is a bare domain, an https URL, or a 0x address with 40 hex characters. amount_usd and category are ignored, so changing them does not change the verdict. trusted is only the published allowlist of known AI and developer APIs on https port 443. A new or random domain is never trusted. A wallet is never trusted. If the URL contains an embedded 0x address, this scores the host only; pass the bare address to score the wallet. api_key, when set, is a PayCheck pc_live_ key, not a Toolweather tw_ key from get_api_key and not a SpendGate sg_live_ key. Uses PayCheck's quota (100/day anonymous or an anon: bundle client, 1,000/day with a pc_live_ key or a hex Toolweather bundle client), then $0.001 via x402, not the Toolweather check quota. The same target for the same caller is idempotent for 60 seconds and does not consume a second check.

Input Schema

NameRequiredDescriptionDefault
targetYesDomain, https URL, or 0x wallet (40 hex characters) to score before paying. Not a dollar amount (score_spend) and not an MCP registry name.
api_keyNoOptional PayCheck key (pc_live_…). Not a Toolweather tw_ key and not a SpendGate sg_live_ key. Omit to use the anonymous or bundle-client allowance.
categoryNoIgnored by the scorer. Do not put instructions or a purpose in this field. Not a SpendGate category.
amount_usdNoIgnored by the scorer. Sending a different amount cannot change the verdict. Not a SpendGate amount.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior4/5

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

Adds a lot beyond the annotations: no transaction signing or key custody, the trusted allowlist is limited to published AI/dev APIs on port 443, wallets are never trusted, embedded 0x addresses score the host only, the 60-second idempotency window that does not consume a second check, and the exact quota/price model. The only gap is that it never says what the response body looks like beyond the four verdict strings, but with no output schema that remains acceptable.

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 purpose and verdict vocabulary, and most sentences carry non-obvious rules. It is dense but structurally sound; the api_key namespace clarification and the amount/category 'ignored' note are each stated twice (once in the description, once in the schema), which is mild redundancy.

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?

With no output schema, the description supplies the return vocabulary and its meaning (trusted = published allowlist only, never a new domain or wallet), plus billing, quota, idempotency, and auth expectations. An agent has everything needed to call it correctly and interpret the result.

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 100% so the baseline is 3, and the description earns above that by clarifying that amount_usd and category are inert ('changing them does not change the verdict'), the 40-hex-character address format, and the pc_live_ vs tw_ vs sg_live_ key namespaces. Some of this duplicates the schema text, so it is additive rather than essential.

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?

Names a specific decision ('decide whether an autonomous agent should pay'), the resources it applies to (merchant, host, wallet), and enumerates the exact return values (trusted, unknown, suspicious, block). It explicitly separates itself from score_spend and paycheck_get_quota, so an agent can disambiguate without opening a schema.

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

Usage Guidelines5/5

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

Gives a concrete trigger ('immediately before a payment, a checkout redirect, or a transfer to a new 0x address') and explicit exclusions ('Do not use it to send money, to score a dollar amount (score_spend), or to read remaining checks (paycheck_get_quota)'), naming the correct alternatives.

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