France Territorial Intelligence Mcp — Health · Business · Geo

Created By
cturkieh21 days ago
Overview

france-data-mcp

MCP TypeScript qui croise et réconcilie 6 référentiels publics français (INSEE SIRENE, FINESS DREES, RPPS / Annuaire Santé ANS, Annuaire Santé Ameli, IGN, DINUM). Détecte les SIRET fermés invisibles côté DREES, distingue site vs groupe, expose la fraîcheur de chaque source.

License: MIT CI MCP npm smithery badge

🇫🇷 Documentation principale en français. English version →


Installation

Option 1 — URL distante (claude.ai, Claude Code, Cursor)

https://france-data-mcp.vercel.app/mcp

ClientConfig
claude.aiSettings → Connectors → Add custom connector → URL ci-dessus
Claude Code~/.claude.jsonmcpServers{ "type": "http", "url": "..." }
Cursor~/.cursor/mcp.json → même configuration

Option 2 — Wrapper npm stdio (Claude Desktop natif, autres clients)

{
  "mcpServers": {
    "france-data": {
      "command": "npx",
      "args": ["-y", "france-data-mcp"]
    }
  }
}

Le wrapper forwarde stdio → endpoint HTTPS distant. Aucune DB locale à provisionner. Override possible : FRANCE_DATA_MCP_URL=https://mon-miroir.example/mcp.

Détails par client + self-hosting : docs/installation-claude.md.


Pourquoi ce projet

Les APIs officielles (INSEE, FINESS DREES, RPPS ANS, Annuaire Ameli, IGN, DINUM) existent mais sont éclatées, sous-documentées et pleines de pièges : rate limits, formats CSV propriétaires, latence DREES de 1-2 mois, diffusion partielle INSEE, mappings inconsistants Ameli ↔ RPPS.

france-data-mcp est le premier MCP qui croise factuellement ces sources pour répondre à des questions concrètes — cartographie d'offre de soins, étude de marché territoriale, journalisme local, civic-tech.


Périmètre — 6 sources publiques croisées

  • 🗺️ Territoire : geo.api.gouv.fr (DINUM, communes), IGN Géoplateforme (géocodage)
  • 🏥 Santé : FINESS / DREES (~95 K établissements), Annuaire Santé Ameli (~462 K libéraux), RPPS / ANS (~2,2 M PS actifs)
  • 🏢 Entreprises : DINUM Recherche Entreprises + INSEE SIRENE V3.11

Cross-source : réconciliation FINESS ↔ RPPS ↔ SIRENE pour détecter SIRET fermés, rebrandings, raisons sociales périmées.


Outils MCP (25 tools)

🗺️ Territoire (4)

autocomplete_commune · get_commune_by_code · geocode_adresse · reverse_geocode

🏢 Entreprises (3)

entreprises_in_radius · entreprise_by_siren (+ fallback INSEE SIRENE V3.11) · etablissement_by_siret

🏥 Établissements santé FINESS (3)

etablissements_finess_in_radius · etablissements_finess_by_categorie · etablissement_by_finess

24 familles couvrant ~92 % du volume. Source DREES rafraîchie bimestriellement.

👨‍⚕️ Professionnels libéraux Ameli (4)

professionnels_in_radius · professionnels_par_specialite_dept · lister_specialites_ameli · lister_types_ps_ameli

Libéraux conventionnés uniquement (~462 K).

🩺 Tous les PS — RPPS / Annuaire Santé ANS (5)

professionnels_rpps_in_radius · professionnels_rpps_par_dept · rpps_dans_etablissement · rpps_search_by_name (fuzzy) · professionnel_by_rpps (+ fallback FHIR ANS)

~2,2 M PS actifs (libéraux + salariés privés + hospitaliers contractuels + agents publics). Par défaut : Civils uniquement.

🔀 Croisement multi-source (6)

Réconciliation FINESS ↔ RPPS ↔ SIRENE — faits bruts sans interprétation métier.

data_freshness · verifier_site_actif · compare_raison_sociale_finess_vs_rpps · historique_etablissement · reconcilier_finess_sirene · finess_sirene_coverage_in_radius


Garde-fous publics

  • Rate limit : 60 req/min par IP sur tools/call (les méthodes meta restent libres). Au-delà : erreur -32000 avec data.retryAfterSeconds.
  • Logs JSON structurés par requête : ts, method, tool, ip_hash (SHA-256), duration_ms, outcome. Aucune IP en clair, aucun argument tool persisté (RGPD-friendly).
  • Sentry error monitoring sur les 500 internes (tags mcp.method, mcp.tool, mcp.outcome).

Usage intensif : throttler côté client ou self-héberger.


État du projet

