Skip to main content
Glama

genereer_fractienotitie

Read-onlyIdempotent

Stelt de fractienotitie samen (Erik's hero-feature, WS23-core): een agenda-overzicht voor de komende ~2 weken op de portefeuille van de gebruiker, met bolletjes (🟢 positief / 🟠 spannend / 🟡 aandacht / ⚪ procedureel) en per agendapunt een detailblok waarvan de diepgang USER-RELATIEF is (diepgaand als het onderwerp in de portefeuille valt; beknopt binnen de commissie; bronnen als de gebruiker het debat zelf aanvroeg; vlucht daarbuiten; procedurele punten worden overgeslagen). De host-LLM levert uitsluitend meeting_ids uit lijst_vergaderingen; de tool haalt de gestructureerde vergadering en agenda zelf op. Zo hoeft de host geen markdown terug naar een ongedocumenteerd object te vertalen. Een onbekend ID, een vergadering zonder agenda of een vergadering buiten de horizon geeft een expliciete validatiefout, nooit een plausibel lege notitie. Automatische e-mailbezorging + de vrijdag/maandag-cron zijn aparte infrastructuur.

Positie in de keten: roep eerst mijn_fractie_context aan en neem daaruit de gebruikersnaam en fractienaam over. Vul covered_topics en followed_committees met bevestigde waarden of lege lijsten; verzin ze niet. Gebruik daarna lijst_vergaderingen(na_datum=<vandaag>, voor_datum=<horizon>, sortering='oudste_eerst') en geef de gekozen vergadering_id-waarden door als meeting_ids.

Gebruik wanneer: de gebruiker een fractienotitie/voorbereiding voor de komende vergaderingen wil.

Retourneert: markdown — bolletjes-legenda + agenda-overzicht + per-vergadering detailblok op maat.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
vandaagNo
gebruikerYes
meeting_idsYes
horizon_dagenNo

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description discloses that the tool fetches structured meeting data itself, that it returns explicit validation errors for unknown IDs or missing agendas (never a plausible empty note), and that email delivery and cron are separate infrastructure. This adds significant behavioral context not present in structured fields.

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 detailed but every sentence delivers value: purpose, behavior, integration chain, validation, and return value. The structure is logical and front-loaded with the main outcome. It is longer than typical but appropriate for a complex hero-feature; the 'Positie in de keten' section is procedural and earns its place.

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 the complexity (4 parameters, integration with two other tools, no output schema), the description covers all necessary context: what it returns (markdown with legend + overview + detail blocks), how it behaves on errors, and exactly which inputs to derive from prior tools. The absence of an output schema is mitigated by the explicit return description.

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?

With 0% schema description coverage, the description compensates well: it explains that meeting_ids come from lijst_vergaderingen, instructs to fill covered_topics and followed_committees with confirmed values or empty lists, and implies horizon via '~2 weken' and 'horizon_dagen'. However, the exact semantics of 'vandaag' (default null) and 'horizon_dagen' (default 14) are not fully specified, only implied, so a small gap remains.

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?

The description opens with 'Stelt de fractienotitie samen', clearly stating the verb (compose) and resource (fractienotitie). It further specifies the output as an agenda-overview with color-coded bullets and per-agenda detail blocks, making it distinct from sibling tools like genereer_raadsstuk or adviseer_raadsinstrument.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

Explicitly states 'Gebruik wanneer: de gebruiker een fractienotitie/voorbereiding voor de komende vergaderingen wil' and provides a full integration chain: first call mijn_fractie_context, then lijst_vergaderingen, then pass meeting_ids. It also clarifies that the host only supplies meeting_ids, not markdown, which serves as a boundary for when to invoke this tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation4/5

Each tool has a distinct primary function: advising on instruments, reviewing text, formatting citations, generating a memo, generating a council document, retrieving context, and gathering background data. However, adviseer_raadsinstrument and verzamel_context's instrument_doel option overlap in providing instrument advice, which could lead to misselection.

Naming Consistency4/5

Names follow a consistent verb_noun pattern in Dutch (adviseer_, beoordeel_, formatteer_, genereer_, verzamel_), with one deviation: get_neodemos_context uses the English verb 'get' instead of the Dutch imperative, breaking the pattern slightly.

Tool Count5/5

Seven tools is well within the ideal 3-15 range and each tool serves a clear purpose in the council-member workflow, from advising and generating documents to reviewing and gathering context. No tool feels redundant or out of place.

Completeness2/5

The set covers drafting and reviewing but references essential missing tools (zoek_raadshistorie, zoek_moties, lijst_vergaderingen, mijn_fractie_context, sla_fractie_artifact_op). This creates dead ends, such as genereer_fractienotitie requiring meeting_ids from a tool that is not available, and no way to search existing documents or save generated artifacts.

Resources