Skip to main content
Glama

Receipts: Publish savings receipt

metrecept_publish_savings_receipt

Publish a public, shareable Ed25519-signed savings snapshot at a metrecept.co.uk link and generate a README badge so users can share savings outside their tenant.

Instructions

Publish a public, shareable savings receipt: an immutable Ed25519-signed snapshot of current savings at metrecept.co.uk/r/, plus a README badge snippet. Use it when the user wants to share savings outside the tenant. Not for checking the numbers privately: use metrecept_get_savings (call it first to review). Not for a per-run record: use metrecept_get_session_receipt. Side effect: creates a public page that lives 90 days and shows only display_name, never the tenant id or key. Not billed. Requires a Metrecept API key (METRECEPT_API_KEY env on stdio, or Authorization: Bearer on remote HTTP); results are scoped to that key's tenant only.

Input Schema

NameRequiredDescriptionDefault
display_nameNoOptional public name shown on the receipt (team or project); empty shows "an anonymous workspace".

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.3.1
    • addedInput schema / properties / display_name / description
      Added value: +"Optional public name shown on the receipt (team or project); empty shows \"an anonymous workspace\"."
  2. Addedv0.1.4

TDQS

A4.9/5.0
Behavior5/5

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

No annotations exist, so the description carries the full burden and does: it discloses the public immutable page, the 90-day lifetime, that only display_name is exposed and never tenant id or key, and that the call is not billed. It also spells out authentication (METRECEPT_API_KEY env on stdio, Bearer on remote HTTP) and tenant scoping.

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?

Front-loads what the tool produces, then usage, then exclusions, then side effects and auth. Sentences are dense but every one contributes distinct information: no repetition of the title and no filler.

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?

An output schema exists so return shape needn't be explained; what remains — side effects, retention, privacy exposure, billing, auth, and tenant scoping — is all covered for a one-parameter publish operation.

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% and the single optional parameter is fully documented in the schema, so the baseline is 3. The description adds a modest amount beyond it by stating the receipt 'shows only display_name, never the tenant id or key', which frames the display_name parameter as the sole public identity surface.

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 artifact ('publish a public, shareable savings receipt') and defines it concretely as an immutable Ed25519-signed snapshot at a URL plus a badge snippet. It explicitly distances itself from the two nearest siblings (metrecept_get_savings, metrecept_get_session_receipt), so an agent can route without reading the 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 an explicit trigger ('when the user wants to share savings outside the tenant') plus two named exclusions with the correct alternative for each, including an ordering instruction to call metrecept_get_savings first to review the numbers.

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