Skip to main content
Glama
OneNicolas

mcp-service-public

by OneNicolas

mcp-service-public

Version Cloudflare Workers License Tools Tests

MCP (Model Context Protocol) server for French public data. Provides access to service-public.fr practical sheets, local taxation, DVF property transactions, BOFiP tax doctrine, ABC zoning, collective agreements, company search, school directory, high school results (IVAL), national assessments (6th grade/CE2), Parcoursup training courses, healthcare access (data.ameli.fr), professional integration (InserJeunes), security/delinquency statistics (SSMSI), natural risks (Georisques), Legifrance legal texts (laws, decrees, legal codes, case law), the Official Journal (JORF), CAF social assistance statistics (RSA/APL/AAH) and simulators (property tax, notary fees, income tax).

Installation

Hosted server — no installation required. Connect the following URL to your MCP client:

https://mcp-service-public.nhaultcoeur.workers.dev/mcp

Claude.ai (web / mobile)

  1. Open Settings (gear icon)

  2. Section Integrations > MCP

  3. Click Add integration

  4. Paste the URL above

  5. The 23 tools appear automatically

Claude Desktop

Add in claude_desktop_config.json:

{
  "mcpServers": {
    "service-public": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp-service-public.nhaultcoeur.workers.dev/mcp"]
    }
  }
}

File location:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Restart Claude Desktop after modification.

VS Code / Cursor

Create .vscode/mcp.json at the root of your project:

{
  "servers": {
    "service-public": {
      "type": "sse",
      "url": "https://mcp-service-public.nhaultcoeur.workers.dev/mcp"
    }
  }
}

Other MCP clients

Any MCP Streamable HTTP compatible client can connect using the URL above. Refer to your client's documentation for configuration.

Verification

After connection, test with a simple request:

Recherche : renouveler passeport

If the 38 tools are loaded, the server is ready.

Related MCP server: datagouv-mcp

The 38 MCP tools (v1.14.8)

#

Tool

Source

Description

1

rechercher

Unified Dispatch

Automatically routes to the correct source based on the query (32 categories)

2

rechercher_fiche

DILA / service-public.fr

Full-text search in ~5,500 practical fact sheets

3

lire_fiche

DILA / service-public.fr

Full reading of a fact sheet by identifier (F14929, N360...)

4

rechercher_service_local

API Annuaire

Local public services (town hall, prefecture, CAF...)

5

naviguer_themes

DILA / service-public.fr

Navigation in the thematic tree

6

consulter_fiscalite_locale

DGFiP REI

Local tax rates by municipality (TFB, TEOM, CFE...)

7

rechercher_doctrine_fiscale

BOFiP

8,983 articles of current tax doctrine

8

consulter_transactions_immobilieres

DVF / data.gouv.fr

Median prices, price/m2, breakdown by property type, multi-year trends

9

simuler_taxe_fonciere

REI + DVF

Property tax estimate = estimated VLC x 50% x actual REI rate

10

simuler_frais_notaire

Regulated Scale

DMTO + degressive fees + CSI + disbursements

11

consulter_zonage_immobilier

data.gouv.fr

Zone ABC (Pinel, PTZ, rent/resource caps)

12

comparer_communes

REI + DVF + zonage + Education + SSMSI + Georisques

Cross-table of 2 to 5 municipalities (population, taxation, real estate, education, health, safety, natural risks)

13

simuler_impot_revenu

Bareme IR 2025

Progressive income tax, family quotient, tax reduction, CEHR, rental/capital/BIC/BNC income

14

rechercher_convention_collective

KALI / data.gouv.fr

Collective agreements by IDCC or keyword

15

rechercher_entreprise

DINUM + KALI

Company profile by SIRET/SIREN/name + applicable agreements

16

rechercher_etablissement_scolaire

data.education.gouv.fr

Schools, middle schools, high schools by municipality (68,000+ establishments)

17

consulter_resultats_lycee

DEPP / IVAL

Bac pass rate, added value, access from 2nde to bac, honors

18

consulter_evaluations_nationales

DEPP / data.education.gouv.fr

6th grade + CE2 scores by department, IPS, level groups, trend

19

consulter_parcoursup

MESR / data.education.gouv.fr

Parcoursup programs by keyword, city, department, field (14,000+ programs, selectivity, admitted profile)

20

consulter_acces_soins

CNAM / data.ameli.fr

Access to care by department: physician numbers/density, GP patient load, underserved areas

21

consulter_insertion_professionnelle

DEPP-DARES / data.education.gouv.fr

Professional integration InserJeunes: employment rate 6/12/24 months, further studies, added value by training

22

consulter_securite

SSMSI / data.gouv.fr

Departmental security/delinquency statistics: burglaries, thefts, violence, rate per 1,000 inhabitants

23

consulter_risques_naturels

BRGM-MTE / georisques.gouv.fr

Natural and technological risks by municipality + CatNat orders

24

rechercher_texte_legal

DILA / API PISTE Legifrance

Legislative and regulatory texts (laws, decrees, orders, ordinances)

25

rechercher_code_juridique

DILA / API PISTE Legifrance

Articles in legal codes (Civil Code, Labor Code, Penal Code, Commercial Code...)

26

rechercher_jurisprudence

DILA / API PISTE Legifrance

Judicial case law (Court of Cassation, Courts of Appeal)

27

consulter_journal_officiel

DILA / API PISTE Legifrance

Search in the Official Journal (JORF): laws, decrees, orders, ordinances — filter by type and date range

28

consulter_aide_sociale

CNAF / data.caf.fr

CAF beneficiary statistics by municipality or department: RSA, APL/ALS/ALF, AAH, family allowances, activity bonus...

29

rechercher_marche_public

DILA / boamp-datadila.opendatasoft.com

BOAMP public procurement notices: calls for tenders, awards, MAPA, DSP — filter by type/department/buyer/dates

30

rechercher_annonce_legale

DILA / bodacc-datadila.opendatasoft.com

BODACC legal announcements: registrations, cancellations, transfers, collective proceedings — filter by SIREN/name/type/department

31

consulter_budget_epci

OFGL / data.ofgl.fr

Budget of EPCIs (metropolises, CA, CC, CU): revenue/expenditure, savings, debt, euros/inhabitant — 2017-2024

32

consulter_budget_commune

data.gouv.fr Tabular / OFGL

Municipal initial budget: total revenue/expenditure, gross/net savings, outstanding debt, euros/inhabitant

33

rechercher_subvention

data.gouv.fr Tabular

Local authority subsidies >23,000 EUR — filter by beneficiary/grantor/purpose/amount/year

34

consulter_sirene_historique

API Recherche Entreprises DINUM

SIRENE companies by NAF + area — active/ceased status, creation and closure dates

35

rechercher_offre_emploi

France Travail OAuth2

Active job offers — filter by keywords, municipality, department, contract type, qualification

36

consulter_prix_carburant

data.economie.gouv.fr

Real-time fuel prices by department or municipality — stations sorted by ascending price, Diesel/SP95/SP98/E10/E85/LPGc, 24/7 automated (updated every 10 minutes)

37

rechercher_formation

data.gouv.fr Tabular / Caisse des Depots

Eligible CPF training courses from the MonCompteFormation catalog — filter by keyword, department, ROME code, level, distance learning

38

consulter_parcoursup_stats

MESR / data.education.gouv.fr

Parcoursup selectivity statistics by program: access rate, last called rank, admitted profile bac G/T/Pro, honors, scholarship holders

Call Examples

Unified Search (Automatic Dispatch)

{ "name": "rechercher", "arguments": { "query": "prix immobilier a Lyon" } }
{ "name": "rechercher", "arguments": { "query": "renouveler passeport" } }
{ "name": "rechercher", "arguments": { "query": "93140 taxe fonciere" } }
{ "name": "rechercher", "arguments": { "query": "SIRET 41816609600069" } }
{ "name": "rechercher_entreprise", "arguments": { "siret": "41816609600069" } }
{ "name": "rechercher_entreprise", "arguments": { "nom": "OCTO Technology" } }

Simulate Property Tax

{ "name": "simuler_taxe_fonciere", "arguments": { "commune": "Lyon", "surface": 75, "type_bien": "Appartement" } }

Simulate Notary Fees

{ "name": "simuler_frais_notaire", "arguments": { "prix": 250000, "type": "ancien", "departement": "75" } }

Simulate Income Tax

{ "name": "simuler_impot_revenu", "arguments": { "revenu_net_imposable": 42000 } }
{ "name": "simuler_impot_revenu", "arguments": { "revenu_net_imposable": 80000, "situation": "marie", "nb_enfants": 2 } }
{ "name": "simuler_impot_revenu", "arguments": { "revenu_net_imposable": 50000, "revenus_fonciers": 12000, "regime_foncier": "micro" } }

Collective Agreements

{ "name": "rechercher_convention_collective", "arguments": { "query": "boulangerie" } }
{ "name": "rechercher_convention_collective", "arguments": { "idcc": "3248" } }

Educational Establishments

{ "name": "rechercher_etablissement_scolaire", "arguments": { "commune": "Lyon", "type": "lycee" } }
{ "name": "rechercher_etablissement_scolaire", "arguments": { "code_postal": "93140", "statut": "public" } }
{ "name": "rechercher_etablissement_scolaire", "arguments": { "nom": "Lacassagne" } }

High School Results (IVAL)

{ "name": "consulter_resultats_lycee", "arguments": { "commune": "Lyon" } }
{ "name": "consulter_resultats_lycee", "arguments": { "nom_lycee": "Lacassagne", "type": "gt" } }

National Assessments (6th Grade / CE2)

{ "name": "consulter_evaluations_nationales", "arguments": { "code_departement": "93" } }
{ "name": "consulter_evaluations_nationales", "arguments": { "commune": "Lyon", "niveau": "6eme" } }
{ "name": "consulter_evaluations_nationales", "arguments": { "code_postal": "93140", "niveau": "CE2" } }

Parcoursup Programs

{ "name": "consulter_parcoursup", "arguments": { "recherche": "informatique", "ville": "Lyon" } }
{ "name": "consulter_parcoursup", "arguments": { "filiere": "BTS", "recherche": "comptabilite" } }
{ "name": "consulter_parcoursup", "arguments": { "departement": "93", "filiere": "Licence" } }

Parcoursup Selectivity Statistics

{ "name": "consulter_parcoursup_stats", "arguments": { "formation": "BTS comptabilite" } }
{ "name": "consulter_parcoursup_stats", "arguments": { "formation": "licence informatique", "ville": "Lyon" } }
{ "name": "consulter_parcoursup_stats", "arguments": { "formation": "CPGE scientifique", "filiere": "CPGE", "limit": 5 } }

Access to Care

{ "name": "consulter_acces_soins", "arguments": { "commune": "Bondy" } }
{ "name": "consulter_acces_soins", "arguments": { "code_departement": "93" } }

Professional Integration (InserJeunes)

{ "name": "consulter_insertion_professionnelle", "arguments": { "ville": "Lyon", "limit": 5 } }
{ "name": "consulter_insertion_professionnelle", "arguments": { "uai": "0691723Y" } }
{ "name": "consulter_insertion_professionnelle", "arguments": { "recherche": "coiffure", "code_departement": "69" } }

Security and Delinquency

{ "name": "consulter_securite", "arguments": { "code_departement": "75" } }
{ "name": "consulter_securite", "arguments": { "commune": "Lyon" } }

Natural Risks

