Fiscalité française ouverte, par BENSAID Avocats
Server Details
Official French tax texts, dated and sourced: 237 treaty instruments by article, BOFiP, CGI, LPF.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
Each tool targets a distinct source+granularity: BOFiP (get/search), treaties (search instruments / get full instrument / get single article), Légifrance code articles, and OpenFisca parameters. The get-vs-search and full-instrument-vs-article boundaries are explicitly clarified in the descriptions, so an agent can select confidently.
Every tool follows a predictable source_operation pattern (bofip_get, bofip_search, conventions_get, conventions_search, conventions_article, legifrance_article, openfisca_parameter). The convention is applied uniformly with clear source prefixes, making the set easy to parse.
Seven tools is well-scoped for a tax-law research server. Each tool earns its place by covering either a distinct source or a distinct granularity (search vs. full text vs. single article/parameter) with no redundant entries.
Core retrieval is well covered across BOFiP, treaties, code articles, and parameters, and search+get pairs exist where needed. However, there is no search over Légifrance code articles and no coverage of case law (jurisprudence), which are notable gaps for full tax-research workflows.
Available Tools
7 toolsbofip_getLire un document BOFiPARead-onlyIdempotentInspect
Texte d'un document BOFiP par identifiant BOI (ex. BOI-RPPM-PVBMI-50-10-10, avec ou sans date), par tranches de 40000 caractères (paramètre debut), avec titre, date de publication et permalien officiel bofip.impots.gouv.fr. Source : BOFiP-Impôts, données ouvertes DGFiP, stock et flux appliqués jusqu'au 30/09/2026, licence ouverte Etalab 2.0. / Text of a BOFiP document by BOI id, paged, with publication date and official permalink. DGFiP open data, Etalab 2.0.
| Name | Required | Description | Default |
|---|---|---|---|
| boi | Yes | Identifiant BOI. / BOI identifier. | |
| debut | No | Position de départ dans le texte (pagination par tranches de 40000 caractères ; reprendre la valeur suite.debut). / Start offset for paging. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive behavior, so the bar is lower. The description adds genuinely new operational context: 40000-character paging, the returned fields (title, publication date, permalink), and the data-freshness cutoff of 30/09/2026.
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?
Core purpose and pagination are front-loaded, and every clause carries information. The bilingual duplication and source/licence boilerplate add length without adding much, but nothing is truly wasted.
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 output schema, the description carries the return-value burden and does so by naming title, publication date and permalink, plus the paging contract. Only the absence of an explicit route to bofip_search keeps it short of complete.
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 coverage is 100% so the baseline is 3, but the description goes further: it notes the BOI id may be given 'avec ou sans date', and it explains that `debut` pages in 40000-character tranches and should be resumed from suite.debut, which the schema does not say.
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?
States a specific verb+resource (read the text of a BOFiP document) and the exact keying mechanism (by BOI id). This cleanly distinguishes it from the sibling bofip_search, which is the tool you would use to obtain such an id.
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?
The description implies the prerequisite (you must already hold a BOI identifier) but never names bofip_search as the way to find one, nor states when to prefer this tool over it. Usage is inferable from 'by BOI id' rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bofip_searchRechercher dans la doctrine fiscale (BOFiP)ARead-onlyIdempotentInspect
Recherche sémantique dans le Bulletin officiel des finances publiques (BOFiP-Impôts, doctrine administrative de la DGFiP), versions en vigueur seulement. Rend les BOI classés par pertinence avec extrait, date de publication et permalien officiel ; lire le texte avec bofip_get. Source : BOFiP-Impôts, données ouvertes DGFiP (data.gouv.fr), stock et flux appliqués jusqu'au 30/09/2026, licence ouverte Etalab 2.0. / Semantic search in BOFiP-Impôts (French tax administration guidance), current versions only; returns BOI ids, excerpts and official permalinks. Source: DGFiP open data, Etalab 2.0 open licence.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Nombre de résultats (1 à 8, défaut 6). | |
| query | Yes | Question ou sujet. / Question or topic. | |
| serie | No | Série BOFiP (IR, IS, TVA, RPPM, ENR, PAT, BIC, INT, CF...). / BOFiP series. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds genuinely non-obvious behavior: currency limited to in-force versions, result shape (ranked BOI ids, excerpt, publication date, official permalink), data freshness cutoff (30/09/2026) and licence provenance.
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?
Front-loaded with the core purpose and return contract in the first sentence; bilingual duplication is justified for a French-language corpus but the source/licence line is repeated in both languages, which is mild redundancy.
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 output schema, the description correctly compensates by describing the return fields and the permalink. Combined with disclosed coverage window and source, an agent has enough to invoke and interpret results, though freshness of the underlying stock versus the cutoff date could be stated more precisely.
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%, so query/limit/serie are already documented in the schema, including the series examples. The description adds nothing about parameter behavior, so the 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?
States a specific verb ('Recherche sémantique') plus resource ('Bulletin officiel des finances publiques / BOFiP-Impôts'), and explicitly scopes it to 'versions en vigueur seulement'. It is immediately distinguishable from the sibling bofip_get, which it names as the follow-up for reading full text.
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?
Clear context: use this to find BOI references, then use bofip_get to read the text, and only current versions are covered. It names the alternative tool and the handoff, but gives no explicit exclusions (e.g. when to prefer conventions_search or legifrance_article for non-BOFiP tax material).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
conventions_articleLire un article exact d'une convention fiscaleARead-onlyIdempotentInspect
Texte EXACT d'un article d'une convention fiscale conclue par la France, avec l'intitulé de l'acte, le PDF officiel, les notes d'avenant et les avertissements (acte dénoncé, non en vigueur, texte OCR, avenants à vérifier). Donner pays (ou acte) et article (ex. 18, 1er, 28 bis) ; objet: successions pour la convention successorale ; paragraphe isole un paragraphe numéroté. Aucune reformulation. Source : conventions publiées sur impots.gouv.fr (PDF officiels), corpus au 2026-10-05, licence ouverte Etalab 2.0. / Exact text of one treaty article (by country or instrument id), with amendment notes and warnings. Source: treaties published on impots.gouv.fr (official PDFs), corpus as of 2026-10-05, Etalab 2.0 open licence.
| Name | Required | Description | Default |
|---|---|---|---|
| acte | No | Identifiant d'acte (prioritaire sur pays). / Instrument id (overrides country). | |
| pays | No | Pays en français ou en anglais, ou code ISO à 3 lettres (Suisse, Royaume-Uni, United States, ITA). / Country name in French or English, or ISO alpha-3 code. | |
| objet | No | revenu (défaut) ou successions, donations... / Subject (default: income). | |
| partie | No | protocole, echange... (par défaut le corps de l'acte). / Part of the instrument. | |
| article | Yes | Numéro d'article : 18, 1er, 28 bis. / Article number. | |
| paragraphe | No | Numéro de paragraphe (optionnel). / Paragraph number. |
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 genuinely useful context beyond the annotations: possible warnings (denounced instrument, not in force, OCR text, amendments to verify), the authoritative source (official PDFs on impots.gouv.fr), corpus date and licence.
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?
Purpose is front-loaded in the opening clause, and the remaining sentences each carry content (return payload, parameters, source/date/licence). The bilingual duplication of the source/licence sentence adds length without new information, keeping it short of a 5.
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 output schema, the description carries the burden of describing the response, and it does so (exact text, instrument title, official PDF, amendment notes, warnings). Source, corpus date and licence round out the context; only the ambiguity of `acte` vs `pays` precedence and pagination/availability limits go unaddressed.
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%, so a 3 is the baseline. The description does add meaning beyond the schema by clarifying that `objet: successions` selects the succession convention specifically and by giving article-format examples (18, 1er, 28 bis), which slightly exceeds the structured field text.
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: returning the 'Texte EXACT' of one article of a French tax treaty, with the instrument title, official PDF, amendment notes and warnings. An agent can distinguish it from the search-oriented siblings, but no sibling tool is named explicitly, so differentiation is inferred rather than stated.
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?
It tells the agent how to drive the lookup (give `pays` or `acte` plus `article`), and when to use `objet: successions` for the succession convention, plus the optional `paragraphe` narrowing. There is no explicit when-not-to-use guidance or named alternative (e.g. use conventions_search to find an article), so it stops short of full routing advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
conventions_getLire le texte intégral d'un acte conventionnelARead-onlyIdempotentInspect
Texte intégral d'un acte (convention, avenant, protocole) par son identifiant acte (conv-N, rendu par conventions_search), avec le lien du PDF officiel. Texte long : rendu par tranches de 40000 caractères (paramètre debut). Pour un seul article, préférer conventions_article. Source : conventions publiées sur impots.gouv.fr (PDF officiels), corpus au 2026-10-05, licence ouverte Etalab 2.0. / Full text of a treaty instrument by id (conv-N), paged, with the official PDF link. Source: treaties published on impots.gouv.fr (official PDFs), corpus as of 2026-10-05, Etalab 2.0 open licence.
| Name | Required | Description | Default |
|---|---|---|---|
| acte | Yes | Identifiant de l'acte, ex. conv-214. / Instrument id. | |
| debut | No | Position de départ dans le texte (pagination par tranches de 40000 caractères ; reprendre la valeur suite.debut). / Start offset for paging. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe read-only, idempotent, closed-world profile, so the description earns credit for adding behavioural detail beyond them: fixed 40000-character paging, the suite.debut resume token, and the official PDF link returned with the text. It does not explain error behaviour for an unresolvable id.
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?
Front-loads the tool's purpose and paging scope before the provenance/licence boilerplate. The bilingual duplication is a deliberate corpus convention rather than padding, though the source/licence sentence is less essential to invocation.
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 output schema, the description carries the return-value burden and does so: full text, PDF link, paging chunks and the suite.debut continuation field. What is missing is failure behaviour (invalid id, out-of-range debut), so it is not fully complete.
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%, so both acte and debut are already documented in the schema; baseline 3 applies. The description adds only the resume hint (reprendre suite.debut) on top of the schema's pagination note, and no additional meaning beyond that.
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?
States a precise verb+resource ('Texte intégral d'un acte … par son identifiant acte'), names the accepted id format (conv-N) and its producer (conventions_search), and distinguishes itself from the sibling conventions_article. An agent can tell exactly what this returns versus the other conventions_* tools.
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?
Explicitly routes single-article lookups to conventions_article and explains where the required id comes from (conventions_search). It lacks broader exclusion guidance (e.g. cost/size caveats for very large acts), but the primary sibling choice is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
conventions_searchRechercher dans les conventions fiscales de la FranceARead-onlyIdempotentInspect
Recherche sémantique, article par article, dans les 237 actes des conventions fiscales conclues par la France (125 pays : conventions, avenants, protocoles, accords). Rend les articles pertinents avec numéro, intitulé de l'acte, extrait du texte officiel, lien du PDF et score (seuil 0,40) ; une référence explicite (« article 18 Suisse ») est résolue directement. Préciser pays quand il est connu. Lire ensuite l'article avec conventions_article. Source : conventions publiées sur impots.gouv.fr (PDF officiels), corpus au 2026-10-05, licence ouverte Etalab 2.0. / Semantic article-level search across France's 237 tax treaty instruments (125 countries). Returns article number, instrument title, official text excerpt, PDF link and score; no generated answer. Source: treaties published on impots.gouv.fr (official PDFs), corpus as of 2026-10-05, Etalab 2.0 open licence.
| Name | Required | Description | Default |
|---|---|---|---|
| pays | No | Pays en français ou en anglais, ou code ISO à 3 lettres (Suisse, Royaume-Uni, United States, ITA). / Country name in French or English, or ISO alpha-3 code. | |
| limit | No | Nombre de résultats (1 à 8, défaut 6). | |
| objet | No | Nature de l'acte (revenu par défaut pour la recherche : tous). / Instrument subject. | |
| query | Yes | Question ou sujet, en français de préférence. / Question or topic. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only, idempotent, closed-world safety profile, and the description goes well beyond them: result fields returned (article number, instrument title, official excerpt, PDF link, score), the 0.40 relevance threshold, corpus size and snapshot date (2026-10-05), data source and licence, and the explicit statement that no generated answer is produced.
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 core ('Recherche sémantique, article par article') is front-loaded and each sentence carries information; nothing is padding. However, the full bilingual duplication roughly doubles the length for an audience that the schema already serves in both languages.
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?
There is no output schema, and the description compensates by enumerating the returned fields, the score threshold, and the corpus provenance. Combined with annotations covering safety and a fully documented 4-parameter schema, an agent has everything needed to call it correctly.
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 coverage is 100%, so the baseline is 3; the description adds real meaning on top by advising when to supply `pays` ('quand il est connu') and by framing `query` as a question or topic. It says little about `limit` or `objet` beyond what the enum and bounds already convey.
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?
States a specific verb and resource with scope: 'Recherche sémantique, article par article, dans les 237 actes des conventions fiscales conclues par la France'. It also names the sibling to use next (conventions_article) and explicitly disclaims generating an answer, so an agent can separate it from bofip_search or legifrance_article without opening a 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?
Gives concrete invocation guidance: 'Préciser `pays` quand il est connu' and 'Lire ensuite l'article avec conventions_article', plus the note that an explicit reference like 'article 18 Suisse' is resolved directly. It lacks an explicit when-not-to-use / alternative-for-broader-search statement, which keeps it short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legifrance_articleLire un article du CGI ou du LPF (Légifrance)ARead-onlyIdempotentInspect
Texte en vigueur d'un article du Code général des impôts (cgi) ou du Livre des procédures fiscales (lpf), par son numéro (ex. 150-0 B ter, 757 B, L. 64), avec l'identifiant LEGIARTI, la date d'entrée en vigueur et le lien Légifrance. Source : Légifrance (DILA) via l'API PISTE, licence ouverte Etalab 2.0, consulté à la date de l'appel ; mis en cache 24 h. / In-force text of a French General Tax Code (cgi) or Tax Procedure Book (lpf) article by number, from Légifrance (DILA) through the PISTE API, Etalab 2.0 open licence; cached 24 h.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | cgi ou lpf. | |
| article | Yes | Numéro d'article : 150-0 B ter, 757 B, L. 64. / Article number. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds substantive context beyond them: 24-hour caching, provenance (Légifrance/DILA via API PISTE), Etalab 2.0 licence, and that content is current as of the call date. The only gap is no note on failure behavior for invalid article numbers.
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?
Front-loaded with the core purpose and lookup key before provenance details. The French/English duplication is slightly redundant, but the bilingual phrasing is deliberate for a French-source tool and each clause carries information.
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 output schema, the description helpfully enumerates what is returned (in-force text, LEGIARTI identifier, entry-into-force date, Légifrance link) plus caching and source provenance. An agent has everything needed to invoke it and interpret the result.
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% and both parameters are documented in the schema, including the enum for code and article-number examples. The description restates the same examples (150-0 B ter, 757 B, L. 64) without adding format rules or constraints beyond the schema, so the baseline of 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?
States a specific verb and resource — 'Texte en vigueur d'un article' — scoped to CGI/LPF codes, with the lookup key (article number) and examples. This clearly distinguishes it from siblings like bofip_get or conventions_article, which cover different corpora.
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 resource scope (get an article when you know the code and article number), and examples of valid article numbers are given. However, there is no explicit when-to-use guidance nor any routing against sibling tools that also retrieve tax texts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
openfisca_parameterLire un barème ou un taux de la législation (OpenFisca)ARead-onlyIdempotentInspect
Valeur d'un paramètre de la législation socio-fiscale française (barèmes, taux, plafonds) tel que codé dans OpenFisca France, à une date donnée (aujourd'hui par défaut), avec les dernières valeurs datées et leurs références légales. Ex. impot_revenu.bareme_ir_depuis_1945.bareme, taxation_capital.pfu.taux. Un chemin partiel rend la liste des paramètres correspondants. Source : API publique OpenFisca France (api.fr.openfisca.org), mise en cache 24 h ; vérifier sur le texte officiel. / Value of a French tax-benefit legislation parameter (scales, rates, ceilings) from the public OpenFisca France API, at a given date, with dated history and legal references; cached 24 h.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date de valeur AAAA-MM-JJ (défaut : aujourd'hui). / Value date. | |
| name | Yes | Chemin du paramètre (points ou barres obliques). / Parameter path. | |
| historique | No | Nombre de valeurs datées rendues (défaut 5). / Number of dated values. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld, so the bar is low; the description still adds real context beyond them: data source (api.fr.openfisca.org), a 24-hour cache, dated historical values, legal references, and a caveat to check the official text. It stops short of describing error behavior for invalid paths or pagination/truncation of the partial-path listing.
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?
Front-loaded with the core purpose, followed by examples, the partial-path rule, and the source/cache caveat; every sentence carries information. The FR/EN duplication doubles the length, which is the main efficiency cost.
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 output schema, the description correctly explains what comes back (value at date, dated history, legal references). Combined with annotations covering the safety profile and full schema coverage, an agent has enough to call it correctly; only edge-case behavior (invalid path, result limits) 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 coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema: the date defaults to today and a partial name path returns a list rather than a single value, which directly explains the name parameter's behavior. It does not elaborate on the historique semantics beyond what the schema already says.
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?
States a specific resource (French socio-fiscal legislation parameter from OpenFisca France) and what it returns (value, dated history, legal references). The two concrete path examples (impot_revenu.bareme_ir_depuis_1945.bareme, taxation_capital.pfu.taux) make the domain unambiguous versus siblings like bofip_get or legifrance_article.
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 operating context: default date is today, a partial path returns the list of matching parameters, and results should be verified against the official text. It does not explicitly name when to prefer a sibling (e.g. legifrance_article for the authoritative text), so exclusions are absent.
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.
7 tool updates
- First observed
bofip_get - First observed
bofip_search - First observed
conventions_article - First observed
conventions_get - First observed
conventions_search - First observed
legifrance_article - First observed
openfisca_parameter
Related MCP Connectors
Doctrine fiscale française (BOFiP) : recherche, veille et graphe doctrinal. Etalab 2.0.
French public services: tax, property, admin, education, healthcare, security, risks, legal texts
French law articles, codes, collective agreements, case law (Judilibre) and IDCC lookup.
Free public tax MCP: GST/VAT, income, company & capital-gains tax for 50+ countries, source-cited.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceSourced, dated calculations for French income tax and pensions across 32 retirement schemes — every result carries its confidence level, its legal sources and the fiscal year, and returns non_calculable rather than a guess. Hosted remote MCP + REST, paid per call via x402 (USDC on Base); two discovery tools are free.1MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to calculate French individual income tax and retrieve current tax brackets using official government data. Supports household composition calculations and provides up-to-date tax information for French residents.1114Apache 2.0
- AlicenseAqualityBmaintenancePoint-in-time access to Luxembourg law and ten EU acts: what any law said on a given date, not just the current text. 1,409 consolidated works and 4,705 dated versions from the official Legilux and EUR-Lex sources. Ten read-only tools: as-of text, timelines, per-article history, diffs between dates, and hash-verifiable provenance. No key.109Apache 2.0
- AlicenseAqualityBmaintenanceExact French real-estate legal calculations for AI agents: IRL rent revision, service-charge reconciliation, compliant rent receipts — legal basis included in every answer.41MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.