Impôts France MCP

Impôts France MCP

Provides 62 French tax calculation tools via MCP, running on Cloudflare Workers with Rust/Wasm and versioned official rules.

Category
Visit Server

README

Impôts France MCP

62 outils MCP fiscaux français, exécutés sur Cloudflare Workers avec un moteur Rust/Wasm et des règles officielles versionnées.

CI License: MIT Données

Projet indépendant conçu et maintenu par Adrien Murillo. Son contrat MCP versionne 62 outils fiscaux, leurs schémas d’entrée et leurs garanties de sortie.

Démarrage rapide

Prérequis : Rust 1.95 avec la cible wasm32-unknown-unknown, Node.js 22 et npm.

npm ci
npm run build
npm test

Pour vérifier le bundle Cloudflare sans déployer :

cd edge
npx wrangler deploy --dry-run --env staging

Ce que le serveur garantit

  • Les 62 noms et schémas d’entrée publics sont testés par snapshot.
  • Les calculs sont exécutés en Rust, compilé en WebAssembly.
  • Chaque résultat contient la version des données, la période, les hypothèses, les avertissements et les sources.
  • Les règles sont figées dans data/*.toml et ne sont jamais collectées automatiquement en production.
  • Cloudflare Access vérifie l’identité et le Worker revalide le JWT Access avec son audience exacte.

Utilisation MCP

En staging, connecter un client Streamable HTTP à :

https://impots-mcp-staging.adrien-murillo.com/mcp

L’endpoint historique de production reste :

https://impots-mcp.adrien-murillo.com/mcp

Managed OAuth ouvre la connexion Cloudflare du seul compte autorisé. Les callbacks localhost et 127.0.0.1 sont permis ; les callbacks distants doivent être inscrits explicitement dans OpenTofu.

Exemple de demande après connexion :

Utilise Impôts France pour estimer l’impôt 2026 d’un célibataire avec 50 000 € de revenu net imposable.

Le résultat reste une simulation. Pour une déclaration ou une décision patrimoniale, l’avis DGFiP et les textes officiels prévalent.

Architecture

flowchart LR
    Client["Client MCP"] -->|"OAuth 2.0 + PKCE"| Access["Cloudflare Access\nManaged OAuth"]
    Access -->|"JWT Access"| Edge["Worker TypeScript\nStreamable HTTP"]
    Edge -->|"invoke(tool, arguments)"| Wasm["fiscal-wasm"]
    Wasm --> Core["fiscal-core\nRust pur"]
    Core --> Registry["Registres TOML\nsourcés et datés"]

L’adaptateur TypeScript ne contient aucune logique fiscale. Il valide les schémas JSON, expose MCP et transmet les appels au module Wasm.

Structure

crates/      moteur Rust et façade Wasm
data/        règles fiscales versionnées
contracts/   manifeste versionné des 62 outils
edge/        adaptateur Cloudflare Worker
infra/       Access, OAuth et état R2 OpenTofu
docs/        audit fiscal et documentation

Développement

Contrôles locaux

cargo fmt --all --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
npm run check -w edge

Les tests vérifient notamment les limites de tranches, la monotonie de l’IR, le plafonnement du quotient familial, les annotations MCP, les 62 routes et la péremption à 183 jours.

Modifier une règle fiscale

  1. Ajouter ou modifier la règle dans le registre TOML du domaine.
  2. Renseigner son année de revenus, son année de déclaration, ses dates d’effet, sa date de contrôle, son URL officielle et son fondement légal.
  3. Mettre à jour l’audit fiscal.
  4. Ajouter les tests de limites et documenter toute évolution du contrat MCP.
  5. Faire relire la pull request avant publication.

Une mise à jour ne doit jamais recopier silencieusement une valeur d’une année précédente.

Déploiement et retour arrière

Le workflow Deploy est manuel et sépare les environnements GitHub staging et production. staging doit être validé avant production. Les secrets Cloudflare ne résident ni dans Git ni dans l’état local. La branche main est protégée et toute évolution passe par une pull request validée par la CI.

Une configuration Cloudflare de secours est conservée pendant 30 jours après la bascule. La procédure de retour arrière consiste à retirer le domaine personnalisé du Worker, restaurer le routage de secours depuis le compte Cloudflare, puis vérifier /mcp avec MCP Inspector. Les identifiants d’infrastructure ne sont pas publiés dans ce dépôt.

La configuration OpenTofu détaillée se trouve dans infra/README.md.

Identité et licence

Impôts France MCP est développé par Adrien Murillo (contact@adrien-murillo.com) et distribué sous licence MIT. Les sources fiscales restent la propriété de leurs producteurs publics respectifs. Les dépendances tierces conservent leurs licences respectives.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured