Skip to main content
Glama
pete-life

Billy MCP

by pete-life

billy_import_receipt

Destructive

Archive original receipts from Gmail, Drive, local files, or vendor portals with extracted invoice metadata. Deduplicates identical files, capturing provenance without uploading to Billy.

Instructions

Archive an original PDF/PNG/JPEG from the configured inbox. Provide extracted invoice metadata and provenance from Gmail, Drive, local files or vendor portal. Same bytes are deduplicated. Does not upload to Billy.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sourceYes
filePathYes
metadataYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.2.1
    • addedInput schema / properties / metadata / properties / creditedInvoiceNumber
      Added value: +{
      +  "maxLength": 160,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / metadata / properties / documentType
      Added value: +{
      +  "enum": [
      +    "invoice",
      +    "creditNote"
      +  ],
      +  "type": "string"
      +}
  2. First observedv0.1.0

TDQS

B3.3/5.0
Behavior4/5

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

Beyond the annotations, the description adds useful behavioral details: 'Same bytes are deduplicated' and 'Does not upload to Billy.' These clarify side effects and boundaries. It does not, however, explain what destructive action occurs (e.g., whether the source file is deleted or moved), which would be relevant given destructiveHint=true.

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?

The description is three sentences with no filler; the core action and boundary are front-loaded. The second sentence is slightly awkward in its phrasing ('from the configured inbox' vs. 'from Gmail, Drive, local files or vendor portal'), but overall it is compact and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description should indicate what the tool returns or what success looks like, but it does not. It also omits the required metadata fields and how deduplication affects the result. For a write/destructive tool with required nested parameters, this is a significant completeness gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 compensate for the three required nested parameters. It gives broad hints by mentioning file formats, source kinds, and extracted invoice metadata, but it does not enumerate required metadata fields or explain the meaning of source.reference and vendorId. The schema itself is fairly descriptive, but the description adds insufficient parameter-level guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: 'Archive an original PDF/PNG/JPEG from the configured inbox' and clarifies the source types (Gmail, Drive, local files, vendor portal). The phrase 'Does not upload to Billy' helps distinguish this from other Billy-related write tools, although it does not name a specific sibling alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description implies when to use this tool: when a receipt/invoice needs archiving with extracted metadata and provenance. However, it does not explicitly explain when not to use it or name alternatives like billy_prepare or billy_execute, leaving the routing decision somewhat to inference.

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