Skip to main content
Glama

Fiscalité française ouverte, par BENSAID Avocats

Server Details

Official French tax texts, dated and sourced: 237 treaty instruments by article, BOFiP, CGI, LPF.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 28 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.3/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct source and action: BOFiP (search/get), tax treaties (search/get/article), Légifrance articles, and OpenFisca parameters. The only potential overlap (conventions_get vs conventions_article) is explicitly disambiguated in the descriptions ('pour un seul article, préférer conventions_article'). The sources are mutually exclusive, so misselection risk is low.

Naming Consistency5/5

All seven tools follow a strict {source}_{action} snake_case pattern: bofip_get/bofip_search, conventions_get/conventions_search/conventions_article, legifrance_article, openfisca_parameter. Verb style and casing are uniform throughout.

Tool Count5/5

Seven tools is well-scoped for a legal-research server, with search+retrieval pairs for each major source rather than redundant operations. Each tool earns its place.

Completeness4/5

The surface covers the main open French tax sources (BOFiP doctrine, treaties, CGI/LPF articles, OpenFisca parameters) with paired search/get access for most. Minor gaps remain: legifrance_article has no search counterpart (you must know the article number), and there is no case-law/jurisprudence source, but agents can work around these.

Available Tools

7 tools
bofip_getLire un document BOFiPA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
boiYesIdentifiant BOI. / BOI identifier.
debutNoPosition de départ dans le texte (pagination par tranches de 40000 caractères ; reprendre la valeur suite.debut). / Start offset for paging.

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

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 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.

Purpose5/5

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.

Usage Guidelines3/5

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.

conventions_articleLire un article exact d'une convention fiscaleA
Read-onlyIdempotent
Inspect

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-13, 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-13, Etalab 2.0 open licence.

NameRequiredDescriptionDefault
acteNoIdentifiant d'acte (prioritaire sur pays). / Instrument id (overrides country).
paysNoPays 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.
objetNorevenu (défaut) ou successions, donations... / Subject (default: income).
partieNoprotocole, echange... (par défaut le corps de l'acte). / Part of the instrument.
articleYesNuméro d'article : 18, 1er, 28 bis. / Article number.
paragrapheNoNuméro de paragraphe (optionnel). / Paragraph number.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed world). The description goes beyond them by disclosing content caveats: warnings for denounced or non-in-force acts, OCR-derived text, amendments to verify, and the explicit 'Aucune reformulation' guarantee plus corpus snapshot date. This is meaningful disclosure the annotations cannot carry.

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-loaded with the core purpose and content caveats. It is somewhat long because the French and English halves largely duplicate each other, but each sentence carries substantive information rather than filler.

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?

For a read-only lookup with 6 fully documented parameters and no output schema, the description explains what comes back (act title, official PDF, amendment notes, warnings), the data provenance and version, and the licence. Nothing an agent needs in order to call it correctly is missing.

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 description coverage is 100%, so the baseline is 3. The description nevertheless adds value: concrete article formats (18, 1er, 28 bis), the `objet: successions` special case, and the semantics of `paragraphe` as isolating a numbered paragraph, which the schema text only states tersely.

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: 'Texte EXACT d'un article d'une convention fiscale conclue par la France'. It is clearly distinct from the sibling search/get tools, which retrieve treaties or lists rather than a single verbatim article.

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 tells the agent how to invoke it ('Donner `pays` (ou `acte`) et `article`', `objet: successions`, `paragraphe`) but never says when to prefer it over conventions_get, conventions_search or legifrance_article. Usage is implied by the 'one exact article' scope rather than stated.

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 conventionnelA
Read-onlyIdempotent
Inspect

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-13, 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-13, Etalab 2.0 open licence.

NameRequiredDescriptionDefault
acteYesIdentifiant de l'acte, ex. conv-214. / Instrument id.
debutNoPosition de départ dans le texte (pagination par tranches de 40000 caractères ; reprendre la valeur suite.debut). / Start offset for paging.

TDQS

A4.3/5.0
Behavior4/5

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 real behavioural context beyond that: the 40000-character paging model, the resume offset, the returned PDF link, and data provenance/licence. It does not state what happens at the end of the corpus or how to detect completion, which keeps it off a 5.

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?

Purpose, alternative routing and provenance are front-loaded in the first two sentences. The bilingual duplication doubles the byte count, though each language block is internally tight and no sentence is filler within its language.

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?

With no output schema, the description carries the return-value burden and does so adequately: full text, PDF link, and slice-based paging. Minor gap: it never says how the agent knows it has reached the last slice, only that paging exists.

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 both parameters are already documented in the schema, including the 40000-character chunking and the 'suite.debut' resume hint. The description largely restates that chunk size rather than adding new semantics, so the baseline 3 applies.

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+resource ('Texte intégral d'un acte ... par son identifiant acte'), enumerates what counts as an acte (convention, avenant, protocole), and explicitly separates itself from conventions_article (single article) and conventions_search (id source). An agent can route correctly without opening any schema.

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?

Gives explicit when-to-use (full text by id), names the alternative for the adjacent case ('Pour un seul article, préférer conventions_article'), and tells the agent where the required id comes from ('rendu par conventions_search'). That is when/when-not/alternatives all present.

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)A
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
codeYescgi ou lpf.
articleYesNuméro d'article : 150-0 B ter, 757 B, L. 64. / Article number.

TDQS

A4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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)A
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
dateNoDate de valeur AAAA-MM-JJ (défaut : aujourd'hui). / Value date.
nameYesChemin du paramètre (points ou barres obliques). / Parameter path.
historiqueNoNombre de valeurs datées rendues (défaut 5). / Number of dated values.

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

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 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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 7 tool updates
    • First observedbofip_get
    • First observedbofip_search
    • First observedconventions_article
    • First observedconventions_get
    • First observedconventions_search
    • First observedlegifrance_article
    • First observedopenfisca_parameter

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Sourced, 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.
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables read-only querying of official French law — laws, codes, case law, CNIL deliberations and collective agreements — through the Légifrance PISTE API, returning source text with citations and links. It also resolves and verifies legal citations, compares article versions, and searches across multiple legal collections.
    Apache 2.0
  • A
    license
    B
    quality
    F
    maintenance
    Enables 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.
    11
    14
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Point-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.
    10
    9
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources