Skip to main content
Glama

Stabledrop escrow payments

Server Details

Stablecoin escrow payments the buyer can dispute, with a signed receipt. Pay a wallet or an email.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4/5.0

Scored across 6 tools

Disambiguation4/5

Each tool has a distinct job: prepare computes the destination, settle creates the escrow, check reports status, verify validates receipts, payment_qr renders a QR, and read_published_page serves docs. The only realistic ambiguity is prepare vs settle, since they share terms and a close phase boundary, but their descriptions separate 'before anyone signs' from 'after the money is there' clearly.

Naming Consistency4/5

Most tools follow verb_escrow_payment/receipt: check_escrow_payment, prepare_escrow_payment, settle_escrow_payment, verify_escrow_receipt. payment_qr and read_published_page break the pattern but are still readable and unambiguous deviations.

Tool Count5/5

Six tools is well-scoped for an escrow payment server: preparation, settlement, status, verification, QR support, and documentation each earn a place. There is no redundancy or bloat.

Completeness4/5

The core lifecycle is covered: derive an address, fund, settle, check status, and verify receipts. The main gap is that dispute/refund actions are referenced in the docs but not exposed as tools, though those may be intentionally human-driven rather than agent actions.

Available Tools

6 tools
check_escrow_paymentCheck Escrow PaymentBInspect

What has happened to a settled payment, from the status_url on its receipt.

ParametersJSON Schema
NameRequiredDescriptionDefault
status_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. The wording 'what has happened' implies a read-only, historical lookup rather than a mutating action, but it does not explicitly state side-effect-freedom, authorization requirements, or possible response behaviors. This is minimally acceptable but not fully transparent.

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?

The description is a single concise sentence with no filler. It front-loads the core concept ('what has happened to a settled payment') and ends with the key input source (`status_url` on its receipt). Slight awkwardness in phrasing prevents a 5, but it is appropriately sized and structured.

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?

With one required parameterhare and an output schema present, the description does not need to explain return values. It adequately names the input source and settled-payment precondition, but it omits contextual details such as whether this is safe to call repeatedly, whether the `status_url` expires, or how this relates operationally to `settle_escrow_payment` and `verify_escrow_receipt`.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It adds useful meaning by explaining that `status_url` comes from the payment receiptcars, but it does not provide details about URL format, how to extract it, or what the tool expects beyond the schema's plain string type. The single-parameter design reduces the risk, but the semantics are only partially enriched.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies a specific action: checking what happened to a settled payment using the `status_url` from its receipt. It distinguishes itself from sibling tools like `settle_escrow_payment` and `verify_escrow_receipt` by focusing on status/history of an already settled payment, though the phrasing 'what has happened' is somewhat indirect.

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

Usage Guidelines3/5

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

The description implies the tool is meant for post-settlement inquiries: the payment must be settled and the caller must have the receipt's `status_url`. It does not explicitly name alternatives or state when not to use this tool, so usage context is clear but exclusion/routing guidance is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

payment_qrPayment QrAInspect

A scannable code for a payment request, so nobody retypes an address.

Pass the payment_uri from prepare_escrow_payment. Returns a QR a phone wallet can scan, with the token, network, destination and amount already in it.

⚠️ A SEPARATE TOOL RATHER THAN PART OF prepare, because the two have different audiences. prepare answers a machine and has to stay parseable; an image in its result would make the structured fields something a client has to dig for. A person who needs the code asks for it.

⚠️ AND IT ENCODES THE URI, NOT THE BARE ADDRESS. A QR holding only an address leaves the amount and the token to be entered by hand, which is the part worth removing — an escrow funded with the wrong figure is not the escrow these terms derive to, and the money sits at an address nothing can deploy to.

ParametersJSON Schema
NameRequiredDescriptionDefault
payment_uriYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does disclose the output (a QR containing token, network, destination, and amount) and the critical encoding behavior (URI, not bare address). It does not explicitly state side-effect status or failure behavior, but for a pure encoding/rendering tool this is reasonably transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first two sentences are concise and front-loaded, but the two all-caps warnings are verbose and partly explain design rationale rather than operational requirements. The content is useful, but the description could be tightened without losing meaning.

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 one-parameter tool with no output schema and no annotations, the description is largely complete: it names the input source, describes the output, and warns about the key misuse. It could be more explicit about the exact QR/image format returned and error cases, but these are minor gaps.

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 single `payment_uri` parameter is given provenance ('from `prepare_escrow_payment`') and semantic content (token, network, destination, amount). Since the input schema only says 'string' and schema description coverage is 0%, this fully compensates for the missing schema documentation.

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 and resource: it 'Returns a QR a phone wallet can scan' for a payment request, with a clear purpose. It also distinguishes itself from prepare_escrow_payment by audience ('A person who needs the code asks for it').

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?

Explicitly instructs the caller to pass the `payment_uri` from `prepare_escrow_payment` and explains when the tool is appropriate. It also clarifies that it is intentionally separate from `prepare`, so an agent knows not to expect this output embedded in the machine-readable result.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prepare_escrow_paymentPrepare Escrow PaymentAInspect

Work out where a payment must go, before anybody signs or sends anything.

seller and nominal_buyer may each be a wallet address OR AN EMAIL ADDRESS — an email is converted to the wallet that person owns, so you never need to know a wallet to use this.

Returns the escrow address these terms produce, and TWO ways to fund it. Both end at the same address holding the same money; they differ only in who sends the transaction.

Transfer it yourself. Send the tokens to the address from any wallet — a browser wallet, a hardware wallet, an exchange withdrawal. Nothing to sign for us, and no payer needed, because the escrow never asks who paid: it reads its own balance. Then call settle_escrow_payment with no signature and we create the escrow around what is there.

Or let us relay it. Pass payer and this returns an EIP-3009 authorization for them to sign. We broadcast it and pay the gas, so the payer needs no gas at all. This is the only one an agent can complete unattended, and the only one that needs a key anywhere.

Either way the address is the same, because it is a pure function of the terms. That is also what makes the relayed form safe: the payer signs to as part of the authorization, committing to every term at once — alter any of them afterwards and the address moves and the signature stops matching.

amount is in the TOKEN's base units (1 USDC = 1000000), because that exact figure is one of the terms the address derives from.

expiry_timestamp is an absolute Unix time — when the dispute window closes. 0 settles instantly with no recourse. There is no default: "instant, deliberately" and "nobody said" are different, and a caller must not discover afterwards which one they got.

nominal_buyer is who may dispute and receives a refund. For an agentic payment this should be the PERSON, not the agent — they are the one who will later read a report and decide whether to object.

seller and nominal_buyer may each be a wallet address OR an email address. An email resolves to the wallet Privy holds for that person — made for them if they have never logged in — and the same email always resolves to the same wallet, so the address derived here is the one settle_escrow_payment derives too. The resolved wallets come back under parties. A seller given by email is paid into that wallet; they sign in with the email to reach it.

external_id keeps two otherwise-identical payments apart, and is one of the terms the address derives from. Leave it out and a unique one is generated. That is the right default: two payments matching in seller, amount, maturity and buyer would otherwise derive to the SAME address, and funding the second sends money into the first escrow — recoverable only after that one is claimed, and only to ITS buyer.

⚠️ PASS BACK THE external_id THIS RETURNS, not the one you sent. A generated one is only knowable from the result, and settle derives the address again from whatever it is given: a different id is a different address, and the money is at this one.

Supply your own for the opposite behaviour — a checkout hash gives "one checkout, one escrow", so re-presenting the same purchase returns the same address rather than a second.

description is what the payment is FOR, in the buyer's own words — ask them for it rather than defaulting. It is what they will be looking at in the dashboard weeks later deciding whether to dispute, and "Escrow payment" tells them nothing about which one this was. It does not affect the address, so it can be set freely here.

⚠️ 1 to 160 characters. Longer is refused HERE rather than at the chain, where the check happens after the money has already moved.

ParametersJSON Schema
NameRequiredDescriptionDefault
payerNo
amountYes
sellerYesWho gets paid: a wallet address (0x…) OR an email address. An email is converted to the wallet that person owns, created for them if they have never signed in; the same email always gives the same wallet.
descriptionNoEscrow payment
external_idNo
token_symbolNoUSDC
nominal_buyerYesWho may dispute and receives any refund — the PERSON, not the agent: a wallet address (0x…) OR an email address. An email is converted to that person's wallet, created for them if they have never signed in.
expiry_timestampYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 transparency burden and carries it very well. It reveals the key behaviors: email-to-wallet resolution, same address regardless of funding path, generated external_id and the danger of sending a different one, amount units, expiry_timestamp semantics with no default, description length validation, and the EIP-3009 relay mechanics. An agent gets a realistic model of side effects and failure modes.

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?

The description is long but well-structured with bolded options, explicit warnings, and front-loaded purpose. However, the wallet-or-email point is made twice in similar wording, and some explanatory passages are more verbose than strictly necessary. It is justified detail rather than filler, but the duplication keeps it from a perfect conciseness score.

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?

For a complex, high-stakes financial preparation tool, the description is remarkably complete: it covers required parameters, optional parameters, failure semantics, defaults, cross-tool sequencing, and the exact reason the returned external_id must be passed back. The output schema exists, so the description correctly focuses on behavior and preconditions rather than restating return fields.

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?

Schema coverage is only 25%, but the description compensates thoroughly: it explains amount base units, absolute Unix expiry and the significance of 0, external_id generation and matching behavior, description length and purpose, payer's role in the relay path, and the seller/nominal_buyer email-or-wallet semantics. Every meaningful parameter except the self-evident token_symbol is given practical meaning beyond the schema.

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 opening line 'Work out where a payment must go, before anybody signs or sends anything' gives a precise verb, resource, and phase of the payment lifecycle. It clearly states the tool returns the escrow address and two funding paths, and explicitly positions it ahead of settle_escrow_payment, distinguishing it from the sibling that actually creates the escrow.

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?

The description gives clear contextual guidance: this is the pre-signing/pre-sending step, and later you 'call settle_escrow_payment with no signature'. It also distinguishes the two internal paths and notes that the relayed path is the only one an agent can complete unattended. It does not explicitly enumerate when to avoid the other sibling tools like check_escrow_payment or verify_escrow_receipt, so it stops short of a perfect alternative-selection guide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_published_pageRead Published PageAInspect

Read one of the published pages, for answering questions about how any of this works.

Use it rather than guessing. What the fees are, how a dispute is decided and who decides it, what a buyer is agreeing to — all of it is written down, and none of it is safe to invent.

how-it-works How an escrow payment works, start to finish faq Common questions about escrow, fees, disputes and timing arbitration-policy How a dispute is decided, by whom, and on what evidence terms-of-service The terms a buyer and seller are agreeing to privacy-policy What is collected and why plugins The WordPress and Shopify integrations home What the product is and who it is for

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the disclosure burden. The verb 'Read' signals a non-mutating operation, and the page list clarifies scope, but the description does not mention error behavior, side effects, or return semantics. Since an output schema exists, the lack of return-format detail is 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?

The description is front-loaded with purpose, then gives a brief rationale, and then a structured list of valid pages. The motivational sentence ('none of it is safe to invent') earns its place by reinforcing when to use the tool, though it is slightly wordy.

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 single-parameter read tool, the description provides the complete set of likely valid page values, the purpose, and the types of questions to answer. It could be slightly more explicit that the listed pages are the only valid values, but the output schema and low complexity mean the description is effectively sufficient.

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 input schema provides only a bare `page` string with no description or enum, yet the description compensates fully by enumerating the valid page identifiers (how-it-works, faq, arbitration-policy, terms-of-service, privacy-policy, plugins, home) and explaining what each contains. This is exactly the semantic information an agent needs to select a correct parameter value.

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 states a specific verb and resource: 'Read one of the published pages, for answering questions about how any of this works.' It clearly distinguishes this knowledge-base reader from the sibling payment-operation tools (check, prepare, settle, verify) by framing it as the source of authoritative documentation about fees, disputes, and terms.

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?

