Skip to main content
Glama

Import bank lines

import_bank_lines

Create bank lines on one of the business's bank accounts from a list of statement lines (date, description, reference, signed amount). Lines go through the statement importer: a line already on the account, from a feed, a statement upload or an earlier call, is skipped, so it is safe to send the same lines again. Set autocategorise false to leave the new lines uncategorised for the owner. Refused lines come back in skippedrows with a reason.

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": {
      "bankaccountid": "<bankaccountid>",
      "items": "<items>"
    },
    "name": "import_bank_lines"
  }
}

Input Schema

NameRequiredDescriptionDefault
itemsYesThe statement lines, at most 1000. Parse a CSV yourself and send its rows here.
bankaccountidYesID of the bank account the lines belong to (from list_bank_accounts)
autocategoriseNoDefault true. False leaves every line uncategorised, and no categoriser or matcher fills it later.

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 (readOnlyHint=false, destructiveHint=false) by disclosing the idempotent de-duplication rule, that lines pass through the statement importer, the lasting effect of autocategorise=false, and that refused lines are returned in skippedrows with a reason. That is exactly the mutation semantics an agent needs.

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: purpose first, then the safety/idempotency property, then the autocategorise switch, then the failure surface. No filler and no repetition of the title.

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?

With no output schema, the description usefully names the skippedrows failure channel, and it covers dedup and categorisation behaviour. It still leaves the success response shape and any preconditions on the target account (e.g. account type or locked periods) unstated, so it is strong but not fully complete.

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 description coverage is 100%, so the schema already documents date, amount sign convention, reference, the 1000-item cap and autocategorise. The description restates the autocategorise consequence and the field list rather than adding new syntax or format detail, so the baseline of 3 applies.

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 resource ('Create bank lines on one of the business's bank accounts') plus the exact input shape (date, description, reference, signed amount), which cleanly separates it from import_accounts, import_trial_balance and create_bank_account in the sibling list.

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?

Explains the operating context well: lines come from a statement, duplicates from feeds/uploads/earlier calls are skipped so re-sending is safe, and autocategorise=false is for leaving work to the owner. It never names an alternative tool or an explicit 'do not use this for X' case, so it stops 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.

Resources