Skip to main content
Glama

DebitMyData Agentic Superhighway

Purchase

dmd_purchase

Start a purchase with the chosen payment option.

    did_registration: returns a payable quote (the same as dmd_create_did_payment_quote).

    Add-ons for a DID-LLM (bottybotty_entry, bottybotty_standard, bottybotty_premium): returns
    a payable quote for details.did; for a higher BottyBotty tier than the one owned, it
    charges the difference.
    Pay it, wait for dmd_get_payment_status to say "settled", then dmd_complete_purchase.

    Donations (inference_donation, USDC on Base through x402): call with the amount; it
    fails with the x402 payment requirements. Sign them with your wallet and call again
    with the same details and x402_payment. The answer is the donation with a receipt
    signed by DebitMyData, or its status_url while the payment confirms. Sending the same
    payment again returns the same donation.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "product_id": "<product_id>",
      "preferred_payment_option": "<preferred_payment_option>",
      "details": "<details>"
    },
    "name": "dmd_purchase"
  }
}

Input Schema

NameRequiredDescriptionDefault
detailsYesProduct-specific fields. For did_registration: display_name, participant_type, controller_public_key and/or controller_wallet_address (with optional controller_network), and optionally metadata. For a donation (inference_donation): amount_usd, and optionally donor_name and donor_did. For an add-on (such as bottybotty_entry): did, the DID-LLM it is for
product_idYesProduct ID from dmd_catalog
x402_paymentNoDonations only: your signed PaymentPayload (x402 version 2) answering the payment requirements this tool returned. It may also be sent in the request's _meta['x402/payment'].
idempotency_keyNodid_registration only: optional random key (16-128 characters) for safe retries
preferred_payment_optionYesPayment option ID

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?

Annotations establish a non-read-only, non-destructive mutation, and the description adds substantial behavior: payable quotes, tier-difference charging, the x402 failure-and-retry protocol, receipt or status_url responses, and replay idempotency for donations. There is no contradiction, and this is rich process context well beyond the annotations.

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 purpose is front-loaded, then guidance is grouped by product with product labels that make the flow easy to scan. Its length is justified by the multi-product payment behavior, and there is little wasted wording.

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 purchase tool with no output schema, it describes what each flow returns: a payable quote, or a donation with receipt or status_url. It also covers the x402 retry and higher-tier difference cases, leaving no major call-time ambiguity.

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 schema already documents each parameter's intended meaning. The description still adds process semantics for details.did, donation amount, and the x402_payment two-step handshake, plus replay behavior, though it does not explain every parameter such as idempotency_key beyond what the schema states.

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?

It starts with a specific verb and resource, then maps the tool's behavior to each product type: did_registration, DID-LLM add-ons, and donations. It explicitly distinguishes the did_registration quote from dmd_create_did_payment_quote and names downstream dmd_get_payment_status and dmd_complete_purchase steps, so an agent can identify its role without opening another schema.

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 provides clear usage flow per product: get a quote, pay, wait for settled, then complete, with a detailed two-step x402 flow for donations. It names alternatives and next steps but does not explicitly state when not to use this tool or give a preference among quote-returning siblings.

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.