{ "name": "consulter_risques_naturels", "arguments": { "commune": "Nimes" } }
{ "name": "consulter_risques_naturels", "arguments": { "code_insee": "75056" } }
{ "name": "rechercher_texte_legal", "arguments": { "recherche": "protection donnees personnelles" } }
{ "name": "rechercher_texte_legal", "arguments": { "recherche": "teletravail", "champ": "TITLE" } }
{ "name": "rechercher_code_juridique", "arguments": { "recherche": "contrat de travail", "code": "Code du travail" } }
{ "name": "rechercher_code_juridique", "arguments": { "recherche": "legitime defense", "code": "Code penal" } }
{ "name": "rechercher_code_juridique", "arguments": { "recherche": "1242", "code": "Code civil", "champ": "NUM_ARTICLE" } }

Case Law (Legifrance)

{ "name": "rechercher_jurisprudence", "arguments": { "recherche": "licenciement abusif" } }
{ "name": "rechercher_jurisprudence", "arguments": { "recherche": "clause abusive", "juridiction": "Cour de cassation", "publie_bulletin": true } }
{ "name": "rechercher_jurisprudence", "arguments": { "recherche": "prejudice moral", "juridiction": "Cours d'appel" } }

Official Journal (JORF)

{ "name": "consulter_journal_officiel", "arguments": { "recherche": "teletravail" } }
{ "name": "consulter_journal_officiel", "arguments": { "recherche": "loi finances", "type_texte": "LOI", "date_debut": "2024-01-01", "date_fin": "2024-12-31" } }
{ "name": "consulter_journal_officiel", "arguments": { "recherche": "protection donnees", "type_texte": "DECRET", "limit": 10 } }

Social Assistance — CAF Statistics

{ "name": "consulter_aide_sociale", "arguments": { "commune": "Bondy" } }
{ "name": "consulter_aide_sociale", "arguments": { "code_departement": "93" } }
{ "name": "consulter_aide_sociale", "arguments": { "code_postal": "93140", "prestation": "RSA" } }

Public Procurement (BOAMP)

{ "name": "rechercher_marche_public", "arguments": { "recherche": "travaux voirie", "departement": "35" } }
{ "name": "rechercher_marche_public", "arguments": { "type_avis": "AAC", "departement": "75" } }
{ "name": "rechercher_marche_public", "arguments": { "acheteur": "Departement du Rhone", "type_avis": "APC" } }
{ "name": "rechercher_annonce_legale", "arguments": { "siren": "123456789" } }
{ "name": "rechercher_annonce_legale", "arguments": { "nom_entreprise": "SARL Martin" } }
{ "name": "rechercher_annonce_legale", "arguments": { "type_annonce": "procedure_collective", "departement": "69" } }

Consult ABC Zoning

{ "name": "consulter_zonage_immobilier", "arguments": { "commune": "Bordeaux" } }

Compare Municipalities

{ "name": "comparer_communes", "arguments": { "communes": ["Lyon", "Bordeaux", "Nantes"] } }

Local Taxation

{ "name": "consulter_fiscalite_locale", "arguments": { "code_postal": "93140" } }
{ "name": "consulter_fiscalite_locale", "arguments": { "communes": ["PARIS", "LYON", "MARSEILLE"] } }

Real Estate Transactions (DVF)

{ "name": "consulter_transactions_immobilieres", "arguments": { "commune": "Bondy", "type_local": "Appartement" } }
{ "name": "consulter_transactions_immobilieres", "arguments": { "commune": "Lyon", "evolution": true } }

How It Works

Property Tax Simulator

VLC estimee = Surface ponderee x Tarif ajuste x Coef. entretien
Base imposable = VLC x 50 %
TF estimee = Base imposable x Taux global TFB (REI)
  • Weighted area: living area + comfort equivalents

  • Adjusted rate: national VLC rate x local DVF price ratio / national price

  • Maintenance coefficient: according to property age (0.90 to 1.15)

  • TFB rate: actual rates voted by local authorities (source REI DGFiP)

Notary fees simulator

