eBilanz Fabrik
Server Details
E-Bilanz and Offenlegung for small German GmbH/UG: products, prices, eligibility.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
The three tools target distinct questions: product catalogue (get_products), prices (get_pricing), and company scope/eligibility (check_eligibility). There is mild conceptual proximity between get_products and check_eligibility since both concern 'what is in scope', but the action objects (catalogue vs. a specific company's legal form/size/year) clearly separate them.
All three follow the same ebf_verb_noun snake_case pattern: ebf_check_eligibility, ebf_get_pricing, ebf_get_products. The verb choice varies (check vs. get) but is semantically correct rather than inconsistent, and the shared prefix makes the set highly predictable.
Three tools is thin but defensible for a deliberately read-only question-answering surface covering the three natural query dimensions (products, prices, eligibility). It is not padded, though the surface has little room to grow before it feels under-specified.
For an inquiry-only server that explicitly never prepares, files, or takes payment, the trio covers the core questions an agent would ask: available products, current prices, and whether a given company qualifies. Minor gaps exist (e.g. detailed per-product metadata or a size-class reference), but these are workable around given the stated scope.
Available Tools
3 toolsebf_check_eligibilityCheck eligibilityARead-onlyIdempotentInspect
Ask whether a given company can be served — legal form, size class, fiscal year — answered by the production engine, with the reasons if not. This endpoint only answers questions about eBilanz Fabrik's products, prices and whether a company's legal form, size class and financial year are in scope. It prepares nothing, never files, never takes payment, and never accepts an ELSTER certificate or PIN.
| Name | Required | Description | Default |
|---|---|---|---|
| groesse | Yes | size class per § 267/267a HGB — Kleinst, klein, mittelgross, gross (case does not matter) | |
| stichtag | Yes | REQUIRED — balance sheet date as YYYY-MM-DD, e.g. 2024-12-31. Omitting it makes the engine treat the year as abweichend and answer eligible=false. | |
| rechtsform | Yes | legal form — GmbH, UG, UG (haftungsbeschränkt), AG, Aktiengesellschaft, SE, Societas Europaea, andere (case does not matter) | |
| wirtschaftsjahr | No | the fiscal year, e.g. 2024 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuine value beyond that: it names the answering system ('the production engine'), discloses that failure returns 'reasons', and lists hard limits (no filing, no payment, no ELSTER certificate/PIN accepted), which prevents the agent from misusing it as a credentialed or mutating endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core question before the behavioral limits. It is dense but each clause earns its place; the products/prices clause is the only mildly loose element.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With strong annotations covering safety, a fully documented schema and no output schema, the description is nearly complete. It even notes that reasons accompany a negative answer, so an agent knows what to expect on rejection; only explicit sibling routing is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including detailed per-parameter notes (stichtag omission forces eligible=false, enum semantics for groesse and rechtsform), so the schema carries the burden. The description only names the three inputs (legal form, size class, fiscal year) without adding syntax or format meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it answers whether a company 'can be served' based on legal form, size class and fiscal year. However, the rider that it 'answers questions about eBilanz Fabrik's products, prices' overlaps with the sibling tools ebf_get_pricing and ebf_get_products, muddying rather than sharpening the differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit 'use this instead of X' routing, but the negative scoping ('prepares nothing, never files, never takes payment, never accepts an ELSTER certificate') implicitly tells the agent this is a pure inquiry tool, not a filing or payment tool. Usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ebf_get_pricingCurrent pricesARead-onlyIdempotentInspect
Current net prices per submission, read from the site's published Offer metadata. German VAT of 19 % is added at checkout. This endpoint only answers questions about eBilanz Fabrik's products, prices and whether a company's legal form, size class and financial year are in scope. It prepares nothing, never files, never takes payment, and never accepts an ELSTER certificate or PIN.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/non-open-world, so the safety bar is lower, yet the description still adds real context: prices are net, German VAT of 19% is applied at checkout, and the values come from published Offer metadata. The explicit denial of filing/payment/certificate handling reinforces the read-only contract rather than contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, purpose front-loaded, and the VAT/source details come before the defensive negatives. The final sentence's list of negations is the longest element and partly restates what the annotations already signal, but it is not padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool with no output schema, the description covers scope, pricing semantics (net + VAT), authoritative source, and prohibited side effects. The one remaining gap is that it never indicates the shape of what is returned (e.g., per-product or per-submission price structure), which the agent must infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4; there is no argument surface for the description to explain. Nothing in the description misleads about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource ('current net prices per submission') and even discloses the data source ('the site's published Offer metadata'), so the agent knows exactly what is retrieved. It does not name or differentiate itself from the siblings ebf_get_products or ebf_check_eligibility, and its claim to also answer legal-form/size-class/year scope questions overlaps with what ebf_check_eligibility appears to do.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear when-not guidance: 'prepares nothing, never files, never takes payment, and never accepts an ELSTER certificate or PIN', which rules out a class of mistaken invocations. It stops short of explicitly routing to alternatives ('use ebf_get_products for X, ebf_check_eligibility for Y'), so the sibling boundary 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.
ebf_get_productsProducts available nowARead-onlyIdempotentInspect
Which eBilanz Fabrik products can be bought right now, as the server itself reports. This endpoint only answers questions about eBilanz Fabrik's products, prices and whether a company's legal form, size class and financial year are in scope. It prepares nothing, never files, never takes payment, and never accepts an ELSTER certificate or PIN.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, non-destructive and closed-world, so the bar is lower; the description still adds real value by stating the data is 'as the server itself reports' and, importantly, that it never accepts an ELSTER certificate or PIN, which is an auth/secret-handling disclosure not present in the annotations. The negative list (prepares nothing, never files, never takes payment) further constrains behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, with the core answer front-loaded. The trailing negative enumeration is somewhat long and slightly redundant with the read-only annotations, but each clause does bound behavior rather than pad.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no nested objects and no output schema, an agent has enough to invoke the tool correctly and knows the subject matter of the response (products, prices, scope). Only the return shape/pagination is unaddressed, which is a minor gap for a zero-arg read.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. The description correctly implies a parameterless catalog query rather than hinting at hidden filters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and question ('which eBilanz Fabrik products can be bought right now'), so an agent knows exactly what the call returns. It does not name or contrast the sibling tools ebf_get_pricing and ebf_check_eligibility, and its second sentence ('products, prices and whether a company's legal form, size class and financial year are in scope') arguably overlaps with both of them, leaving the boundary a little blurry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the framing question ('can be bought right now'), and the exclusions are about actions rather than alternatives. There is no explicit guidance on when to prefer this over ebf_get_pricing or ebf_check_eligibility, which is exactly the confusion the overlapping subject matter invites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
ebf_check_eligibility - First observed
ebf_get_pricing - First observed
ebf_get_products
Related MCP Connectors
German bookkeeping: E-Rechnung invoices, DATEV export, BWA, UStVA, Belege and bank data.
- Fin3000OAuthcom.fin3000
Accounting for German SMBs: invoices, clients, bank transactions, journal entries, VAT.
German Handelsregister + Austrian Firmenbuch for AI agents: master data, financials & ratios.
- KonteviaOAuthde.kontevia
German receipt capture for small businesses: receipts, VAT by rate, tax dates, DATEV handover.
Related MCP Servers
AlicenseAqualityCmaintenancePDF/DOCX/Excel generation from HTML/Markdown with stationery overlay, ZUGFeRD/XRechnung e-invoicing, digital signing, form filling, and AI receipt OCR with DATEV/SKR03 export.40MIT- FlicenseBqualityDmaintenanceMCP server for DACH accounting automation. Connect AI assistants to sevDesk and Lexoffice — create invoices, manage contacts, handle bookings and vouchers for German-speaking businesses.1540 npm-
- AlicenseAqualityCmaintenanceValidates EU VAT IDs using VIES and Germany's BZSt with automatic failover and legally binding qualified confirmations per §18e UStG, ensuring reliability even when VIES is down.21 npmMIT
- FlicenseNot gradedqualityCmaintenanceMCP server for German e-invoicing with tools to generate and validate XRechnung CII XML locally, supporting German VAT rates and § 19 UStG.-
Glama MCP Gateway
Add one secure layer between your agents and this server.