Skip to main content
Glama

Set receipt public view

set_receipt_visibility
Idempotent

Change a receipt's public display to full or redacted. Requires the edit_token from record_approval. Optional public_scope replaces the scope shown publicly while redacted. Stored outside the hash chain, so the content hash and verify result do not change. redacted shows the approver as initials, the agent name as Agent, no email or phone, and payment refs and proof values as on file plus the last 4 characters. Merchant name, merchant URL, amounts, cap, timeline, and statuses stay visible. BotSupply does not move money. Same as POST /v1/receipts/:id/visibility.

Input Schema

NameRequiredDescriptionDefault
edit_tokenYesSecret returned once by record_approval. Required to change the public view.
receipt_idYesReceipt id from record_approval (rcpt_…).
public_viewYesfull shows the record with emails and phones masked. redacted hides purchaser details.
public_scopeNoOptional. Replaces the scope on the public receipt while redacted. Omit to leave the stored public scope unchanged.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare idempotent, non-destructive, mutating semantics, and the description adds substantial context: the change is stored outside the hash chain so content hash and verify result are unaffected, exactly what redaction hides vs. shows, and that BotSupply does not move money. This is rich disclosure well beyond structured fields.

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-loaded with the core action and required token, then supporting details. The redaction enumeration is dense but each clause carries distinct meaning; slightly verbose but no clear waste.

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?

No output schema exists, and the description compensates by explaining what changes and what stays visible. It omits any error/authorization failure behavior for an invalid edit_token, a minor remaining gap.

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, but the description adds meaning: public_scope only applies while redacted, and redacted's display consequences are spelled out. The enum values are also contextualized beyond the schema's brief fields.

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 (change) and resource (a receipt's public display) with an explicit value set (full or redacted), so an agent can distinguish this from siblings like verify_receipt or record_approval 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 Guidelines4/5

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

Names the prerequisite for use (edit_token from record_approval) and describes the optional public_scope condition. It does not name an alternative sibling tool or state when NOT to use it, so it falls short of explicit routing guidance.

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