Skip to main content
Glama
tillbooks

tillbooks

Official

dashboard_overview

Read-only

Get financial KPIs for a workspace and date range: revenue, cash, AR/AP aging, utilisation, project margin, VAT due, stock value. Drill down from each tile to the source report.

Instructions

Die Übersicht (dashboard): one KPI tile wall for a date range, composed live from the read models the product already computes and never cached (pure read, F00 posts nothing and owns no tables). Core tiles: revenue | cash | ar_aging | ap_aging | utilisation | project_margin | mwst_due | stock_value, each an integer-Rappen (or basis-point) figure that equals its source verb's answer for the same filter: revenue from income_statement (the Nettoerlöse section, with a previous-window trendBp), cash from the A19 bank accounts' Kontoblatt closing balances (general_ledger), AR from aging_report, AP from list_vendor_bills, utilisation as the billable share of time_list minutes (B01 has no capacity model), margin from costing_pl_list, MWST due verbatim from vat_return for the settlement period containing the range end, stock value from stock_valuation_report under the books' method. Every tile embeds a drill descriptor (studioRoute, mcpTool, params) naming the EXISTING source tool behind the number: call that tool for the rows. Tiles the caller's A24 role may not see are omitted server-side into omitted[] (per-tile gates: read_books, read_sales, read_vat, read_master_data, time.read, costing.read); an unconfigured or unused module degrades its one tile to ok:false with the source's own code (needs_vat_config, needs_chart, needs_projects, needs_stock_items) while the rest still render; an empty workspace answers ok:true zero states, never an error. from > to answers invalid_range. savedViewId applies a G00 saved view (entityKind 'workspace', layout 'dashboard') to restrict and order tiles; an unresolvable view falls back to the full default with viewFallback:true and can never widen access.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toYes
fromYes
savedViewIdNo
workspaceIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Goes far beyond the readOnlyHint annotation: declares it 'never cached (pure read, F00 posts nothing and owns no tables),' details per-tile permission gating (omitted[] with per-tile gates such as read_books and time.read), and discloses degradation behavior (ok:false with codes like needs_vat_config), empty-workspace behavior, and from>to invalid_range semantics. Also discloses that savedViewId resolution 'can never widen access.' There is no contradiction with annotations — the description reinforces readOnlyHint.

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 core definition and scoping constraints, then enumerates tiles and behavioral edge cases roughly in order of importance. Every clause carries routing, gating, or error semantics; the tile-to-source enumeration is long but earns its place. The single dense paragraph is harder to scan at a glance than a structured list, which costs one point.

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 tool with no output schema and zero schema-level param descriptions, the description is remarkably complete: tile composition, units (integer-Rappen/basis points), source mapping, permission gating, degradation codes, empty state, invalid_range, and saved-view fallback are all covered in prose. Genuine gaps remain: the exact date string format for from/to and the top-level response envelope are not specified.

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 description coverage is 0%, so the description carries the burden, and it compensates well: from/to get date-range semantics plus the ordering constraint (from > to answers invalid_range), and savedViewId gets rich semantics (G00 saved view, entityKind 'workspace', layout 'dashboard', restriction/ordering, viewFallback:true on failure). workspaceId is only implicit (as the scope of A24 role gating and empty-workspace behavior), leaving a small gap.

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?

Opens by identifying the resource precisely — 'one KPI tile wall for a date range' — and names its eight constituent tiles with their exact data sources (income_statement, aging_report, vat_return, stock_valuation_report, etc.). This distinguishes it from sibling source-report tools and from per-tile tools like dashboard_tile 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes drill-down behavior to the source tools: each tile 'embeds a drill descriptor (studioRoute, mcpTool, params) naming the EXISTING source tool behind the number: call that tool for the rows.' It also specifies when saved views apply and the fallback when a view cannot be resolved. It lacks an explicit when-not-to-use statement against the closest sibling (dashboard_tile), so exclusions are absent.

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

Deploy Server

Other Tools