MCP server for finvariant: deterministic financial-statement integrity checks for AI agents.
Two well-defined tools with complete schemas, clear descriptions, and proper type annotations. Both tools are read-only, idempotent, and correctly annotated. Naming follows verb_noun convention (check_statements, describe_schema). Descriptions are substantive (150 - 200 chars) and explain WHAT, WHEN, and WHY. Input schemas are fully typed with descriptions for all parameters. Error handling in check_statements returns actionable hints. Main gaps: no output schema documentation in docstrings, no pagination (not applicable here), and parameter descriptions could be more prescriptive about format/constraints.
Verify a set of financial statements against the accounting invariants. Each statement maps a period label to a mapping of canonical field names to values; call describe_schema for the field names and the sign convention. Returns a verdict, the failing checks with expected vs actual, counts and a plain-language summary. Provide only the fields you have: a check whose inputs are missing is skipped, not failed.
The canonical field names by statement, the sign convention, and the invariants finvariant checks. Call this before check_statements to format the input correctly.
Output schema not documented in tool descriptions. LLMs cannot plan downstream calls without knowing the structure of returned audit reports, field lists, and check results.
Parameter descriptions lack format constraints. 'abs_tol' and 'rel_tol' have no stated range (e.g., must be >= 0, typical range 0.0001 - 1.0). LLMs may pass invalid values.
No guidance on when to call describe_schema vs check_statements. The docstring hints at a dependency ('call describe_schema first') but does not state it explicitly as a prerequisite.
Error handling in check_statements returns a generic hint ('call describe_schema') but does not categorize the error as retryable, user-fixable, or fatal. LLMs cannot determine next action.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |