Skip to main content
Glama

Taokeh MCP server

General ledger

general_ledger
Read-only

The general ledger for a date range — every account, or ONE account with accountCode — the same figures as Reports → General Ledger and its CSV. Per account: opening (its balance before from, from the first entry — there is no year-end close), the posted rows in date order (each: date, reference, memo, debit, credit, the running balance after it, and journalEntryId), totalDebit / totalCredit for the range, movement and closing. Balances are signed by the account's statement section (positive = a debit balance for assets and expenses, a credit balance for liabilities, equity and revenue), so closing equals that account's balance in trial_balance as of to. An account with no line in the range and a zero opening is left out and counted in accountsOmitted. ROWS ARE CAPPED: at most 300 rows come back across all accounts, in account-code then date order. When more is true the rows were cut short — but every account's opening, totals and closing are STILL EXACT, and hiddenRows on an account says how many of its lines are not shown. Never add up the rows you got as if they were the whole range; narrow the dates or ask for one accountCode to see the rest.

Input Schema

NameRequiredDescriptionDefault
toYes
fromYes
accountCodeNoOne account code (exact, e.g. "1010"). Omit for every account.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Goes far beyond the readOnly/openWorld annotations: discloses the 300-row cap, the `more` flag, per-account `hiddenRows`, `accountsOmitted` for empty accounts, the fact that totals stay exact under truncation, sign conventions by statement section, and that there is no year-end close. This is exactly the kind of non-obvious behavior an agent cannot get from the schema.

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?

Dense but front-loaded: the what, the per-account shape, then the row-cap caveat and the corrective action. Nearly every sentence carries real information; the return-shape enumeration is long, though it is offset by there being no output schema.

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?

With no output schema, the description fully specifies the return shape (opening, rows, totalDebit/totalCredit, movement, closing) and the truncation contract, so an agent can both call and correctly interpret the result. Nothing material is missing for correct use.

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 only 33% (only accountCode is documented), so the description carries the burden: it explains that omitting accountCode returns every account, that one accountCode narrows results, and it gives meaning to `from`/`to` via the explanation of `opening` (balance before `from`) and totals for the range. It stops short of stating the date format or inclusive/exclusive boundary behavior.

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 resource (general ledger) with a precise scope (a date range, all accounts or one via accountCode) and anchors it to a known surface (Reports → General Ledger and its CSV). It also distinguishes itself from trial_balance by stating closing equals that account's trial_balance balance as of `to`.

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 actionable routing advice — narrow the dates or pass one accountCode to see truncated rows — and implied context for when to use it (per-account detail with running balances). It does not explicitly contrast with siblings like trial_balance or balance_sheet for choosing between them, which keeps it below 5.

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