V0.8.2 — en production. Référencé sur le registry MCP Anthropic officiel (io.github.cturkieh/france-data-mcp), mcp.so et glama.ai. 30 tools avec annotations MCP + outputSchema (spec 2025-06-18, structuredContent émis), ~95 K FINESS, ~462 K Ameli, ~2,2 M RPPS actifs. 642 tests verts (19 integration tests Supabase requièrent des creds locaux), TypeScript strict, Biome clean. Crons GitHub Actions actifs (FINESS bimensuel, Ameli hebdo, RPPS mensuel). Sentry monitoring live (filtre bot-noise actif). V0.8.2 perf : lister_specialites_medicales passe de 22 s (timeout 57014) à <100 ms via matview pré-agrégée rpps_savoir_faire_stats (~250 rows vs scan 495 K).

V0.8 ajoute 5 tools croisant INSEE Melodi (population de référence) avec RPPS et FINESS : population_par_commune, population_par_departement, densite_professionnels_sante (méthodo DREES, ratio médecins/100k hab. + comparaison nationale), densite_etablissements_sante (labos / pharmacies / EHPAD / hôpitaux par famille FINESS), lister_specialites_medicales (découverte des codes savoir_faire RPPS pour le LLM).

Voir CHANGELOG pour l'historique.

Roadmap

  • V0.8.1 — Densité commune (RPC count_rpps_by_commune via code postal), panorama_sante_territoire agrégateur, polish docs/installation-claude.md (drift count tools)
  • V0.9+ — Support DOM-COM widening (code_insee CHAR(5)), INSEE IRIS (démographie infra-communale)

Contribuer

Ouvrir une issue pour discuter avant d'envoyer une PR.


Licence

MIT — voir LICENSE. Les données restent sous leurs licences respectives :

SourceLicenceMention obligatoire
FINESSLicence Ouverte (Etalab)« Source : FINESS, ANS/DREES »
Annuaire Santé AmeliArt. L.1461-2 CSP« Source : Annuaire santé Ameli, Assurance Maladie »
DINUM Recherche EntreprisesLicence Ouverte« Source : Annuaire des Entreprises, DINUM »
INSEELicence Ouverte« Source : Insee »
IGN GéoplateformeLicence Ouverte« © IGN/Géoplateforme »
geo.api.gouv.frLicence Ouverte« Source : geo.api.gouv.fr (Etalab) »

Remerciements

DINUM, Etalab, Atlasanté, ANS, INSEE, IGN pour la qualité de leurs APIs. data.gouv.fr pour l'animation civic-tech. Anthropic pour le protocole MCP.

Server Config

{
  "mcpServers": {
    "france-data": {
      "command": "npx",
      "args": [
        "-y",
        "france-data-mcp"
      ]
    }
  }
}
Project Info
Created At
21 days ago
Updated At
21 days ago
Author Name
cturkieh
Star
-
Language
-
License
-
Category
Tags

Recommend Servers

View All
Tavily Mcp
@tavily-ai

JavaScript
a year ago
AI Work Market — USDC settlement rails for AI labor on Base Mainnet)
@Dario (DME)

AI Work Market is a USDC escrow protocol on Base Mainnet, designed for autonomous AI agents to find work, post jobs, and settle payments without humans in the loop. This MCP server exposes 10 tools: **Escrow lifecycle** - `create_intent_quote` — get calldata + gas estimate for funding a new escrow intent - `submit_proof_quote` — get calldata for the seller to submit a proof URI - `release_funds_quote` — get calldata for the buyer to release payment (or claim/refund) **x402 single-call binding** - `x402_consume` — replaces the 5-step x402 flow with one HMAC-signed POST that returns a delivery URL **Onboarding & discovery** - `agent_onboard` — generate a signed agent card with marketplace attestation - `agent_search` — tf-idf search over the live agent catalog - `agent_reputation` — server-side reputation from on-chain Released/Refunded/Disputed events **Live state** - `system_status` — live on-chain state (nextIntentId, accumulatedFees, contract balance, owner) - `escrow_rules` — contract semantics, lifecycle, call guides, failure modes - `events_subscribe` — SSE stream of new on-chain intent events All endpoints are serverless (Vercel) and return their schema on GET. No browser, no wallet UI required for an agent to integrate. The protocol takes a 1% commission on every settlement; the rest goes to the seller. The full AgentCard is at `/.well-known/agent-card.json` (A2A-compatible). The OpenAPI 3.0.3 spec is at `/.well-known/openapi.json` with `components.securitySchemes` (none, hmacX402). `robots.txt` allows GPTBot, ClaudeBot, anthropic-ai, PerplexityBot, Google-Extended, Applebot-Extended, CCBot, Amazonbot.

33 minutes ago