Skip to main content
Glama
tillbooks

tillbooks

Official

reports_save

Save a report definition after validating source, filters, columns, and format. Guarantees the source exists, filters use published fields with valid operators, and columns are a non-empty subset of published columns.

Instructions

Bericht speichern (F01): save a report definition over a REPORT_SOURCES read model (source + filters + columns + format csv|pdf). Validates the source (unknown_source), that every filter names a published field with a type-valid operator (invalid_filter_field), and that columns is a non-empty subset of the published columns, base OR cf: custom fields (columns_empty). Posts nothing (P3); renders no artifact (that is reports_run). Idempotent on idempotencyKey. Gated on A24 reports.write.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
formatNo
sourceYes
columnsYes
filtersNo
workspaceIdYes
idempotencyKeyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool is idempotent on idempotencyKey, which is a critical behavioral trait for retries, and mentions it is gated on A24 reports.write permission, which is important for authorization. It also explicitly states 'Posts nothing (P3)' and 'renders no artifact', which clarifies side effects. These go beyond what a typical schema provides, earning a 4; it could be a 5 if it also disclosed return behavior or error handling beyond the listed validation errors, but those are partially covered by the error names.

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 description is a single, dense paragraph, but the information is packed efficiently without fluff. It front-loads the primary purpose ('Bericht speichern (F01): save a report definition') then systematically covers validation, side effects, idempotency, and permissions. The sentence about 'Posts nothing (P3)' is slightly cryptic but not wasteful. It could be improved by breaking into bullet points, but given its concise nature, a 4 is appropriate.

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?

Given the tool's moderate complexity (7 parameters, validation logic, idempotency), the description covers the core purpose, validation rules, side effects, and permissions, which is quite complete. However, it lacks details on the format parameter's allowed values (only mentions 'csv|pdf' in passing), how to construct filters and columns (no examples), and what the response contains (no output schema). The absence of parameter descriptions in the schema makes this incomplete for an agent to call it without further information, so a 3 is fitting.

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?

Schema description coverage is 0%, meaning the schema provides no descriptions for the 7 parameters. The description does add meaning: it explains that source must be over a REPORT_SOURCES read model, filters must reference published fields with type-valid operators, and columns must be a non-empty subset of published columns (base or custom fields). However, it does not explain important parameters like name, format (except 'csv|pdf' inline), workspaceId, and idempotencyKey semantics. With 0% coverage, the description should compensate more thoroughly; it partially does but leaves gaps for required parameters like idempotencyKey and workspaceId, so a 2 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: save a report definition, and specifies the resource (REPORT_SOURCES read model) and key components (source, filters, columns, format). It distinguishes from reports_run by explicitly stating it does not render an artifact. However, it does not explicitly contrast with other report-related siblings (e.g., reports_update, reports_duplicate, reports_preview), which could cause confusion for an agent selecting among them, though the 'save' action is distinct enough for basic differentiation.

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?

The description provides clear context: it is for saving a report definition over a specific read model, and explicitly notes that rendering is done by reports_run, which helps route to the right sibling. However, it does not state when to use this tool versus reports_update or reports_create (if exists) for modifying existing reports, nor does it provide exclusions for other sibling tools in the reports family. The context is good but lacks explicit alternatives beyond reports_run.

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