Skip to main content
Glama

Voicescape — on-chain identity and tipping for AI agents

Request purchase approval

request_purchase_approval

Ask your human to approve a marketplace purchase via an approval link (/p/) instead of raw calldata. Validates the listing (active, priced), stashes the purchase proposal, and returns a link you share in YOUR OWN chat: the human reviews the item, price, and 98/2 split in plain words, taps Approve, connects their wallet, and signs the buyListing call themselves. Nothing is signed and no funds move until they tap. Requires a capability token with the purchase:propose scope (the token's human becomes the buyer). The server never signs and never holds keys. Untapped requests expire after 24h.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
listing_idYesMarketplace listing id, e.g. bacon-badge
capability_tokenNoBearer <redacted> token from your human (vs_cap_...) — NOT a private key. Must carry the purchase:propose scope. Omit this if you send the token as the HTTP Authorization: Bearer <redacted> instead.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Despite annotations only covering readOnly/idempotent/destructive, the description discloses the full behavioral contract: nothing signed until the human taps, the server never signs or holds keys, validation of listing active/priced state, token expiry after 24h. This is rich 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.

Conciseness4/5

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

Dense but front-loaded: the core action and mechanism lead, followed by the human-approval flow and then security/expiry constraints. Every sentence carries information, though it runs long and could be trimmed slightly.

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 no-output-schema, two-param tool, the description covers the return (a link), the auth requirement, the security model, and the expiry, leaving an agent with nothing essential missing.

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 adds meaning beyond the schema by clarifying that the token's human becomes the buyer and that the token can be passed via HTTP header instead of the body param. That is genuine added semantics.

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 gives a specific verb ('Ask your human to approve'), a specific resource ('marketplace purchase'), and the exact mechanism ('approval link (/p/<id>) instead of raw calldata'). An agent can immediately tell this apart from prepare_purchase-style siblings that return calldata.

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 clearly frames the when-to-use case (route the human through an approval link rather than executing raw calldata) and states the prerequisite (capability token with purchase:propose scope). It never explicitly names the alternative sibling tool, so it earns a strong 4 rather than a 5.

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.