Skip to main content
Glama

Kunden suchen

kunden_suchen
Read-onlyIdempotent

Findet Kunden des Betriebs nach Name, Firma oder Ort und nennt ihre Kennung. Diese Kennung verlangen rechnung_anlegen, angebot_anlegen und auftrag_anlegen.

ZUERST SUCHEN, DANN ANLEGEN. Wer stattdessen kunde_anlegen benutzt, weil er den vorhandenen Eintrag nicht findet, erzeugt eine Dublette — zwei Karteien zum selben Kunden, mit getrennter Rechnungshistorie.

Gibt bewusst KEINE Kontaktdaten heraus: Kennung, Name, Ort und ob eine E-Mail-Adresse hinterlegt ist. Zum Versenden braucht es die Adresse nicht — den Empfänger löst der Server selbst aus dem Kundenstamm auf.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sucheNoTeil des Namens, der Firma oder des Ortes. Ohne Angabe die zuletzt angelegten.
anzahlNoHöchstens so viele (Vorgabe 25, Grenze 100).

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is fully covered. The description adds valuable behavioral context: it intentionally withholds contact details and explains that the server resolves the recipient from the customer master, so the agent doesn't need the address to send. It also implies the tool returns fields like ID, name, location, and whether an email is stored. No contradiction with annotations.

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 compact and front-loads the core purpose. The capitalized warning is somewhat loud but earns its place because it prevents duplicate creation. The last sentence about contact data is relevant but could be considered slightly redundant; overall it's efficient and well-structured.

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 read-only search tool with a simple schema and no output schema, the description is largely complete: it states what it returns, what it deliberately omits, and how the outputs are used downstream. A minor gap is not enumerating the exact output fields or ordering behavior, but the tool's simplicity and annotation coverage make this acceptable.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both 'suche' and 'anzahl' clearly. The description adds a usage nuance: omitting 'suche' returns the most recently created customers, which slightly extends the schema's wording. Beyond that, it doesn't need to add more parameter detail because the schema covers it.

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 states a specific verb+resource: it finds customers of the business by name, company, or location and returns their identifier. It clearly distinguishes its purpose from sibling tools like kunde_anlegen by explaining the ID is required by rechnung_anlegen, angebot_anlegen, and auftrag_anlegen. No tautology or ambiguity.

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?

The description gives explicit guidance: search first, then create. It warns against using kunde_anlegen when the existing entry is not found, and explains the consequence (duplicate records with separate invoice history). It also states when not to expect contact data and why, which helps agents decide if this tool is sufficient.

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.1/5.0
Disambiguation5/5

Each tool name clearly identifies a distinct resource (Angebot, Auftrag, Rechnung, Material, etc.) and action. Even potentially similar pairs like material_buchen and material_zuweisen are explicitly differentiated in their descriptions, so an agent can reliably select the correct tool.

Naming Consistency5/5

All tool names follow a consistent resource_action pattern in lowercase with underscores (e.g., kunde_anlegen, material_suchen). A few status/query tools like betrieb_ueberblick and datei_stand use noun compounds, but these are consistently used for state queries and do not break the overall convention.

Tool Count3/5

With 23 tools, the server falls into the 'heavy' range of 16-25. While the breadth of a handwerker management system justifies many operations, the count is high and some areas (like customer management) are underrepresented, making the set feel larger than necessary.

Completeness3/5

The core order-to-invoice workflow is well covered, but there are notable gaps: no customer search or update, no conversion from Angebot to Rechnung, and no ability to change order status. These are significant omissions that agents must work around, even though the descriptions clearly state these limitations.

Resources