# Service Public France (remote · mcp-service-public.nhaultcoeur.workers.dev)

French public services: tax, property, admin, education, healthcare, security, risks, legal texts

- Trust score: 57/100 (low)
- Change this week: +2
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp-service-public.nhaultcoeur.workers.dev`: 57/100 (this document), [markdown](https://verifymcp.io/servers/onenicolas-mcp-service-public/mcp-service-public.md), [page](https://verifymcp.io/servers/onenicolas-mcp-service-public/mcp-service-public)

## Channel facts

- Endpoint: `https://mcp-service-public.nhaultcoeur.workers.dev/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.14.8`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 38 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS not yet verified: we couldn't determine whether a plaintext access path exists.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 61/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 8890 tokens (~233/item across 38 items; 38 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 40/100
  - Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http onenicolas-mcp-service-public https://mcp-service-public.nhaultcoeur.workers.dev/mcp
```

### Codex

```toml
[mcp_servers.onenicolas-mcp-service-public]
url = "https://mcp-service-public.nhaultcoeur.workers.dev/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "onenicolas-mcp-service-public": {
      "type": "remote",
      "url": "https://mcp-service-public.nhaultcoeur.workers.dev/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add onenicolas-mcp-service-public --url https://mcp-service-public.nhaultcoeur.workers.dev/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  onenicolas-mcp-service-public:
    url: "https://mcp-service-public.nhaultcoeur.workers.dev/mcp"
