Skip to main content
Glama
contabridge-mcp

contabridge-mcp

by ArceeDev

validate_journal

Read-onlyIdempotent

Validates bookkeeping journals before import, flagging unbalanced entries, lines with both or neither debit/credit, invalid PGC accounts, mixed subaccount lengths, and dates outside the fiscal year.

Instructions

Check a journal file the way A3/ContaPlus check it on import, before you send it.

Reports unbalanced entries (with the difference), lines with both or neither debit and credit, non-numeric accounts or accounts outside PGC groups 1-9, mixed subaccount lengths and dates outside fiscal_year. valid is false when any error is found. include_entries returns the first 50 entries parsed.

Input Schema

NameRequiredDescriptionDefault
contentNo
column_mapNo
fiscal_yearNo
csv_delimiterNo
source_formatNoauto
content_base64No
include_entriesNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly=true, idempotent=true, closed-world), yet the description still adds real substance: the exact categories of findings reported (imbalances with the difference, debit/credit anomalies, non-numeric or out-of-PGC accounts, subaccount length inconsistencies, dates outside fiscal_year), the `valid` flag semantics, and the 50-entry cap on include_entries. It does not state whether validation stops at the first error class or reports all of them, which keeps it off a 5.

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?

Front-loaded with the purpose, then a compact enumeration of findings, then two short sentences on output behavior. Every sentence carries information; the only mild density cost is that the error list is run together in prose rather than separated, slightly slowing parsing.

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

Completeness3/5

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

The output schema means return values need not be re-explained, and the reported error classes are well covered. However, for a 7-parameter tool with no schema text, the description leaves the input side underspecified — content vs content_base64, source_format values, and column_map structure are all unexplained, which is enough to cause a malformed call.

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?

Seven parameters with 0% schema description coverage, and the description only gives meaning to two of them: fiscal_year (dates outside it are flagged) and include_entries (returns the first 50 entries). The core inputs content, content_base64, column_map, csv_delimiter and source_format ('auto' default) are undocumented in both the schema and the description, leaving an agent to guess at payload format and delimiter/column-mapping 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 verb and resource ('Check a journal file') plus the exact validation domain (A3/ContaPlus import rules) and the point in workflow where it applies ('before you send it'). Against siblings like convert_journal, build_journal and detect_format, an agent can tell this is the pre-flight validator without opening any schema.

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?

'before you send it' implies the right moment to call it, and the enumerated error classes imply what it is for. But it never names alternatives such as convert_journal or detect_format, and says nothing about when not to use it (e.g. after a file is already known-good, or when a conversion is needed first).

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