Frais = DMTO + Emoluments TTC + CSI + Debours
  • DMTO: 5.81% (old, standard rate) or 6.32% (increased rate 2025); 0.71% (new)

  • Emoluments: regulated degressive scale (3.87% -> 0.799%) + 20% VAT

  • CSI: 0.10% of price (minimum 15 EUR)

  • Debours: ~1,200 EUR (estimate)

Income tax simulator

Quotient familial = Revenu net imposable / Nombre de parts
IR brut = Bareme progressif applique au QF x Nombre de parts
IR net = IR brut - Decote (si applicable) + CEHR (si > 250k/500k)

2025 tax brackets (2024 income): 0% / 11% / 30% / 41% / 45%

Supported supplementary income: rental (micro/actual), investment income (PFU/bracket), micro-BIC (50%), micro-BNC (34%).

Search via the Recherche d'entreprises API (DINUM) by SIRET, SIREN or name. Returns legal form, NAF code, workforce, directors, address, and link to KALI for applicable collective agreements.

Schools

Proxy to the Explore v2.1 API of data.education.gouv.fr (National Education Directory, 68,000+ establishments). Filters: municipality, postal code, type (school/middle school/high school), status (public/private), name. Returns address, contact, teaching tracks, services (catering, boarding, ULIS, SEGPA), sections (European, International, Sports, Arts).

High school results (IVAL)

Proxy to the IVAL GT and Pro datasets from DEPP (data.education.gouv.fr). Parallel GT + Pro queries, sorted by decreasing added value. Indicators: bac success rate, added value, access rate from 2nde to bac, honors rate, enrollment by grade level. Sessions 2012-2024.

Architecture