```

### Other

```json
{
  "mcpServers": {
    "onenicolas-mcp-service-public": {
      "type": "http",
      "url": "https://mcp-service-public.nhaultcoeur.workers.dev/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 57, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 56, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 55, −1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 56, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 56, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 55, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 54)

First indexed and scored.

## MCP tools (38)

### `rechercher` (~245 tokens)

Recherche unifiee intelligente : dispatche vers fiches DILA, BOFiP, DVF, fiscalite locale, simulation TF/frais notaire/IR, zonage ABC/Pinel, conventions collectives, etablissements scolaires, resultats lycees, Parcoursup, acces aux soins, insertion pro, securite, risques naturels, codes juridiques, jurisprudence, textes legaux, JO, marches publics, annonces BODACC, aide sociale CAF, budget commune/EPCI, subventions, SIRENE, offres emploi France Travail, prix carburants, formations CPF (MonCompteFormation). A utiliser en premier si la source n'est pas evidente.

Input parameters:

- `limit` (number): Nombre de résultats (1-10, défaut 5)
- `query` (string, required): Question ou termes de recherche en langage naturel (ex: 'taxe foncière à Lyon', 'renouveler passeport', 'prix immobilier à Bondy', 'frais de notaire 250000 euros', 'zone Pinel Bordeaux', 'convention…

### `rechercher_fiche` (~105 tokens)

Recherche dans les fiches pratiques de service-public.fr (droits, démarches administratives). Utilise la recherche plein texte.

Input parameters:

- `audience` (string): Public cible
- `limit` (number): Nombre de résultats (1-20, défaut 10)
- `query` (string, required): Termes de recherche (ex: 'passeport', 'allocation logement')
- `theme` (string): Filtrer par thème (ex: 'Papiers', 'Logement')

### `lire_fiche` (~58 tokens)

Lit le contenu complet d'une fiche pratique par son identifiant (ex: F14929 pour le passeport).

Input parameters:

- `fiche_id` (string, required): Identifiant de la fiche (ex: F14929, N360, R42946)

### `rechercher_service_local` (~126 tokens)

Recherche un service public local (mairie, préfecture, CAF, CPAM, France Services...) via l'Annuaire de l'administration.

Input parameters:

- `code_insee` (string): Code INSEE de la commune
- `code_postal` (string): Code postal (ex: '75001')
- `commune` (string): Nom de la commune
- `limit` (number): Nombre de résultats (1-20, défaut 5)
- `type_organisme` (string): Type de service (ex: 'mairie', 'prefecture', 'caf')

### `naviguer_themes` (~55 tokens)

Parcourt l'arborescence thématique de service-public.fr. Sans paramètre, liste les thèmes principaux.

Input parameters:

- `theme_id` (string): ID du thème à explorer (ex: N19810, N360)

### `consulter_fiscalite_locale` (~256 tokens)

Consulte les taux d'imposition locale d'une commune (taxe foncière, taxe d'habitation, TEOM, CFE). Accepte un nom de commune, un code INSEE ou un code postal. Sans exercice précisé, affiche l'évolution sur 4 ans avec tendance. Données REI de la DGFiP via data.economie.gouv.fr.

Input parameters:

- `code_insee` (string): Code INSEE de la commune (ex: '75056', '69123')
- `code_postal` (string): Code postal (ex: '93140', '75001'). Résout automatiquement vers le(s) code(s) INSEE.
- `commune` (string): Nom de la commune (ex: 'PARIS', 'LYON')
- `communes` (array): Liste de communes à comparer (2-5 noms en majuscules, ex: ['PARIS', 'LYON', 'MARSEILLE']). Active le mode comparaison côte à côte.
- `exercice` (string): Année fiscale (ex: '2024'). Sans exercice : affiche l'évolution sur toutes les années disponibles.
- `type` (string): Type de fiscalité (défaut: particuliers)

### `rechercher_doctrine_fiscale` (~124 tokens)

Recherche dans la doctrine fiscale officielle (BOFiP - Bulletin Officiel des Finances Publiques). Couvre IR, TVA, IS, plus-values, etc.

Input parameters:

- `limit` (number): Nombre de résultats (1-10, défaut 5)
- `query` (string, required): Termes de recherche (ex: 'plus-values immobilières', 'crédit impôt recherche')
- `serie` (string): Filtrer par série BOFiP (ex: 'IR', 'TVA', 'IS', 'RFPI', 'BIC')

### `consulter_transactions_immobilieres` (~257 tokens)

Consulte les transactions immobilières (DVF - Demandes de Valeurs Foncières) d'une commune. Fournit prix médians, prix au m², répartition par type de bien et nombre de pièces. Avec evolution=true, retourne l'historique des prix médians par année (2019-aujourd'hui) avec tendance. Données DGFiP via data.gouv.fr. Hors Alsace, Moselle et Mayotte.

Input parameters:

- `annee` (number): Filtrer sur une année spécifique (ex: 2024). Par défaut : 2 dernières années.
- `code_insee` (string): Code INSEE de la commune (ex: '93010')
- `code_postal` (string): Code postal (ex: '93140'). Résout automatiquement vers le(s) code(s) INSEE.
- `commune` (string): Nom de la commune (ex: 'Bondy', 'Lyon')
- `evolution` (boolean): Si true, retourne l'évolution des prix médians année par année (2019-aujourd'hui) avec tendance hausse/baisse/stable. Ignore le paramètre annee.
- `type_local` (string): Filtrer par type de bien

### `simuler_taxe_fonciere` (~327 tokens)

Estime la taxe foncière annuelle d'un bien immobilier. Combine les vrais taux communaux (REI DGFiP) avec une estimation de la valeur locative cadastrale ajustée au marché local via les transactions DVF. Accepte un nom de commune, un code INSEE ou un code postal. Décompose les taux par collectivité (commune, EPCI, syndicat, GEMAPI, TSE, TASA). Détecte l'exonération construction neuve 2 ans (art. 1383 CGI). Simule le scénario d'abattement résidence principale si voté par la commune. Résultat indicatif uniquement.

Input parameters:

- `annee_construction` (number): Année de construction (optionnel, influence le coefficient d'entretien et détecte l'exonération 2 ans)
- `code_insee` (string): Code INSEE de la commune (ex: '69123')
- `code_postal` (string): Code postal (ex: '33000'). Résout automatiquement vers le code INSEE.
- `commune` (string): Nom de la commune (ex: 'Lyon', 'Bordeaux')
- `nombre_pieces` (number): Nombre de pièces principales (optionnel, estimé si absent)
- `residence_principale` (boolean): S'il s'agit de la résidence principale (optionnel, affiche les exonérations possibles)
- `surface` (number, required): Surface habitable en m² (ex: 75)
- `type_bien` (string, required): Type de bien immobilier

### `simuler_frais_notaire` (~224 tokens)

Estime les frais de notaire (frais d'acquisition) pour un achat immobilier. Calcule les droits de mutation (DMTO), émoluments du notaire (barème dégressif réglementé), contribution de sécurité immobilière et débours. Distingue ancien (7-8 %) et neuf (2-3 %). Si le département est précisé, applique le taux DMTO exact (normal 5,81 % ou majoré 6,32 % selon le département, LF 2025). Sans département, affiche les deux hypothèses. Accepte un code département, un code postal ou un numéro de département.

Input parameters:

- `departement` (string): Département (code 2-3 chiffres, code postal 5 chiffres, ou '2A'/'2B' pour la Corse). Permet d'appliquer le taux DMTO exact.
- `prix` (number, required): Prix d'achat du bien en euros (ex: 250000)
- `type` (string, required): Type de bien : ancien ou neuf

### `consulter_zonage_immobilier` (~175 tokens)

Consulte la zone ABC d'une commune (A bis, A, B1, B2, C) utilisée pour les dispositifs immobiliers (Pinel, PTZ, plafonds loyers). Accepte un nom de commune, un code INSEE ou un code postal. Retourne la zone, les plafonds de loyer, les plafonds de ressources et l'éligibilité aux dispositifs. Source : Ministère de la Transition écologique via data.gouv.fr.

Input parameters:

- `code_insee` (string): Code INSEE de la commune (ex: '69123')
- `code_postal` (string): Code postal (ex: '33000'). Résout automatiquement vers le code INSEE.
- `commune` (string): Nom de la commune (ex: 'Lyon', 'Bordeaux')

### `comparer_communes` (~177 tokens)

Compare 2 à 5 communes sur un tableau croisé : population et densité, fiscalité locale (taux TFB, TEOM), prix immobiliers (DVF médian/m² appart et maison), zonage ABC, services publics locaux, établissements scolaires, scores 6ème, sécurité départementale (cambriolages, vols, violences), risques naturels (nombre de risques, arrêtés CatNat), données santé (densité médecins) et intercommunalité. Aide à la décision pour un déménagement ou un investissement. Accepte des noms de communes, codes postaux ou codes INSEE.

Input parameters:

- `communes` (array, required): Liste de 2 à 5 communes à comparer (noms, codes postaux ou codes INSEE). Ex: ['Lyon', 'Bordeaux', 'Nantes']

### `simuler_impot_revenu` (~429 tokens)

Estime l'impot sur le revenu (IR) selon le bareme progressif 2025 (revenus 2024). Calcule le quotient familial, applique le plafonnement, la decote et la contribution exceptionnelle hauts revenus (CEHR). Parametres : revenu net imposable (obligatoire), nombre de parts OU situation familiale + nombre d'enfants. Options : revenus fonciers (micro-foncier 30% abattement ou reel), revenus de capitaux (PFU 30% ou bareme), micro-BIC (abattement 50%), micro-BNC (abattement 34%).

Input parameters:

- `micro_bic` (number): Chiffre d'affaires micro-BIC en euros (abattement 50 %). Optionnel.
- `micro_bnc` (number): Recettes micro-BNC en euros (abattement 34 %). Optionnel.
- `nb_enfants` (number): Nombre d'enfants a charge (optionnel, defaut 0)
- `nb_parts` (number): Nombre de parts fiscales (optionnel, defaut 1). Prioritaire sur situation + nb_enfants.
- `regime_capitaux` (string): Imposition des capitaux (defaut: pfu). PFU = flat tax 30 %, bareme = integration au revenu global.
- `regime_foncier` (string): Regime foncier (defaut: micro). Micro = abattement 30 %, reel = montant net fourni.
- `revenu_net_imposable` (number, required): Revenu net imposable en euros (ex: 42000)
- `revenus_capitaux` (number): Revenus de capitaux mobiliers en euros (dividendes, interets, plus-values). Optionnel.
- `revenus_fonciers` (number): Revenus fonciers bruts en euros (optionnel). Negatif possible en regime reel (deficit foncier).
- `situation` (string): Situation familiale (optionnel, permet le calcul auto des parts)

### `rechercher_convention_collective` (~145 tokens)

Recherche une convention collective nationale par numero IDCC, secteur d'activite ou mot-cle. Source : base KALI (DILA) via data.gouv.fr. Retourne le titre, l'IDCC, l'etat (en vigueur/abrogee), la nature et le lien Legifrance.

Input parameters:

- `idcc` (string): Numero IDCC (ex: '843', '3248')
- `limit` (number): Nombre de resultats (1-20, defaut 10)
- `query` (string): Mot-cle ou secteur d'activite (ex: 'boulangerie', 'metallurgie', 'batiment')

### `rechercher_entreprise` (~149 tokens)

Recherche une entreprise francaise par SIRET, SIREN ou nom. Retourne les informations legales (forme juridique, NAF, effectif, dirigeants, adresse) et la ou les convention(s) collective(s) applicable(s) avec detail KALI. Source : API Recherche d'entreprises (DINUM) + KALI (DILA).

Input parameters:

- `nom` (string): Nom ou raison sociale de l'entreprise (ex: 'OCTO Technology')
- `siren` (string): Numero SIREN (9 chiffres, ex: '418166096')
- `siret` (string): Numero SIRET (14 chiffres, ex: '41816609600069')

### `rechercher_etablissement_scolaire` (~253 tokens)

Recherche un etablissement scolaire (ecole, college, lycee) par commune, code postal ou nom. Retourne les informations detaillees : adresse, contact, voies d'enseignement, services (restauration, internat, ULIS), sections (europeenne, sport, arts), education prioritaire. Source : Annuaire de l'education (data.education.gouv.fr), 68 000+ etablissements.

Input parameters:

- `code_insee` (string): Code INSEE de la commune
- `code_postal` (string): Code postal (ex: '69001', '93140')
- `commune` (string): Nom de la commune (ex: 'Lyon', 'Bondy')
- `limit` (number): Nombre de resultats (1-20, defaut 10)
- `nom` (string): Nom de l'etablissement (recherche partielle, ex: 'Lacassagne')
- `statut` (string): Statut : public ou prive
- `type` (string): Type d'etablissement : 'ecole', 'college', 'lycee', 'maternelle', 'elementaire', 'primaire', 'erea'

### `consulter_resultats_lycee` (~271 tokens)

Consulte les indicateurs de valeur ajoutee (IVAL) d'un lycee : taux de reussite au bac, valeur ajoutee, taux d'acces 2nde-bac, taux de mentions. Couvre les lycees generaux/technologiques et professionnels, publics et prives sous contrat. Donnees DEPP session 2012-2024. Source : data.education.gouv.fr.

Input parameters:

- `code_insee` (string): Code INSEE de la commune
- `code_postal` (string): Code postal (ex: '69001')
- `commune` (string): Nom de la commune (ex: 'Lyon', 'Bordeaux')
- `evolution` (boolean): Si true, retourne l'historique multi-annees (2012-2024) avec tendance, au lieu de la derniere session uniquement.
- `limit` (number): Nombre de resultats (1-20, defaut 10)
- `nom_lycee` (string): Nom du lycee (recherche partielle, ex: 'Lacassagne', 'Guimard')
- `type` (string): Voie : 'gt' (general/techno), 'pro' (professionnel), 'tous' (defaut)

### `consulter_evaluations_nationales` (~203 tokens)

Consulte les resultats des evaluations nationales (6eme et CE2) par departement. Compare les scores departementaux au niveau national, avec repartition par groupes de niveau et tendance annuelle. Accepte un nom de commune, un code postal ou un code departement. Source : DEPP via data.education.gouv.fr.

Input parameters:

- `annee` (number): Annee scolaire (ex: 2025). Par defaut : derniere disponible.
- `code_departement` (string): Code departement direct (ex: '93', '75', '2A', '971')
- `code_postal` (string): Code postal (ex: '93140') — resout le departement automatiquement
- `commune` (string): Nom de la commune (ex: 'Bondy', 'Lyon') — resout le departement automatiquement
- `niveau` (string): Niveau scolaire (defaut: 'tous')

### `consulter_parcoursup` (~264 tokens)

Recherche des formations sur Parcoursup par mot-cle, ville, departement ou filiere. Retourne les informations detaillees : etablissement, selectivite, taux d'acces, capacite, nombre de voeux, profil des admis (bac, mentions, boursiers), lien fiche Parcoursup. Donnees session 2025. Source : Ministere de l'Enseignement superieur via data.education.gouv.fr.

Input parameters:

- `code_postal` (string): Code postal (ex: '69001'). Resout automatiquement vers la ville.
- `departement` (string): Code departement (ex: '69', '93', '2A')
- `filiere` (string): Type de filiere : 'BUT', 'BTS', 'Licence', 'CPGE', 'PASS', 'LAS', 'IFSI', 'ingenieur'
- `limit` (number): Nombre de resultats (1-20, defaut 10)
- `recherche` (string): Mot-cle ou intitule de formation (ex: 'informatique', 'BTS comptabilite', 'licence droit')
- `ville` (string): Ville de l'etablissement (ex: 'Lyon', 'Paris')

### `consulter_parcoursup_stats` (~265 tokens)

Statistiques de selectivite Parcoursup par formation : taux d'acces, rang dernier appele, profil admis par bac (general/techno/pro), mentions, boursiers. Triees par selectivite croissante. Source : Parcoursup 2025 via data.education.gouv.fr.

Input parameters:

- `code_postal` (string): Code postal pour filtrer par ville (ex: '69001')
- `filiere` (string): Filiere pour filtrer (ex: 'BTS', 'BUT', 'Licence', 'CPGE')
- `formation` (string, required): Intitule de la formation (ex: 'BTS comptabilite', 'licence informatique', 'CPGE scientifique')
- `limit` (number): Nombre de resultats (1-20, defaut 10)
- `selective_uniquement` (boolean): Si true : affiche uniquement les formations selectives (taux d'acces < 100 %)
- `tri` (string): Tri : 'selectivite' (plus selectif d'abord, defaut) ou 'voeux' (plus demande d'abord)
- `ville` (string): Ville de l'etablissement pour filtrer (ex: 'Lyon', 'Paris')

### `consulter_acces_soins` (~184 tokens)

Consulte les donnees d'acces aux soins par departement : effectifs et densite des medecins generalistes et specialistes liberaux, patientele medecin traitant, primo-installations, installations en zones sous-dotees, file active. Compare avec les moyennes nationales. Accepte un nom de commune, un code postal ou un code departement. Source : Assurance Maladie (CNAM) via data.ameli.fr.

Input parameters:

- `code_departement` (string): Code departement direct (ex: '93', '75', '2A', '971')
- `code_postal` (string): Code postal (ex: '93140') — resout le departement automatiquement
- `commune` (string): Nom de la commune (ex: 'Bondy', 'Lyon') — resout le departement automatiquement

### `consulter_insertion_professionnelle` (~249 tokens)

Consulte les indicateurs d'insertion professionnelle des lycees professionnels (InserJeunes). Taux d'emploi a 6/12/18/24 mois apres la sortie, taux de poursuite d'etudes, valeur ajoutee. Detail par formation (CAP, Bac Pro, BTS, Mention complementaire). Recherche par nom d'etablissement, ville, departement ou code UAI. Source : DEPP/DARES via data.education.gouv.fr.

Input parameters:

- `code_departement` (string): Code departement (ex: '69', '93', '2A')
- `limit` (number): Nombre de resultats (1-10, defaut 5)
- `recherche` (string): Nom d'etablissement ou mot-cle (ex: 'coiffure', 'automobile')
- `type_diplome` (string): Filtrer par type de diplome (optionnel)
- `uai` (string): Code UAI de l'etablissement (ex: '0691723Y'). Retourne une fiche detaillee avec formations.
- `ville` (string): Ville de l'etablissement (ex: 'Lyon', 'Marseille')

### `consulter_securite` (~195 tokens)

Consulte les statistiques de securite et delinquance par departement : cambriolages, vols, violences, homicides, escroqueries, stupefiants. Fournit le nombre de faits, le taux pour 1000 habitants et l'evolution annuelle. Accepte un nom de commune, un code postal ou un code departement. Source : SSMSI, Ministere de l'Interieur via data.gouv.fr.

Input parameters:

- `annee` (number): Annee specifique (optionnel, defaut: derniere disponible)
- `code_departement` (string): Code departement (ex: '75', '93', '2A')
- `code_postal` (string): Code postal (ex: '93140') — resout le departement automatiquement
- `commune` (string): Nom de la commune (ex: 'Lyon') — resout le departement automatiquement

### `consulter_risques_naturels` (~164 tokens)

Consulte les risques naturels et technologiques d'une commune : inondation, seisme, mouvement de terrain, risque industriel, feu de foret, etc. Liste les risques identifies et les arretes de catastrophe naturelle (CatNat) avec dates. Accepte un nom de commune, un code postal ou un code INSEE. Source : Georisques (BRGM/MTE) via georisques.gouv.fr.

Input parameters:

- `code_insee` (string): Code INSEE de la commune (ex: '30189'). Prioritaire si fourni.
- `code_postal` (string): Code postal (ex: '30000')
- `commune` (string): Nom de la commune (ex: 'Nimes', 'Vaison-la-Romaine')

### `rechercher_texte_legal` (~164 tokens)

Recherche dans les textes legislatifs et reglementaires francais (lois, decrets, arretes, ordonnances) par mots-cles. Retourne les textes correspondants avec leur nature, date et lien Legifrance. Source : API Legifrance officielle (PISTE/DILA).

Input parameters:

- `champ` (string): Champ de recherche (defaut: ALL)
- `limit` (number): Nombre de resultats (1-20, defaut 5)
- `recherche` (string, required): Mots-cles de recherche (ex: 'protection donnees personnelles', 'teletravail conges')
- `type_recherche` (string): Type de recherche (defaut: TOUS_LES_MOTS_DANS_UN_CHAMP)

### `rechercher_code_juridique` (~190 tokens)

Recherche d'articles dans les codes de loi francais (Code civil, Code du travail, Code penal, Code de commerce, etc.). Retourne les articles avec leur numero, contenu et lien Legifrance. Source : API Legifrance officielle (PISTE/DILA).

Input parameters:

- `champ` (string): Champ de recherche (defaut: ALL)
- `code` (string, required): Nom complet du code juridique (ex: 'Code civil', 'Code du travail', 'Code penal', 'Code de commerce')
- `limit` (number): Nombre de resultats (1-20, defaut 5)
- `recherche` (string, required): Termes de recherche (ex: 'contrat de travail', 'legitime defense', 'clause abusive')
- `type_recherche` (string): Type de recherche (defaut: TOUS_LES_MOTS_DANS_UN_CHAMP)

### `consulter_journal_officiel` (~213 tokens)

Recherche dans le Journal Officiel de la Republique Francaise (JORF). Retourne les textes publies au JO avec leur titre, nature, date, NOR et lien Legifrance. Filtrage par type (LOI/DECRET/ARRETE/ORDONNANCE...) et plage de dates. Source : API PISTE officielle DILA/Legifrance.

Input parameters:

- `date_debut` (string): Date de debut au format YYYY-MM-DD (ex: '2024-01-01')
- `date_fin` (string): Date de fin au format YYYY-MM-DD (ex: '2024-12-31')
- `limit` (number): Nombre de resultats (1-20, defaut 5)
- `recherche` (string, required): Termes de recherche (ex: 'teletravail', 'protection donnees', 'loi finances 2025')
- `type_texte` (string): Filtrer par nature du texte (optionnel)

### `consulter_aide_sociale` (~233 tokens)

Statistiques CAF par commune ou departement : nombre de foyers allocataires et personnes couvertes pour RSA, aides au logement (APL/ALS/ALF), AAH, allocations familiales, prime d'activite et autres prestations. Donnees agregees anonymisees depuis 2020. Source : CNAF — data.caf.fr.

Input parameters:

- `annee` (number): Annee specifique (ex: 2022). Par defaut : derniere annee disponible.
- `code_departement` (string): Code departement (ex: '93', '75', '2A')
- `code_insee` (string): Code INSEE de la commune (ex: '93010')
- `code_postal` (string): Code postal (ex: '93140')
- `commune` (string): Nom de la commune (ex: 'Lyon', 'Bondy')
- `prestation` (string): Code de prestation a filtrer : RSA, AL, AAH, AF, PA, CF, ASF, CMG... ou 'toutes' (defaut)

### `rechercher_marche_public` (~254 tokens)

Recherche d'avis de marches publics (appels d'offres, attributions, MAPA, DSP) dans le BOAMP (Bulletin officiel des annonces des marches publics). Filtrage par mots-cles, type d'avis, departement, acheteur ou periode. Source : API BOAMP — DILA.

Input parameters:

- `acheteur` (string): Nom de l'acheteur public (ex: 'Commune de Lyon', 'Departement du Rhone')
- `date_debut` (string): Date de debut au format YYYY-MM-DD
- `date_fin` (string): Date de fin au format YYYY-MM-DD
- `departement` (string): Code departement (ex: '75', '93', '69')
- `limit` (number): Nombre de resultats (1-20, defaut 10)
- `recherche` (string): Mots-cles sur l'objet du marche (ex: 'travaux voirie', 'fourniture informatique', 'nettoyage locaux')
- `type_avis` (string): Type d'avis : AAC=Appel a la concurrence, APC=Attribution, MAPA=Procedure adaptee, DSP=Delegation service public

### `consulter_budget_epci` (~140 tokens)

Consulte les comptes financiers d'un EPCI (metropole, CA, CC, CU) : recettes, depenses, dette. Donnees 2017-2024. Source : OFGL.

Input parameters:

- `annee` (number): Annee du budget (2017-2024). Par defaut : derniere disponible.
- `code_siren` (string): Code SIREN de l'EPCI (9 chiffres)
- `commune` (string): Commune membre (l'EPCI sera resolu automatiquement)
- `epci` (string): Nom de l'EPCI (ex: 'Bordeaux Metropole', 'Rennes Metropole')

### `consulter_budget_commune` (~138 tokens)

Consulte les comptes financiers d'une commune : recettes, depenses, epargne brute, encours de dette, investissements. Donnees 2017-2024. Source : OFGL via data.ofgl.fr.

Input parameters:

- `annee` (number): Annee du budget (2017-2024). Par defaut : derniere disponible.
- `code_insee` (string): Code INSEE de la commune (ex: '69123')
- `code_postal` (string): Code postal (ex: '69001')
- `commune` (string): Nom de la commune (ex: 'Lyon', 'Bordeaux')

### `rechercher_subvention` (~180 tokens)

Recherche des subventions versees par les collectivites locales et organismes publics. Filtrage par beneficiaire, attribuant, objet, montant minimum et annee. Source : data.gouv.fr (obligation legale > 23 000 EUR).

Input parameters:

- `annee` (number): Annee de la convention (ex: 2023)
- `attribuant` (string): Nom de l'organisme attribuant (commune, departement, metropole...)
- `beneficiaire` (string): Nom du beneficiaire (association, organisme, entreprise)
- `limit` (number): Nombre de resultats (1-50, defaut 10)
- `montant_min` (number): Montant minimum en euros (ex: 10000)
- `objet` (string): Objet ou descriptif de la subvention (recherche partielle)

### `consulter_sirene_historique` (~211 tokens)

Recherche des entreprises par secteur d'activite (code NAF/APE) et zone geographique. Retourne les informations SIRENE : nom, etat (actif/cesse), dates de creation et fermeture. Source : API Recherche Entreprises (DINUM).

Input parameters:

- `code_departement` (string): Code departement (ex: '69', '75')
- `code_naf` (string): Code NAF/APE (ex: '10.71C' boulangerie, '56.10A' restauration, '62.01Z' informatique)
- `code_postal` (string): Code postal (ex: '69001')
- `commune` (string): Commune (ex: 'Lyon', 'Paris')
- `etat` (string): Filtrer par etat : actif (A) ou cesse (C). Par defaut : tous.
- `limit` (number): Nombre de resultats (1-25, defaut 10)

### `rechercher_annonce_legale` (~232 tokens)

Recherche d'annonces legales dans le BODACC (Bulletin officiel des annonces civiles et commerciales) : ventes et cessions, immatriculations, radiations, modifications, procedures collectives, depots de comptes. Filtrage par entreprise, SIREN, type d'annonce, departement ou periode. Source : API BODACC — DILA.

Input parameters:

- `date_debut` (string): Date de debut au format YYYY-MM-DD
- `date_fin` (string): Date de fin au format YYYY-MM-DD
- `departement` (string): Code departement (ex: '75', '69')
- `limit` (number): Nombre de resultats (1-20, defaut 10)
- `nom_entreprise` (string): Nom exact ou partiel de l'entreprise
- `recherche` (string): Recherche par nom d'entreprise ou ville (ex: 'SARL Martin', 'Bordeaux')
- `siren` (string): Numero SIREN de l'entreprise (9 chiffres)
- `type_annonce` (string): Type d'annonce a filtrer

### `rechercher_offre_emploi` (~302 tokens)

Recherche d'offres d'emploi actives en temps reel via France Travail. Filtrage par mots-cles, commune, code postal, departement, type de contrat (CDI/CDD/MIS...) et qualification (cadre/non-cadre). Necessite les secrets FT_CLIENT_ID / FT_CLIENT_SECRET (inscription gratuite sur francetravail.io). Source : API Offres d'emploi v2 — France Travail.

Input parameters:

- `code_postal` (string): Code postal (ex: '69001'). Resout en code commune.
- `commune` (string): Nom de la commune (ex: 'Lyon', 'Paris'). Resout automatiquement en code commune.
- `departement` (string): Code departement (ex: '75', '69', '93'). Alternative a commune/code_postal.
- `limit` (number): Nombre de resultats (1-30, defaut 10)
- `mots_cles` (string): Mots-cles sur l'intitule ou la description du poste (ex: 'developpeur TypeScript', 'infirmier', 'comptable')
- `qualification` (string): Niveau de qualification (optionnel)
- `type_contrat` (string): Type de contrat : CDI, CDD, MIS (interim), SAI (saisonnier), LIB (liberale), REP (reprise), CUI (aide), PRO (professionnalisation)

### `consulter_prix_carburant` (~197 tokens)

Prix des carburants en temps reel pour un departement ou une commune. Retourne les stations triees par prix croissant avec Gazole, SP95, SP98, E10, E85, GPLc et indicateur automate 24/24. Source : data.economie.gouv.fr (flux instantane, MAJ toutes les 10 min).

Input parameters:

- `carburant` (string): Type de carburant a filtrer et trier (optionnel — tous les prix affiches si absent)
- `code_postal` (string): Code postal (ex: '69001')
- `commune` (string): Nom de la commune (ex: 'Lyon', 'Bordeaux')
- `departement` (string): Numero ou nom du departement (ex: '69', 'Rhone', '13')
- `limit` (number): Nombre de stations (1-20, defaut 10)

### `rechercher_formation` (~253 tokens)

Recherche des formations professionnelles eligibles au CPF (MonCompteFormation). Filtrage par mot-cle, departement, code ROME, niveau de sortie ou modalite a distance. Retourne l'organisme, la certification, le niveau, les codes ROME, les frais TTC et le nombre de sessions actives. Source : data.gouv.fr — catalogue national MCF.

Input parameters:

- `a_distance` (boolean): Si true, retourne uniquement les formations avec au moins une session a distance
- `code_rome` (string): Code ROME (ex: 'M1805', 'E1206'). Recherche dans les 5 codes ROME de la formation.
- `departement` (string): Code departement (ex: '69', '75', '93')
- `limit` (number): Nombre de resultats (1-50, defaut 10)
- `niveau` (string): Niveau de sortie de la formation (ex: 'bac+2', 'licence', 'master', 'CAP')
- `recherche` (string): Mot-cle dans l'intitule de la formation (ex: 'comptabilite', 'developpeur web', 'bilan de competences')

### `rechercher_jurisprudence` (~162 tokens)

Recherche de jurisprudence judiciaire francaise : arrets de la Cour de cassation et cours d'appel. Retourne les decisions avec juridiction, formation, solution et lien Legifrance. Source : API Legifrance officielle (PISTE/DILA).

Input parameters:

- `juridiction` (string): Filtrer par juridiction (defaut: Toutes)
- `limit` (number): Nombre de resultats (1-20, defaut 5)
- `publie_bulletin` (boolean): Filtrer les arrets publies au bulletin (Cour de cassation uniquement). Optionnel.
- `recherche` (string, required): Termes de recherche (ex: 'licenciement abusif', 'prejudice moral', 'clause non-concurrence')

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/onenicolas-mcp-service-public/mcp-service-public#diagnostics

## Score history

- 2026-08-03: 57
- 2026-08-02: 56
- 2026-08-01: 56
- 2026-07-31: 55
- 2026-07-30: 56
- 2026-07-29: 56
- 2026-07-28: 56
- 2026-07-27: 55
- 2026-07-26: 54

## Links

- Remote endpoint: https://mcp-service-public.nhaultcoeur.workers.dev/mcp
- Repository: https://github.com/OneNicolas/mcp-service-public
- Website: https://mcp-service-public.nhaultcoeur.workers.dev/
- Changelog RSS feed: https://verifymcp.io/servers/onenicolas-mcp-service-public/mcp-service-public/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/onenicolas-mcp-service-public/mcp-service-public/changelog.json
- HTML version of this page: https://verifymcp.io/servers/onenicolas-mcp-service-public/mcp-service-public
