Skip to main content
Glama
joosthel

sevdesk-mcp

by joosthel

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.4.0

  • Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlaps. List vs get, create vs modify, and specialized audit/report tools are all uniquely identifiable.

    Naming Consistency4/5

    Most tools follow 'sevdesk_verb_noun' pattern, but 'sevdesk_receipt_guidance' is noun-noun and 'sevdesk_ping' is verb-only, breaking full consistency.

    Tool Count5/5

    23 tools cover the core accounting entities (contacts, vouchers, invoices, transactions) plus specialized checks and raw API access, well-scoped for the domain.

    Completeness4/5

    Core CRUD is covered for vouchers and invoices; contacts and transactions are read-only, but the 'sevdesk_call' tool provides fallback to any API operation, filling most gaps.

  • Average 4.1/5 across 23 of 23 tools scored. Lowest: 3.2/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 21 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    No annotations are provided, so the description must fully disclose behavior. It only states 'Read-only' and lists returned fields. It omits important behavioral details like pagination behavior (despite having a limit parameter), ordering, default filters, or authentication requirements.

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

    Conciseness5/5

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

    The description is extremely concise, consisting of one well-structured sentence. It is front-loaded with the core purpose and does not contain filler or redundant information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the absence of an output schema and annotations, the description should be more comprehensive. It lacks information on default limit, pagination hints, ordering, and whether both incoming and outgoing vouchers are always listed. Such gaps reduce completeness.

    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 baseline is 3. The description adds context about the returned fields but does not enhance understanding of the parameters beyond what the schema already provides. No parameter details are added, so the score remains at baseline.

    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 clearly states the action (list), the resource (vouchers), and the key fields returned (date, supplier, gross/net/tax, status, VAT treatment). It also identifies the tool as read-only, distinguishing it from mutation tools like sevdesk_create_voucher.

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

    Usage Guidelines2/5

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

    The description does not provide guidance on when to use this tool versus siblings such as sevdesk_list_invoices or sevdesk_get_voucher. No explicit when-to-use, when-not-to-use, or alternative suggestions are given.

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

  • Behavior3/5

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

    The description states 'read-only', disclosing that the tool does not modify data. However, with no annotations provided, it does not disclose other behavioral traits such as rate limits, data load, or whether it aggregates across all users. The disclosure is minimal but accurate.

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

    Conciseness5/5

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

    The description is two sentences, front-loading the core detection logic and adding 'read-only' at the end. Every word is necessary and there is no fluff or repetition.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool has 4 optional parameters and no output schema, yet the description does not specify default behavior (e.g., default date range) or the return format (e.g., list of voucher IDs or details). This leaves significant ambiguity for an AI agent.

    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 baseline is 3. The description does not add extra meaning beyond the schema: it mentions detection criteria but does not elaborate on parameters like 'from' or 'dayWindow' beyond what the schema already provides.

    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 clearly specifies the tool detects vouchers booked twice by same document number or same supplier+amount within a few days, and vouchers stuck in draft/open status. It uses specific verbs 'detect' and states 'read-only', distinguishing it from listing or creation tools.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus siblings like sevdesk_list_vouchers or sevdesk_get_voucher. The description does not mention prerequisites, alternatives, or when not to use it.

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

  • Behavior2/5

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

    The description mentions 'Read-only,' which is a behavioral trait, but no annotations are provided to supplement this. It does not disclose pagination behavior, default limit, sorting, or error handling, which are important for a list operation with no output schema.

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

    Conciseness5/5

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

    The description is extremely concise—two short sentences that convey the essential purpose and a behavioral trait. No unnecessary words, making it easy to process quickly.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the absence of an output schema and annotations, the description should provide more context about return values, pagination, or filtering behavior. It only states listing of customers and suppliers, leaving the agent uncertain about what data is returned and how the 'limit' and 'search' parameters affect results.

    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% (both 'limit' and 'search' have descriptions). The tool description does not add meaning beyond what the schema provides, so a baseline score of 3 is appropriate.

    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 clearly states the specific verb 'list' and the resource 'contacts' (customers and suppliers). It distinguishes this tool from sibling tools like sevdesk_list_vouchers and sevdesk_list_invoices, which handle different resources.

    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?

    The description implicitly indicates the tool is for listing contacts, but it provides no explicit guidance on when to use it versus alternatives, nor any prerequisites or exclusions. The context of sibling tools shows many list operations, but no differentiation is offered.

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

  • Behavior3/5

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

    With no annotations, the description correctly identifies the tool as 'Read-only,' indicating idempotency and safety. However, it does not disclose pagination behavior, rate limits, or response structure beyond the listed fields.

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

    Conciseness5/5

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

    Single sentence plus 'Read-only' – extremely concise with no redundancy. Every word serves a purpose.

    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 low-complexity list tool, the description covers purpose, returned data, and safety. Missing details about optional parameters and default limit are in schema; no output schema is needed. Adequate for its simplicity.

    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?

    Input schema has 100% description coverage (to, from, limit). The description adds value by listing returned fields (number, customer, sums, status, dates), helping users understand parameter context and output expectations.

    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 'List invoices you issued' with specific fields (number, customer, sums, status, dates). It matches the title 'outgoing invoices' and distinguishes from invoice creation and PDF retrieval siblings, though not explicitly from other list tools.

    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?

    The description implies read-only usage via 'Read-only' but does not explicitly state when to use this tool versus alternatives like sevdesk_create_invoice or sevdesk_get_invoice_pdf. No exclusions or context for other list operations.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Read-only,' which clarifies no write operations occur, but it does not address permissions, performance impact, or whether the tool queries live data or cached snapshots.

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

    Conciseness5/5

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

    Two sentences pack purpose, an example usage scenario, and a behavioral note. Every word contributes, and the key action is front-loaded.

    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 moderate complexity (4 parameters, no output schema), the description lacks details about the report format (e.g., list of suppliers, month names, voucher counts). An agent might need to invoke the tool to understand return structure.

    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?

    The input schema covers all four parameters with descriptions (100% coverage), so the description adds no new semantic value beyond what the schema provides. The baseline of 3 is appropriate.

    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 clearly states the tool detects suppliers with monthly billing cadence and reports months with missing vouchers. It uses specific verbs (detect, report) and a distinct resource (subscription gaps), setting it apart from sibling tools like sevdesk_list_vouchers or sevdesk_find_duplicates.

    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?

    The description implies usage for identifying missing receipts in recurring subscriptions (e.g., March, April, June gaps). However, it does not explicitly state when not to use this tool or point to alternatives among the 23 sibling tools, leaving the agent to infer context.

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

  • Behavior4/5

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

    The description explicitly states 'Read-only', indicating no side effects. It also adds context about the return format (decoded VAT/tax rates). However, it does not mention error handling or what happens if the voucher does not exist.

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

    Conciseness5/5

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

    The description is two sentences long with no wasted words. The main action is front-loaded, and every sentence provides essential information.

    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?

    The description adequately covers the tool's behavior for a simple read operation. It explains what is fetched and the additional decoded information. Without an output schema, the description provides sufficient context for an AI agent to understand the return value.

    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?

    The input schema already has 100% coverage for the single parameter 'voucherId', describing it as 'Numeric voucher id.'. The description does not add further parameter details but is sufficient given the schema completeness.

    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 clearly states the action ('Fetch a single voucher'), resource ('voucher'), and scope ('including its line items, with the VAT treatment and per-position tax rates decoded'). It distinguishes from sibling tools like 'sevdesk_list_vouchers' which focuses on listing.

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

    Usage Guidelines2/5

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

    The description does not provide any guidance on when to use this tool versus alternatives. It does not mention when to use this over 'sevdesk_list_vouchers' or other tools, nor does it specify any prerequisites or conditions.

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

  • Behavior3/5

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

    The description discloses 'Read-only', indicating no mutations. With no annotations, this is the only behavioral trait mentioned. It lacks details on pagination, rate limits, or error handling, but the schema covers the limit parameter hinting at result sizing.

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

    Conciseness5/5

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

    The description is extremely concise: one sentence plus 'Read-only.' It is front-loaded and contains no unnecessary words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    No output schema is provided, and the description does not explain what the tool returns (e.g., list of transaction objects). Given the tool has 4 parameters and is a data retrieval operation, the description lacks completeness about the result format.

    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 coverage is 100% with all parameters described. The description adds value by linking 'optionally for one account and period' to the checkAccountId and date parameters, providing context beyond the schema.

    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 clearly states the tool lists bank transactions, optionally filtered by account and period. It is a specific verb+resource combination that is distinct from sibling tools like sevdesk_reconcile_transactions.

    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?

    The description implies when to use (listing transactions with optional filters) and includes 'Read-only' hinting at safe usage. However, it does not explicitly state when not to use or mention alternatives, leaving the agent to infer from sibling names.

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

  • Behavior4/5

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

    Declares 'Read-only' behavior, which is critical. No annotations, so description carries full burden. Discloses that it lists mismatched vouchers, adding transparency about edge cases.

    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?

    Single paragraph with clear structure: main action, breakdown by meaning, and note on mismatched vouchers. Front-loaded with purpose, no wasted words.

    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 complexity of reverse-charge reporting, description defines categories and mentions mismatched vouchers. No output schema, so return value description is vague but sufficient for high-level understanding.

    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 coverage is 100%, so baseline is 3. Description does not elaborate on parameters like 'from', 'to', 'rate', or 'maxVouchers' beyond schema's own descriptions.

    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?

    Description uses specific verb 'Total' and identifies resource 'reverse-charge (§13b) tax base.' Clearly states the split by meaning and distinguishes from sibling tools like sevdesk_audit_vat by focusing on reverse-charge reporting.

    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?

    No explicit when-to-use or when-not-to-use guidance. It describes output categories and mentions mismatched vouchers, implying use for reverse-charge reporting but lacks comparison with alternatives.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden. It explicitly states 'Read-only,' which is good. It lists the types of checks performed, but doesn't mention permissions, rate limits, or behavior for empty periods.

    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 concise, front-loaded with the main action 'Sweep vouchers,' and packs multiple details without being verbose. Could be slightly more structured with bullet points, but effective.

    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?

    Given 4 parameters with full schema coverage and no output schema, the description provides sufficient context about the tool's purpose and checks. It doesn't describe return format, but that's acceptable without an output schema.

    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 coverage is 100% with parameter descriptions. The tool description adds no extra meaning beyond the schema (e.g., 'to' and 'from' are clear from schema). Baseline 3 is appropriate.

    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 clearly states 'Sweep vouchers and flag VAT problems' with specific problem types (foreign suppliers, revenue rules, etc.). It distinguishes itself from siblings like sevdesk_reverse_charge_report by focusing on auditing VAT treatment.

    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: 'the check that tells you whether your §13b amounts will be reported correctly.' It implies usage before VAT return but doesn't explicitly state when not to use or name alternatives.

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

  • Behavior5/5

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

    With no annotations, the description fully bears the burden. It discloses key behaviors: parameter encoding (bracket syntax), mutation refusal under SEVDESK_READ_ONLY=true, and description-only mode under SEVDESK_DRY_RUN=true or dryRun parameter. The warning '⚠️ This tool can change data' further emphasizes mutability. All relevant behavioral traits are transparently documented.

    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 paragraph of about 100 words, front-loading the core purpose. Each sentence contributes unique information (purpose, parameter mapping, encoding, mutation conditions). Slightly verbose in the middle, but overall efficient and well-structured. Loses a point for minor redundancy (e.g., 'are only described (not sent)' could be tighter).

    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 complexity (generic API caller, 4 parameters, no output schema), the description covers essential usage and behavior. However, it lacks any description of the return value or response structure, which is significant since there is no output schema. The term 'catalogue' is referenced but not explained (though understood via sibling tool sevdesk_list_operations). The description handles the basics but leaves the agent needing to infer response format.

    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?

    Schemas have 100% coverage, so baseline is 3. The description adds meaningful operational details beyond the schema: it clarifies that path parameters are taken by name from `params` and the remainder become query parameters, and it describes the bracket syntax for nested objects. The `dryRun` parameter behavior is also elaborated. These additions justify a score above baseline.

    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 'Execute any operation from the catalogue', clearly stating the tool's purpose: a generic API caller. This distinguishes it from sibling tools, which are specific operations (e.g., sevdesk_list_contacts, sevdesk_create_invoice). The verb 'execute' and resource 'any operation' are precise.

    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?

    The description explains how parameters are mapped (path from params by name, rest as query) and how nested objects are encoded, which is useful usage guidance. However, it does not explicitly state when to prefer this generic tool over sibling-specific tools, nor does it mention when not to use it (e.g., if a specific tool exists). The dry run and read-only behaviors are noted, but the high-level 'when to use' is left implicit.

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

  • Behavior4/5

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

    With no annotations, the description correctly marks the tool as read-only and explains the data returned. It lacks details on authentication, rate limits, or performance but covers the key safety trait.

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

    Conciseness5/5

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

    Two concise, front-loaded sentences with no filler. Every part adds value: what the tool does, how bucketing works, special cases, and safety note.

    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?

    Despite no output schema, the description adequately describes the return categories (bucketed amounts, drafts, missing send marks). Lacks exact structure but sufficient for a straightforward aging report.

    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 coverage is 100%; the description adds context about overdue calculation (invoice date + payment terms) but does not elaborate on the parameters themselves beyond the schema. Baseline 3 is appropriate.

    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 clearly states the tool provides a receivables aging report: open and partially paid invoices bucketed by days overdue, including drafts and missing send marks. This sharply distinguishes it from siblings like sevdesk_list_invoices.

    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 implies use for overdue invoice analysis but does not explicitly state when not to use or list alternatives. It provides clear context for when to choose this tool over basic listing tools.

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

  • Behavior4/5

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

    With no annotations provided, the description handles behavioral disclosure well. It explicitly states 'Read-only' and 'output is capped, never the full account dump.' This informs the agent about safety and limitations. No contradictions.

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

    Conciseness5/5

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

    The description is three sentences long. It front-loads the core purpose and adds key behavioral notes. Every sentence is informative with no unnecessary words.

    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 guidance tool with 5 parameters and no output schema, the description adequately covers what the tool does and its constraints. It lacks details on the exact response structure, but the context makes it usable.

    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 baseline is 3. The description adds value by summarizing filtering capabilities ('Filter by text, account number or tax rule') and mentioning the cap behavior, but does not provide substantial new detail beyond the schema.

    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 clearly states the tool provides booking guidance: which DATEV/SKR accounts exist for expenses/revenue and their allowed tax rules/rates. It specifies it's the validation table sevDesk uses. This distinguishes it from other sevdesk tools like sevdesk_create_voucher or sevdesk_list_vouchers.

    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 mentions filtering by text, account number, or tax rule, and that output is capped. It implies usage for exploring accounts before booking. It does not explicitly state when not to use it or name alternatives, but the purpose is clear enough for an agent to decide.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden. It discloses that the matching is heuristic, read-only, and works in both directions, providing useful behavioral context.

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

    Conciseness5/5

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

    Three sentences, front-loaded with the core purpose, no wasted words. Efficient and clear.

    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 4 parameters and no output schema, the description covers purpose, behavior, and usage caveat. Missing details about output format, but the 'checklist' hint suffices.

    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?

    The input schema covers 100% of parameters with descriptions, so the description adds no additional parameter semantics beyond the schema.

    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 clearly states the tool matches bank transactions against vouchers by amount and date proximity, and distinguishes from sibling tools like sevdesk_list_transactions or sevdesk_list_vouchers by focusing on reconciliation in both directions.

    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 advises treating the result as a checklist rather than a verdict, indicating when to use it for heuristic checking. However, it does not explicitly state when not to use it or point to alternatives.

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

  • Behavior4/5

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

    With no annotations, the description discloses it's a WRITE operation that changes data in sevDesk and mentions 'temporary voucher storage', giving sufficient behavioral context without contradicting any annotations.

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

    Conciseness5/5

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

    The description is two concise sentences plus a warning, front-loaded with the primary action and essential usage note, with no wasted words.

    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 simple tool with no output schema, the description explains the return value (filename token) and its purpose, the file type, and storage duration (temporary), covering key aspects adequately.

    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 coverage is 100%, so the schema already documents all parameters. The description adds marginal value by explaining the return token's role, but does not provide additional parameter-level meaning beyond the schema.

    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 clearly states the tool uploads a local PDF/image to sevDesk's temporary voucher storage and returns a filename token for use with sevdesk_create_voucher, distinguishing it from sibling tools like create_voucher and list operations.

    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 implicitly tells when to use (before creating a voucher) and explicitly warns it's a write operation refused under SEVDESK_READ_ONLY, providing clear context but not alternative tools for different scenarios.

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

  • 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 returns parameter list, request-body shape, and example call, which is transparent about the output. It could additionally mention whether it is read-only, but the description is sufficient for a documentation tool.

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

    Conciseness5/5

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

    The description is two sentences with no wasted words. The first sentence states the purpose, and the second provides usage guidance. It is front-loaded and efficient.

    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?

    Given the tool is a documentation helper with no output schema, the description adequately informs the agent of what it will receive (parameter list, request-body shape, example call). It could specify the format (e.g., as JSON) but is otherwise complete.

    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% for the single parameter 'operationId,' and the schema already documents it as 'Exact operationId, as returned by sevdesk_list_operations.' The description does not add additional meaning beyond the schema, so a baseline score of 3 is appropriate.

    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 explicitly states 'Show the full parameter list, request-body shape and an example call for one operationId,' which is a specific verb and resource. It also distinguishes itself from sibling tools like sevdesk_call by providing preparatory usage guidance.

    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 clearly instructs 'Always do this before sevdesk_call on an operation you have not used before,' providing explicit context on when to use this tool and when to use its sibling sevdesk_call.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden. It discloses the tool is read-only, saves to an allowlisted directory, and does not alter the invoice's send state. Some behavior like error handling or directory creation is not detailed, but the key safety and I/O traits are covered.

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

    Conciseness5/5

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

    Two sentences with no extraneous words. The first sentence states the main action and condition, the second adds safety behavior. Perfectly concise for the tool's simplicity.

    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 two-parameter tool with no output schema, the description covers purpose, safety, and constraints. The missing aspect is whether the invoice must be in a certain state (e.g., already sent) for PDF generation, but overall it provides enough context for reliable use.

    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?

    Both parameters have schema descriptions, and the description adds the critical constraint that the directory must be from the SEVDESK_RECEIPT_DIRS allowlist, which goes beyond the schema's definition of 'Absolute path of an allowlisted directory.' This extra context aids correct invocation.

    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 clearly states the tool fetches and saves an invoice PDF to an allowlisted directory. The verb 'fetch' and resource 'invoice PDF' are specific, and the tool distinguishes itself from siblings like sevdesk_list_invoices and sevdesk_create_invoice which handle listing and creation.

    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 by stating it is read-only and never changes the invoice's send state. While it does not explicitly list alternatives, the context is sufficient for an agent to understand when to use this tool (to download a PDF) versus other invoice-related tools.

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

  • Behavior4/5

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

    With no annotations, the description discloses that the tool changes data, honors dry run, refuses certain invoices, and verifies results. It does not cover authorization or rate limits, but the key behavioral traits are clear.

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

    Conciseness5/5

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

    The description is two sentences with a warning, all relevant. No wasted words; front-loaded with the main action and followed by important constraints.

    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?

    Given no output schema, the description covers the action, refusal on enshrined invoices, dry run support, and verification. It lacks return value details but is sufficient for a mutation tool.

    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 coverage is 100%, so baseline is 3. The description adds value by explaining the sendType enum meanings ('PDF download, print, postal') and clarifying that email is excluded, going beyond the schema.

    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 clearly states the verb 'mark as sent' and the resource 'invoice', and specifies the scope without emailing. It lists send types (PDF download, print, postal), distinctly differentiating from siblings like sevdesk_create_invoice or sevdesk_get_invoice_pdf.

    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 mentions that it refuses enshrined invoices and honors SEVDESK_DRY_RUN, providing context for when to use. It does not explicitly name alternatives but implies email-based sending is not included.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden. It discloses that the tool changes data (with a warning emoji), always creates a draft, honors the SEVDESK_DRY_RUN flag, and auto-fills the contact address. It does not cover authentication or rate limits, but for a creation tool, this is adequate.

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

    Conciseness5/5

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

    The description is three sentences long, each sentence adding essential information. It is front-loaded with the main purpose and uses a warning symbol for emphasis, making it efficient and scannable.

    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 tool's simplicity (no output schema, 7 parameters, 2 required), the description covers all critical aspects: what it does, key parameters, behavioral traits (draft, dry-run, data mutation), and auto-fill behavior. No gaps remain for an agent to misinterpret.

    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 coverage is 100%, so baseline is 3. The description adds value by explaining that positions require name, quantity, price, and tax rate, that the contact address is auto-filled, and that it honors dry run. This goes beyond the schema's property descriptions.

    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 clearly states the verb 'Create', the resource 'outgoing invoice', and specifies it is always a draft (status 50). This distinguishes it from other tools like sevdesk_list_invoices or sevdesk_mark_invoice_sent.

    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 explicitly states when to use this tool (to create a draft invoice) and the important constraint that it always creates a draft. However, it does not explicitly mention when not to use it or provide alternative tools for sending invoices.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden. It explicitly labels this as a WRITE operation and warns that it changes data, but does not discuss rate limits, authentication requirements, or other side effects beyond the basic mutation.

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

    Conciseness5/5

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

    Four sentences with no wasted words: first states purpose, second explains safe default, third gives critical tax rule mapping, fourth mentions fallback. Front-loaded and efficient.

    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 tool's complexity (11 parameters, nested positions) and lack of output schema, the description covers core behavior, defaults, special tax rules, and when to use the sibling tool. It is sufficient for an agent to understand usage.

    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 coverage is 100%, so baseline is 3. The description adds value by mapping specific taxRule values to real-world concepts (e.g., '5 for Reverse Charge §13b') and noting the default status, which goes beyond the schema's enums.

    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 clearly states the tool creates a voucher via the specific API endpoint, distinguishes it from the generic sevdesk_call sibling, and provides immediate context on default status and tax rules.

    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?

    Explains that creation defaults to a draft status for safety and advises using sevdesk_call for anything not covered, giving clear guidance on when to use alternatives. However, it does not explicitly state when not to use this tool.

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

  • Behavior5/5

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

    With no annotations provided, the description fully assumes the burden of disclosing behavioral traits. It explicitly states that the tool 'reads the filesystem but never writes' and 'sevDesk access is read-only,' which reassures the agent about safety and side effects. The matching algorithm and the bidirectional report are also disclosed, leaving no ambiguity about behavior.

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

    Conciseness5/5

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

    The description is extremely concise—only three sentences—yet covers purpose, behavior, matching algorithm, and file format expectations without any wasted words. The first sentence immediately establishes the core function, making it efficient for an AI agent to parse.

    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?

    Despite having no output schema, the description adequately explains what the tool returns: a report of mismatches in both directions. The matching algorithm and parameter roles are fully described. For a reconciliation tool with 6 parameters, this description provides all necessary context for an agent to use it correctly.

    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?

    The input schema covers all 6 parameters with descriptions (100% coverage), so the baseline is 3. The description adds meaning beyond the schema by explaining how the parameters interact: from/to filter vouchers, dayTolerance relaxes date matching, and extensions and recursive control file scanning. This contextual enrichment justifies a score of 4.

    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 clearly states the tool's purpose: compare local receipt PDFs against sevDesk vouchers and report mismatches. It specifies the matching algorithm, file naming conventions, and the bidirectional nature of the report. This stands out distinctly from sibling tools, which focus on listing, creating, or manipulating sevDesk entities, not local file reconciliation.

    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 for when to use this tool (reconciling local receipts with sevDesk vouchers) and details the matching logic and expected file formats. It implicitly guides usage by explaining how parameters like from/to and dayTolerance affect matching. However, it does not explicitly state when not to use it or mention alternatives, though the sibling list provides enough context for differentiation.

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

  • Behavior5/5

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

    With no annotations, the description fully discloses behavior: it is a write operation that can change data, it refuses enshrined vouchers and wrong-side rules, it verifies the result, previews with dryRun, and preserves position rates. It warns about foreign-currency recalculation at today's rate. All behavioral traits are explicitly stated.

    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 front-loaded with purpose and contains substantial information, but is slightly lengthy. While every sentence adds value, it could be trimmed slightly without losing clarity. Still, it is well-structured and informative.

    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?

    Given the complexity of the operation (changing tax rules with guardrails) and the lack of an output schema, the description is fairly complete. It explains what happens to positions and currency, but does not detail the response format or how verification results are returned. Still adequate for selection.

    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 coverage is 100%, so baseline is 3. The description adds value by explaining that voucherId is numeric, giving a concrete example for taxRuleId (12 for Reverse Charge), and clarifying dryRun previews the request. This goes beyond the schema's basic descriptions.

    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 clearly states the tool's purpose: rebooking a voucher onto a different VAT rule. It specifies the resource (voucher) and the action (changing tax rule) with specific examples like 'Reverse Charge §13b, taxRule 12'. It distinguishes itself from sibling tools, which are primarily for listing, creating, or auditing vouchers, not modifying VAT rules.

    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 when to use (draft vouchers) and when not to use (paid/booked vouchers, enshrined vouchers, wrong-side rules). Provides an alternative: 'Correct paid vouchers in the sevDesk UI instead.' Also mentions guardrails and verification, giving clear context for appropriate use.

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

  • Behavior4/5

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

    Describes a read-only search operation with no side effects. Lists available tags and number of operations. Lacks explicit non-destructive statement but context is clear.

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

    Conciseness5/5

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

    Concise, front-loaded sentences with no redundancy. Every sentence adds value (purpose, usage, tags).

    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?

    Complete for a catalogue search tool: explains what it returns, how to use it, and lists all tags. Output schema not needed as return structure is implied.

    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?

    All 4 parameters are described in the schema (100% coverage). The description adds details like free-text search scope and default limit, enhancing utility beyond schema.

    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 clearly states the tool searches the sevDesk API catalogue to find operationIds for non-dedicated tools, differentiating it from sibling tools that handle specific resources.

    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 tells when to use ('for anything not covered by a dedicated tool') and outlines the workflow: find operationId, then use describe_operation and call.

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

  • Behavior5/5

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

    With no annotations, the description fully carries the burden of behavioral disclosure. It details the outputs (server mode, bookkeeping version) and implies the tool's non-destructive nature. No contradictions.

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

    Conciseness5/5

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

    The description is two sentences long, front-loads the purpose, then provides output details and usage hint. Every sentence earns its place with no unnecessary words.

    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 zero parameters, no nested objects, no output schema, and a simple diagnostic purpose, the description is complete. It explains what the tool returns and when to use it.

    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?

    There are zero parameters, so the schema description coverage is 100%. The description adds no parameter info because none is needed. The baseline for no parameters is a score of 4-5, and the description meets expectations.

    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 clearly states the tool's purpose: verify API token, report server mode (read-only/dry-run) and bookkeeping system version. This is a specific verb-resource combination that distinguishes it from sibling tools that perform data operations.

    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 explicitly advises to 'Run this first when something behaves unexpectedly,' providing clear when-to-use guidance. It does not mention when not to use or alternatives, but the context is sufficient for a diagnostic tool.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

sevdesk-mcp MCP server

Copy to your README.md:

Score Badge

sevdesk-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/joosthel/sevdesk-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server