Skip to main content
Glama
sevdesk-mcp

sevdesk-mcp

by joosthel

Change a voucher's tax rule

sevdesk_set_tax_rule

Rebook a draft voucher onto a different VAT rule (e.g. Reverse Charge §13b) with dryRun preview and post-update verification; refuses enshrined vouchers and rules from the wrong side.

Instructions

Rebook a voucher onto a different VAT rule (e.g. from 'Vorsteuerabziehbare Aufwendungen' onto Reverse Charge §13b, taxRule 12) with guardrails: refuses enshrined vouchers and rules from the wrong side of the books, verifies the result afterwards, and previews the request with dryRun. The voucher's positions keep their rates. Only works on draft vouchers — the sevDesk API refuses updates on booked/paid ones, and resetting a paid foreign-currency voucher via the API recalculates its EUR amounts at today's rate. Correct paid vouchers in the sevDesk UI instead. ⚠️ This tool can change data in sevDesk.

Input Schema

NameRequiredDescriptionDefault
dryRunNoPreview the request without sending it.
taxRuleIdYesTarget tax rule id.
voucherIdYesNumeric voucher id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.7/5.0
Behavior5/5

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

Goes far beyond the annotations: discloses guardrails (refuses enshrined vouchers and wrong-side rules), post-hoc verification, dryRun preview, that positions keep their rates, and the subtle paid foreign-currency recalculation behavior. The 'can change data' warning aligns with readOnlyHint=false and does not contradict destructiveHint=false (it mutates but does not delete).

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?

Front-loads the action and the guardrails before the caveats, and every sentence carries substantive information. The parenthetical example and warning add density but remain justified; slightly long for a three-parameter tool.

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?

Covers the mutation semantics, preconditions, and verification behavior thoroughly for a write tool with no output schema. It does not describe what the verification returns or the response shape, but the essential call-decision information is present.

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 the baseline is 3, but the description adds real meaning: it clarifies that dryRun previews the request, that taxRuleId must come from the correct side of the books, and that rates on existing positions are preserved. It does not enumerate the enum values, which the schema already covers.

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?

States a specific verb and resource ('Rebook a voucher onto a different VAT rule') with a concrete example mapping to taxRule 12. This is clearly distinguishable from the read-oriented siblings like sevdesk_get_voucher and sevdesk_audit_vat.

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 it applies (draft vouchers only) and when it does not (booked/paid vouchers, enshrined vouchers, rules from the wrong side of the books), and routes the agent to the UI for paid vouchers. This is exactly the when/when-not/alternative guidance the dimension rewards.

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