MCP Devis
Server Details
Calculate French quote totals and VAT, list legal mentions, and render printable HTML quotes.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
The three tools mostly target distinct outputs: calculation/validation, legal reference lookup, and HTML rendering. However, create_quote and render_quote_html both perform the same calculations and legal-mention checks, so an agent may need to read descriptions carefully to choose between producing a calculation result versus a final printable document.
All names use a consistent snake_case verb_noun pattern: create_quote, get_legal_mentions, render_quote_html. The verbs clearly indicate the operation and the nouns identify the target resource.
Three tools is well-scoped for a focused French quote-generation server. Each tool covers a distinct part of the workflow: calculation, legal references, and HTML rendering.
The core generation workflow is covered, but there is no persistence or retrieval surface (save/list/get/update an existing quote) and no explicit template-discovery or export tool. These gaps may force agents to manage quote lifecycle state outside the server.
Available Tools
3 toolscreate_quoteCInspect
Calcule les totaux (HT, TVA par taux, TTC) d'un devis français, applique la franchise en base de TVA (art. 293 B du CGI) si demandée, et signale par des avertissements les mentions obligatoires manquantes (jamais d'invention de valeur).
| Name | Required | Description | Default |
|---|---|---|---|
| lines | Yes | ||
| quote | No | ||
| client | Yes | ||
| company | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden, and it does disclose two useful traits: warnings are emitted for missing mandatory mentions and values are never invented. However, it says nothing about whether anything is persisted, what the response looks like, or how the warnings are delivered, which matters for a tool whose name implies creation.
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?
One dense sentence that front-loads the core computation before the franchise rule and the warning behavior. Every clause carries information; only the parenthetical legal citation is arguably overhead for an agent.
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?
The tool has a deeply nested four-parameter schema, no output schema, and no annotations, so the description needs to explain the result shape and the role of the nested objects. It instead covers only the calculation and warning logic, leaving the agent guessing at output structure and the purpose of client/company/quote fields.
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 0%, so the description must compensate, and it only partially does: it clarifies that VAT is grouped per rate and that the 293 B franchise is opt-in (mapping to company.franchise_293b). It leaves the client object, the entire quote object (number, date, validity_days, payment_terms), and required company fields (siren, address) unexplained.
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 gives a specific verb and object: it computes HT/VAT-by-rate/TTC totals for a French quote, applies the 293 B franchise, and raises warnings for missing mandatory mentions. That is considerably more precise than the bare name create_quote, but it never mentions building/returning the quote object itself (client, company, quote metadata), and it does not distinguish itself from render_quote_html.
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 statement of when to use this rather than get_legal_mentions or render_quote_html, even though those siblings clearly overlap (legal mentions, rendering). Only the conditional 'si demandée' for the franchise flag hints at a calling precondition; there are no exclusions or routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_legal_mentionsBInspect
Retourne la liste des mentions obligatoires d'un devis professionnel français, avec leurs sources officielles (service-public.gouv.fr, economie.gouv.fr, autoentrepreneurs.org pour la franchise en base de TVA).
| Name | Required | Description | Default |
|---|---|---|---|
| franchise_293b | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and 'Retourne la liste' does signal a read-only retrieval. It also usefully discloses provenance (service-public.gouv.fr, economie.gouv.fr, autoentrepreneurs.org), which builds trust in regulatory content. However, it says nothing about whether results are static/fixed, how they are structured, or how the conditional parameter affects the returned list.
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?
A single front-loaded sentence that identifies the resource first and the supporting sources second, with no filler. It is efficient, though slightly more space could have been used to explain the flag without bloat.
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 simple one-optional-parameter read tool with no output schema, the description covers the what and the source provenance adequately. It leaves the sole parameter's effect and the shape of the returned list unexplained, which is a meaningful gap given the 0% schema coverage.
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?
There is one optional boolean (franchise_293b) with 0% schema description coverage, and the description never explains what setting it to true or false does. The mention of 'franchise en base de TVA' as a source domain is a faint hint at the concept but does not tell the agent that this flag toggles inclusion of the 293 B VAT-exemption mention.
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 ('Retourne la liste des mentions obligatoires d'un devis professionnel français') and even enumerates the source domains, so an agent can immediately tell this is a static legal-reference lookup rather than a quote-building tool. It does not explicitly name the siblings create_quote or render_quote_html, but the purpose is distinct enough that confusion is unlikely.
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 statement of when to call this tool, no prerequisites, and no reference to the sibling tools it should be combined with (e.g., before create_quote). The agent must infer usage from the topic alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_quote_htmlAInspect
Génère un devis HTML A4 autonome et imprimable, dans l'un des 4 modèles (classique, moderne, bandeau, minimal), avec les mêmes calculs et mentions légales que create_quote.
| Name | Required | Description | Default |
|---|---|---|---|
| lines | Yes | ||
| quote | No | ||
| client | Yes | ||
| company | Yes | ||
| template | No | classique | |
| accent_color | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that the output is standalone printable A4 HTML, supports four templates, and reuses create_quote's calculations and legal mentions, but it does not clarify persistence, permissions, side effects, validation behavior, or the exact return shape.
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?
The definition is a single front-loaded sentence with no padding. The key output format and scope are stated first, followed by template and calculation details.
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?
The tool has six parameters, nested objects, no annotations, and no output schema. The description states the output artifact but does not explain return format, persistence, required parameter semantics, or when to use it versus siblings, leaving significant gaps for a complex schema.
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 0%, so the description must compensate for parameter meaning. It only names the template options, which are already present in the enum, and vaguely references calculations/legal mentions; it does not explain company, client, lines, quote, accent_color, or nested required fields.
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 gives a specific verb and resource: 'Génère un devis HTML A4 autonome et imprimable'. It also names the supported templates and explicitly links the tool's calculations and legal notices to the sibling create_quote, so an agent can distinguish it from create_quote without opening the schema.
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 'HTML A4 autonome et imprimable': use it when a printable HTML quote is needed. However, it does not explicitly say when to choose render_quote_html over create_quote or get_legal_mentions, and it gives no exclusions or alternatives.
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
create_quote - First observed
get_legal_mentions - First observed
render_quote_html
Related MCP Connectors
Quotes and estimates: VAT line items, a validity date, an A4 PDF, accept makes an invoice.
Quotes and estimates: VAT line items, a validity date, an A4 PDF, accept makes an invoice.
Quotes and estimates: VAT line items, a validity date, an A4 PDF, accept makes an invoice.
Generate branded contractor quotes: hosted approval page, PDF, QR code, and Stripe payment link.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables Claude and other MCP clients to manage a small-business back office, including clients, quotes, invoices, payments, reports, and PDF invoice export, while keeping data in a local SQLite file.MIT
- AlicenseAqualityBmaintenanceEnables issuing credit notes and credit memos against an invoice or standalone as revisable drafts that can be finalized into frozen numbered documents, then rendered as Markdown or printable HTML with totals broken down by currency, reason and month. All amounts are handled as integer minor units and all data stays local, so nothing is sent anywhere.10MIT
- AlicenseNot gradedqualityBmaintenanceEnables drafting quotations and invoices from AI assistants like ChatGPT, Claude, and Gemini, with 133 templates, tax rules for 195 countries, and a link to the finished document.MIT
- AlicenseAqualityBmaintenanceRussian business paperwork as PDF: invoices with a bank payment QR code (GOST R 56042), acts of completed work, payment QR codes and amounts in words. Requisites are checksum-validated; fully local, no API key.24MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.