Cloudflare Workers (plan payant)
+-- Transport : Streamable HTTP (POST /mcp)
+-- D1 SQLite (fiches DILA)
|   +-- fiches (~5 500 fiches pratiques)
|   +-- fiches_fts (index FTS5, tokenize unicode61)
|   +-- themes (304 themes hierarchiques)
|   +-- sync_log (historique des synchronisations)
|   +-- tool_stats (statistiques d'usage)
+-- Proxy API (temps reel, cache + retry)
|   +-- data.economie.gouv.fr -> REI fiscalite locale + BOFiP
|   +-- data.gouv.fr -> DVF transactions + Zonage ABC + KALI conventions
|   +-- data.education.gouv.fr -> Annuaire etablissements + IVAL lycees + Evaluations nationales + Parcoursup + InserJeunes
|   +-- georisques.gouv.fr -> Risques naturels GASPAR + Arretes CatNat
|   +-- data.ameli.fr -> Acces aux soins (effectifs, densite, patientele MT)
|   +-- api.piste.gouv.fr -> Legifrance (textes legaux, codes juridiques, jurisprudence, JORF)
|   +-- data.caf.fr -> Statistiques CAF allocataires (RSA, APL, AAH, AF, prime d'activite)
|   +-- boamp-datadila.opendatasoft.com -> Marches publics BOAMP (appels d'offres, attributions, MAPA, DSP)
|   +-- bodacc-datadila.opendatasoft.com -> Annonces legales BODACC (immatriculations, radiations, cessions, procedures collectives)
|   +-- geo.api.gouv.fr -> Resolution communes
|   +-- recherche-entreprises.api.gouv.fr -> Fiche entreprise
|   +-- API Annuaire -> services publics locaux
+-- Cron (0 6 * * *) -> sync quotidienne DILA

Data sources

Source

Type

Data

DILA (lecomarquage)

Daily ZIP -> D1

Practical sheets, themes

API Annuaire

Real-time proxy

Local public services

data.economie.gouv.fr

Real-time proxy

Local taxation (REI), BOFiP doctrine

data.gouv.fr

Real-time proxy

DVF transactions, Zonage ABC, KALI collective agreements, SSMSI security/delinquency

geo.api.gouv.fr

Real-time proxy

Municipality resolution (postal code/INSEE/name)

recherche-entreprises.api.gouv.fr

Real-time proxy

Companies (SIRET/SIREN/name, directors, IDCC)

data.education.gouv.fr

Real-time proxy

School directory, IVAL high schools, national assessments 6th grade/CE2, Parcoursup training, professional integration InserJeunes

georisques.gouv.fr

Real-time proxy (API v1 GASPAR)

Natural and technological risks by municipality, natural disaster orders (CatNat)

data.ameli.fr

Real-time proxy

Access to care: physician counts/density, MT patient base, first-time installations, underserved areas

api.piste.gouv.fr (DILA)

Real-time proxy (OAuth2)

Legifrance: legal texts (LODA), legal codes (CODE), case law (JURI/CAPP), Official Journal (JORF)

data.caf.fr (CNAF)

Real-time proxy

CAF beneficiary statistics by municipality/department: RSA, APL/ALS/ALF, AAH, AF, activity bonus...

boamp-datadila.opendatasoft.com (DILA)

Real-time proxy (Opendatasoft v2.1)

Public procurement BOAMP: calls for tenders, awards, MAPA, DSP — daily update

bodacc-datadila.opendatasoft.com (DILA)

Real-time proxy (Opendatasoft v2.1)

Legal announcements BODACC: registrations, removals, transfers, collective proceedings

data.economie.gouv.fr

Real-time proxy (Opendatasoft v2.1)

Instant fuel prices: service stations, Diesel/SP95/SP98/E10/E85/LPGc prices, updated every 10 minutes

Endpoints

Method

Path

Description

POST

/mcp

MCP endpoint (JSON-RPC)

GET

/health

Service health, version, tools, last error

GET

/

Service description

GET

/openapi.json

OpenAPI 3.1 specification (public, dynamically generated)

GET

/admin/dashboard

HTML dashboard with statistics (auth required)

GET

/admin/dashboard/api

Dashboard JSON API (auth required)

POST

/admin/sync/full

Full DILA sync (auth required)

GET

/admin/sync

Status of last syncs (auth required)

Development

npm install
npm run dev          # Serveur local
npx vitest run       # Tests unitaires (~600 tests)
npm run typecheck    # Verification TypeScript (0 erreurs)
npm run deploy       # Deploiement Cloudflare

Technical stack

  • TypeScript / Cloudflare Workers

  • D1 SQLite + FTS5

  • Vitest (unit tests)

  • fflate (ZIP decompression)

  • fast-xml-parser (XML DILA parsing)

  • APIs: Annuaire, data.economie.gouv.fr, data.gouv.fr, geo.api.gouv.fr, recherche-entreprises.api.gouv.fr

License

MIT

Contribution

  1. Fork the repo

  2. Create a branch (git checkout -b feature/mon-outil)

  3. Follow the pattern: 1 file = 1 tool in src/tools/

  4. Add import + definition + case in src/index.ts

  5. Write tests in src/tools/__tests__/

  6. Push to main -> auto-deploy

A
license - permissive license
-
quality - not tested
F
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    An MCP server that enables interaction with Datagouv APIs, primarily allowing users to search for up-to-date information about companies registered in France.
    11
  • A
    license
    A
    quality
    A
    maintenance
    An MCP server that connects AI chatbots directly to data.gouv.fr, France’s national open data platform. It allows users to search, explore, and analyze thousands of public datasets simply by asking questions in natural language.
    10
    1,579
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    MCP server for exploring French public open data via APIs like data.gouv.fr, geo.api.gouv.fr, INSEE Sirene, and Radio France.

View all related MCP servers

Related MCP Connectors

  • French public-data MCP: cross-ref health, demographics, business, geo & real-estate.

  • MCP server for French (BOAMP) + EU (TED) public procurement data via TenderAPI.

  • France Economy & Finance Open Data (data.economie.gouv.fr) — OpenDataSoft MCP.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/OneNicolas/mcp-service-public'

If you have feedback or need assistance with the MCP directory API, please join our Discord server