Skip to main content
Glama

Taokeh MCP server

Pending draft: tick bank entries as cleared (human approves in Taokeh)

create_bank_clearing_draft

FILES A PENDING DRAFT ONLY — NOTHING CHANGES UNTIL A HUMAN REVIEWS AND APPROVES IT IN TAOKEH. Propose the ticks for Banking → Clear transactions: which book entries have appeared on the bank statement, each paired with its statement line or given the date it cleared. An admin or bookkeeper reviews the list and approves; only that tap ticks them, exactly as the page's Save ticks does (a tick posts nothing to the books and the owner can un-tick it). Read bank_reconciliation_report first and take every id from it: bankAccountId, statementId (the statement you are reconciling to — or asOf, a date, when there is none), and per item entryId (from clearStep.uncleared) plus EITHER statementLineId (from clearStep.candidateLines — the entry then clears on the later of the line's date and its own) OR clearedDate (YYYY-MM-DD; omitted, it defaults to the reconciliation date, like the page). At most 300 items per draft. A cancelling pair from hints.cancellingPairs is filed as two items with no line and the pair's clearDate. REFUSED BY NAME when you file (Taokeh runs the real tick and rolls it back) and again at approval: an entry that is not uncleared on this account up to the date (posted from a statement line, the opening balance, already ticked, dated later), a line that is posted, fully paired or dated after the reconciliation date, a line without room left for the entry, a line moving money the other way, a cleared date before the entry was booked or after the reconciliation date, a date inside a locked period, a card, a foreign-currency account (Taokeh posts and reconciles only ringgit accounts for now; the refusal names the account), an entry already in another pending draft. If anything it was filed against changes before approval (a tick made, a line posted or paired, an entry edited), approval refuses and nothing is ticked — read the report again and file afresh. note: one short line for the owner saying why.

Input Schema

NameRequiredDescriptionDefault
asOfNoReconcile to a date by hand (no statement). Give this OR statementId.
noteNoA SHORT note for the owner: why these are cleared.
itemsYesThe ticks. An unknown key in an item is refused by name.
notesNoNOT a filter on this tool. Pass the owner note as `note`.
ticksNoNOT a filter on this tool. Pass the ticks as `items`: [{entryId, statementLineId?, clearedDate?}].
bankIdNoNOT a filter on this tool. Pass the bank account as `bankAccountId`.
entriesNoNOT a filter on this tool. Pass the ticks as `items`: [{entryId, statementLineId?, clearedDate?}].
needsReviewNoSet true when something gave you pause.
statementIdNoThe statement you reconcile to, from bank_reconciliation_report `statement.id`. Give this OR asOf.
bankAccountIdYesREQUIRED — the bank account, from bank_reconciliation_report.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • removedInput schema / properties / items / items / properties / statementLineId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / items / items / properties / statementLineId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  2. Added

TDQS

A4.5/5.0
Behavior5/5

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

Far exceeds the annotations: it explains that a tick posts nothing to the books, that the owner can un-tick it, that a 300-item cap applies, and enumerates the exact refusal cases (already ticked, locked period, foreign-currency account, entry already in another draft). It also discloses the invalidation rule — if anything filed against changes before approval, approval refuses and the agent must re-read the report and re-file.

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 critical constraint is front-loaded in caps, and each subsequent sentence carries operational information (id sources, per-item pairing rules, refusals, re-file flow). It is dense — long clause-heavy sentences in a single block — but very little is filler.

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 10-parameter mutating-draft tool with no output schema, the description covers what is filed, what blocks it, and what happens on approval. The main gap is that it never says what the tool returns (draft id? handle for revise_draft?) or how the agent later references the filed draft.

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%, so baseline is 3, but the description adds real meaning: it explains that statementLineId causes the entry to clear on the later of the line's date and its own, that clearedDate defaults to the reconciliation date, and that a cancelling pair is filed as two items with no line. The 'NOT a filter' decoy params (notes, ticks, bankId, entries) are handled by the schema descriptions rather than the prose.

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 — file a pending draft proposing 'ticks' for Banking → Clear transactions — and immediately scopes what it is not ('NOTHING CHANGES UNTIL A HUMAN REVIEWS AND APPROVES'). An agent can distinguish it from create_payment_match_draft / draft_bank_classification because the description names the exact workflow step (pairing book entries to statement lines) and the prerequisite report.

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 an explicit prerequisite: 'Read bank_reconciliation_report first and take every id from it', and clarifies the human-approval gate before anything applies. It does not name a sibling tool to use instead for adjacent tasks (e.g. classification vs. clearing), so the when-not guidance is implicit rather than complete.

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