Skip to main content
Glama
CPUtester5465

CountBean

stage_receipt

Preserve a receipt photo or PDF as evidence and get a reference key to attach to a proposed Beancount transaction. Call this first so every entry has proof for future audits.

Instructions

Store a receipt photo or PDF as evidence and return a reference to it.

Call this FIRST, before proposing anything. A receipt is the source document for the entry it becomes, and an entry whose evidence was thrown away is a promise we cannot keep two years from now.

Give it EITHER file_path (a photo or PDF on this machine — the plugin path) OR content_base64 (raw bytes, for a chat agent that has no filesystem in common with the book). declared_name is recorded in the reply for your convenience and is used for NOTHING else — never for the file type, never for where the bytes are stored.

Returns JSON with the bucket key and the content hash. Pass both to propose_receipt_transaction. Then read the image yourself: this tool does not look at it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
file_pathNo
declared_nameNo
content_base64No

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.1.0

TDQS

A5/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 of behavioral disclosure, and it delivers substantial detail. It warns that the tool does not look at the image, so the agent must read it itself, and it clarifies that declared_name is used for nothing else. It also discloses the return payload (bucket key and content hash) and the intended downstream handoff.

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 front-loaded with the core purpose and the critical 'call first' instruction. Each sentence contributes: parameter distinctions, return value, downstream handoff, and the warning to read the image. The brief rationale about evidence adds context without bloating the definition.

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 tool with an output schema already present, the description covers all operational context: when to call it, how to choose parameters, what it returns, what to do with the result, and what the tool does not do. It is complete enough for an agent to invoke stage_receipt correctly without needing additional documentation.

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 description coverage is 0%, so the description must explain all three parameters, and it does. file_path is defined as a photo or PDF on the machine via the plugin path; content_base64 is for chat agents with no shared filesystem; declared_name is explicitly marked as recorded-only and not used for type or storage decisions. This fully compensates for the empty schema descriptions.

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 opens with a specific verb and resource: 'Store a receipt photo or PDF as evidence and return a reference to it.' This clearly distinguishes the tool from its sibling propose_receipt_transaction, which is explicitly named as the later step. An agent can immediately understand what the tool does and what it does not do.

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 gives explicit when-to-use guidance: 'Call this FIRST, before proposing anything.' It also tells the agent exactly what to do with the result: 'Pass both to propose_receipt_transaction.' The either/or parameter guidance for file_path vs content_base64 provides clear selection criteria based on the agent's environment.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CPUtester5465/countbean-plugin'

If you have feedback or need assistance with the MCP directory API, please join our Discord server