Skip to main content
Glama
tillbooks

tillbooks

Official

attention_list

Read-only

Pages one queue or area of open pendenzen using the same filters, ranking and collapse rules as attention_summary, returning items with decision options and deep links. Reads only.

Instructions

Page one queue or one area of Pendenzen: the same providers, the same capability filter and the same collapse and ranking as attention_summary, so the two faces never describe a queue differently. Returns { computedAt, items:[AttentionItem], nextCursor?, failed:[queueId] }. Filter by queueId (a single queue), area ('bank' | 'sales' | ...), or urgency ('overdue' | 'due' | 'open'); page with limit (default 20) and the opaque cursor from a prior nextCursor. A denied queue is absent, a thrown provider is named in failed[], and nothing here clears, dismisses or approves anything: every AttentionItem carries its decisionOptions[] (the owning surface's exits as existing write verbs with their fixed input and per-item idempotencyKey, see attention_summary), its suggestedInvoiceId, reasonCode/reasonKey and consequenceKey/consequence, and a deepLink descriptor into its owning surface for the hard case. Reads only. THE WHOLE LIST IN SECTIONS (D178): pass grouping ('by_area' | 'by_kind') and the answer is instead { computedAt, grouping, visibleQueues, total, incomplete, failed, approvalBatchMode, sections:[{ key, count, queues, items, nextCursor? }] } over EVERY item (never a top-n): by_area sections bank, accounting, sales, system (bank first; inside bank the Vorschläge, then the waiting bank lines, then the rest by urgency); by_kind sections approve (Vorschläge), do (work a person carries out), note (to look at). Every item carries count (the units it stands for: 1, or N for an aggregate row such as one bank account's waiting lines), area and kind; a section's count is the units of all its rows; total is the sum of the sections and equals attention_summary.total for the same caller. limit is the page size per section (default 25); a section with more rows carries nextCursor, and { grouping, section, cursor } answers that one section from there. approvalBatchMode is the workspace setting attention.approval_batch_mode (tick | single | all_with_confirm), how the Studio approves several bank Vorschläge: each approval is still one approve_drafted_action call, and only a row with batchable: true (a decision on a bank line: book_bank_line, ignore_bank_line, confirm_match; never a changed one) is ever batched. A Vorschlag that names a bank line carries that line's signed amountMinor (credit positive, debit negative), its currency and subtitleParams.date/counterparty/target/targetKind, but only for a caller who may read the bank (read_sales); a batchable one carries posts: true when approving it mints a journal entry (a booking to accounts or by a Buchungsregel, a settlement, an unpaid payment run) and posts: false when it books nothing (a line set aside, a match to an existing entry). A Vorschlag whose records changed since the proposal cannot be approved: it carries changedSinceProposal and kind do, and a stale one (voided by an approval attempt) stays listed with stale: true while its bank line is still open, its one exit the link to that line.

Input Schema

NameRequiredDescriptionDefault
areaNo
limitNo
cursorNo
queueIdNo
sectionNo
urgencyNo
groupingNo
workspaceIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.0.0-beta.2
    • addedInput schema / properties / grouping
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / section
      Added value: +{
      +  "type": "string"
      +}
  2. First observedv0.1.0

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=true, and the description adds substantial behavioral context beyond that: denied queues are absent, thrown providers appear in failed[], nothing is mutated, every item carries decisionOptions and a deepLink, grouping returns complete sections rather than a top-n, limit is per-section, stale items remain listed, and approvalBatchMode/batchable/posts rules are defined. This is far richer than the annotation alone and is consistent with 'Reads only.'

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The content is information-dense but delivered as a single sprawling block with nested parentheticals, German terms and unbroken sentences, making it hard to scan. It front-loads the purpose, but the sheer length and lack of structure mean much of the value is obscured rather than concisely presented.

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?

Given a complex tool with no output schema, minimal annotations and 8 undocumented parameters, the description supplies return shapes for both flat and grouped modes, failure semantics, pagination behavior, edge cases such as changedSinceProposal and stale items, and approval batching rules. An agent has everything needed to call it correctly, even if the presentation is dense.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, so the description carries the full burden and largely meets it. It gives semantics and example values for queueId, area, urgency, cursor, limit (defaults 20 and 25 per section), grouping (by_area/by_kind), and section with cursor pairing; only workspaceId is not described, which is a minor omission relative to the overall coverage.

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 first sentence states a specific verb ('Page') and resource ('one queue or one area of Pendenzen') and explicitly ties itself to attention_summary so an agent can distinguish the two. The only friction is that 'Pendenzen' is domain jargon left undefined, and the rest of the description is so dense that the core purpose takes effort to extract.

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?

Usage is implied through the paging, filtering and grouping instructions, and it says the two faces (attention_list and attention_summary) never describe a queue differently. However, it never explicitly says when to use this tool versus attention_summary, nor does it state exclusions or prerequisites; the routing is left to inference.

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