The description gives strong contextual guidance: 'Use it rather than guessing' and lists the exact topics (fees, dispute resolution, buyer agreements) that should be answered from these pages. It does not explicitly list exclusions or alternative tools, but the context makes the intended use clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

settle_escrow_paymentSettle Escrow PaymentAInspect

Create the escrow around the money and return a signed receipt.

seller and nominal_buyer may be wallet addresses OR EMAIL ADDRESSES, exactly as in prepare_escrow_payment; an email converts to the same wallet it did there.

Works both ways, and which one runs is decided by whether you pass a signature:

Already transferred it yourself — omit authorization and signature. We check the address holds the amount and build the escrow around what is there. If the transfer has not arrived it says so, and nothing is spent finding out.

Want us to relay it — pass the payer's authorization and signature. We broadcast it and pay the gas, so the payer needs none. This process holds no key and signs nothing; it is handed a signature and carries it.

Pass the terms exactly as they were prepared. They ARE the escrow's address, so a single altered figure moves it — and with a signature, stops matching what the payer signed.

seller and nominal_buyer may be wallet addresses or email addresses, as in prepare_escrow_payment; an email resolves to the same wallet it did there.

⚠️ external_id MUST BE THE ONE prepare_escrow_payment RETURNED. It generates one when you leave it out, and that generated value is only knowable from its result — send a different one and this derives a different address, while the money is at the first.

⚠️ The receipt reports what the seller will actually RECEIVE in token_amount, with the platform fee named beside it. That is less than the amount authorised, and the two reconcile: token_amount + creator_fee = amount.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYes
sellerYesWho gets paid: a wallet address (0x…) OR an email address. An email is converted to the wallet that person owns, created for them if they have never signed in; the same email always gives the same wallet.
signatureNo
descriptionNoEscrow payment
external_idYes
token_symbolNoUSDC
authorizationNo
nominal_buyerYesWho may dispute and receives any refund — the PERSON, not the agent: a wallet address (0x…) OR an email address. An email is converted to that person's wallet, created for them if they have never signed in.
expiry_timestampYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does exceptionally well. It discloses that the service checks the address before building escrow, reports if the transfer has not arrived, pays gas in relay mode, holds no key and signs nothing, derives the escrow address from the exact terms, and reports the seller's actual received amount separately from the creator fee. These are real behavioral details beyond the schema.

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?

The description is front-loaded with the core purpose and uses bold labels and warning blocks to make long content scannable. However, the sentence about seller and nominal_buyer accepting wallet or email addresses appears twice almost verbatim, which is unnecessary repetition. Otherwise, the length is justified by the two-mode complexity.

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?

Given the tool's complexity, missing annotations, and low schema coverage, the description is remarkably complete. It covers the prerequisite relationship with prepare_escrow_payment, both execution paths, a critical external_id constraint, the impact of altered terms, and receipt/fee semantics. An agent has enough context to call this tool correctly without additional investigation.

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 description coverage is only 22%, so the description must compensate. It explains the meaning and interaction of the most semantically tricky parameters: seller/nominal_buyer email-to-wallet resolution, authorization/signature relay behavior, external_id provenance, and the relationship between amount, token_amount, and creator_fee. It does not individually define expiry_timestamp, token_symbol, or description, but those are more self-evident or have defaults.

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 first sentence states a specific verb and resource: 'Create the escrow around the money and return a signed receipt.' It also clearly distinguishes itself from the related prepare_escrow_payment by repeatedly referring to 'as prepared' and requiring the external_id returned by that tool, so an agent can tell this is the settlement/execution step rather than preparation or verification.

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?

The description explicitly says 'which one runs is decided by whether you pass a signature,' then gives two clear modes with exact conditions: omit authorization/signature if the transfer was already made, or pass them to have the service relay the payment. It also warns that external_id must be the one returned by prepare_escrow_payment. This gives an agent direct selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_escrow_receiptVerify Escrow ReceiptAInspect

Check a receipt's signature against the key its issuer publishes.

⚠️ THE KEY IS FETCHED FROM THE RECEIPT'S OWN iss, NOT FROM WHOEVER HANDED IT OVER. Otherwise anything that can serve a receipt can also serve the key that vouches for it, and the signature stops meaning anything.

Use this on receipts from anywhere, including ones this server did not produce.

ParametersJSON Schema
NameRequiredDescriptionDefault
payment_receiptYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description must carry behavioral disclosure, and it does. The warning that the key is fetched from the receipt's own `iss`, not from whoever handed it over, is a critical non-obvious behavior. The note about external receipts also clarifies scope, though it does not explicitly state side effects or error behavior.

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?

The description is compact and front-loaded: one purpose sentence, one security warning, one usage sentence. The warning is emphatic but earns its place because it prevents a critical security misuse. There is no filler.

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?

Given a single required string parameter and an output schema, the description covers the purpose, the key security caveat, and the supported input scope. It does not fully compare against sibling tools or document the receipt's wire format, but those are minor given the tool's simple surface.

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?

The schema only provides the parameter name and type, so the description must supply meaning. It does by indicating the receipt carries a signature and an `iss` claim that determines which key validates it. It does not specify the serialization format, but for a single string parameter this is a moderate gap, not a blocking one.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action and object: 'Check a receipt's signature against the key its issuer publishes.' This clearly identifies the tool's core function. It does not explicitly name sibling tools, but the usage note about receipts 'from anywhere, including ones this server did not produce' gives some scope differentiation.

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?

The description gives an explicit usage instruction: 'Use this on receipts from anywhere, including ones this server did not produce.' This tells an agent the tool is not limited to receipts the server generated. It does not name alternatives or list when not to use it, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changedprepare_escrow_payment2 fields changed
      • addedInput schema / properties / nominal_buyer / description
        Added value: +"Who may dispute and receives any refund — the PERSON, not the agent: a wallet address (0x…) OR an email address. An email is converted to that person's wallet, created for them if they have never signed in."
      • addedInput schema / properties / seller / description
        Added value: +"Who gets paid: a wallet address (0x…) OR an email address. An email is converted to the wallet that person owns, created for them if they have never signed in; the same email always gives the same wallet."
    • Changedsettle_escrow_payment2 fields changed
      • addedInput schema / properties / nominal_buyer / description
        Added value: +"Who may dispute and receives any refund — the PERSON, not the agent: a wallet address (0x…) OR an email address. An email is converted to that person's wallet, created for them if they have never signed in."
      • addedInput schema / properties / seller / description
        Added value: +"Who gets paid: a wallet address (0x…) OR an email address. An email is converted to the wallet that person owns, created for them if they have never signed in; the same email always gives the same wallet."
  2. 6 tool updates
    • First observedcheck_escrow_payment
    • First observedpayment_qr
    • First observedprepare_escrow_payment
    • First observedread_published_page
    • First observedsettle_escrow_payment
    • First observedverify_escrow_receipt

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Non-custodial on-chain escrow + AI arbitration for agent-to-agent USDC payments on Base. Seven tools wrap a verified EscrowV1 contract — create, deliver, confirm, dispute, resolve — with read-only introspection if no wallet key is provided.
    7
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Accept crypto payments from AI agents: create an invoice in one call and get a hosted checkout link (USDC/USDT on Celo, Base, Arbitrum, Polygon, BSC). No API key, instant self-custody settlement.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Settlement rails for AI labor — USDC escrow on Base Mainnet, 1% protocol fee, designed for autonomous agents. 10 MCP tools covering the full escrow lifecycle: * Quoting calldata for create-intent, submit-proof, release-funds (broadcast gated) * Single-call x402 payment binding (replaces the 5-step x402 dance with one HMAC-signed POST) * Server-side reputation from on-chain event scan * Li
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources