Skip to main content
Glama

Hand in a slip or supplier invoice

accounting_submit_document

Hand in a receipt, till slip, fuel slip or supplier invoice (PDF or photo, base64, max 10 MB). It is read immediately and filed under Slips & Documents for the business to check and post — nothing is posted to the ledger by this tool. Returns what was read. Use when the user gives you a slip or invoice file to hand in. Needs the user's GetAccountED sign-in (they are asked to sign in the first time).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "filename": "<filename>",
      "content_base64": "<content_base64>"
    },
    "name": "accounting_submit_document"
  }
}

Input Schema

NameRequiredDescriptionDefault
filenameYesFile name, e.g. "engen-slip.jpg"
mime_typeNoe.g. image/jpeg or application/pdf
business_idNoAccounting practices only: which client's books (an id from accounting_list_my_businesses). Leave out to use the books chosen at sign-in.
content_base64YesThe file, base64-encoded

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses the auth requirement (GetAccountED sign-in, prompted on first use), the 10 MB base64 limit, that the file is read immediately, where it is filed (Slips & Documents), and crucially that nothing reaches the ledger. The only unmentioned behavior is duplicate/re-upload handling, which does not undermine the disclosure.

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?

Three tight sentences, front-loaded with what is accepted and the key ledger-side-effect disclaimer, then the usage trigger, then the prerequisite. Every clause carries information an agent needs; nothing is restated from the title or schema.

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?

For a file-upload mutation with no output schema, the description covers inputs, size, auth, filing destination, and the absence of ledger posting. "Returns what was read" is thin — it does not indicate whether extracted amounts, dates, or a document id come back — which is the main remaining gap.

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

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all four parameters including business_id and mime_type are already documented in the schema. The description reinforces format and size expectations for content_base64 but adds no parameter-level meaning beyond that, making the baseline 3 appropriate.

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 concrete verb ("hand in") and enumerates the exact resources accepted — receipt, till slip, fuel slip, supplier invoice — plus accepted formats and a 10 MB ceiling. It is clearly distinguishable from siblings like accounting_create_invoice_draft or accounting_file_bank_line because it explicitly says nothing is posted to the ledger.

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?

Gives a direct trigger condition: "Use when the user gives you a slip or invoice file to hand in." That is enough context to route correctly, but it does not name an alternative tool or an explicit when-not case (e.g., a bank statement line versus a slip), so it falls short of full 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.