Skip to main content
Glama
cturkieh

France Data MCP

verifier_site_actif

Read-onlyIdempotent

Verifies active status of a FINESS healthcare establishment by cross-referencing DREES, RPPS, and DINUM, detecting closed sites misreported as active.

Instructions

Vérifie si un établissement de santé FINESS est encore en activité en croisant FINESS DREES ↔ RPPS (pivot SIRET) ↔ DINUM (liste complète des SIRET du SIREN, incluant les fermés). Détecte les SIRET fermés encore listés actifs côté FINESS (DREES a 1-2 mois de retard).

V0.7.0 — breaking : pivot SIRET élargi. Avant V0.7.0, on ne testait que les SIRET RPPS-déclarés (= SIRET du siège employeur typiquement) → on ratait le SIRET physique fermé du site. Désormais, le resolver récupère TOUS les SIRET du SIREN via DINUM puis fuzzy-matche leur adresse contre FINESS — ce qui capte aussi les SIRET fermés invisibles côté RPPS.

Logique :

  1. Lookup FINESS pour récupérer raison sociale + adresse + téléphone DREES

  2. Récupération des SIRET candidats via le resolver (RPPS + DINUM avec scoring d'adresse Dice)

  3. best_match = SIRET avec le meilleur score d'adresse ≥ 0.6 (= site physique)

  4. 2 verdicts distincts :

  • verdict_site (actif / ferme / indetermine) : basé sur best_match.actif. C'est le verdict qui compte pour un audit territorial.

  • verdict_groupe (actif / ferme / indetermine) : basé sur l'état admin de l'UL parente (champ actif DINUM). Une UL active peut très bien avoir un site fermé.

Format de retour : objet LookupResult discriminé par found. Quand found: true, le payload contient finess (vue DREES), candidates (liste enrichie tri score), best_match, sirens_explored, verdict_site, verdict_groupe, explication. Quand num_finess est absent de FINESS DREES, le tool retourne {found: false, lookupStatus: 'not_found', message, ...}.

Coût : 1 RPC FINESS + 1 SELECT rpps + N appels DINUM (N = nombre de SIREN distincts, typiquement 1). DINUM gère son propre fallback INSEE V3.11 pour les SIREN diffusion partielle.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
num_finessYesNuméro FINESS exact (9 chiffres).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
foundYes
lookupStatusYes
keyNoClé recherchée (SIREN, num_finess, code INSEE, …).
messageNoExplication actionnable quand `found=false` (cause probable + remédiation).
Behavior5/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds significant behavioral detail: the multi-step process, fuzzy matching logic, version breaking changes, verdict differentiation (site vs. groupe), and cost breakdown. No contradictions with annotations. The description transparently reveals internal behavior beyond annotations.

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?

The description is detailed and well-structured with clear sections (Logique, Format de retour, Coût). It is front-loaded with the main purpose. While slightly verbose with version history and technical details, every part provides value for an AI agent. It earns a 4 for being organized and informative without excessive redundancy.

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?

Given the tool's complexity (multi-step cross-referencing, multiple verdicts, cost details) and the existence of an output schema (implied by the description), the description covers all critical aspects: purpose, methodology, edge cases (not found), return format, and cost. It is sufficiently complete for an AI to invoke correctly.

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?

The input schema has 100% coverage with a description for num_finess (9 digits). The tool description does not add additional parameter semantics beyond the schema; it explains the parameter's role in the overall process but does not provide new constraints or format details. Given high schema coverage, baseline 3 is appropriate.

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?

The description clearly states the tool's purpose: verifying if a FINESS health establishment is active by cross-referencing multiple data sources. It distinguishes from sibling tools by focusing on activity status and combining FINESS, RPPS, and DINUM data. The verb 'Vérifie' and specific resource ('établissement de santé FINESS') make it unambiguous.

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?

The description explains when to use the tool (for territorial audits using verdict_site) and provides the logic and data sources. While it does not explicitly list when not to use it or mention alternatives, the context makes it clear this is the specialized tool for activity checks. The version history and cost details add context for appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/cturkieh/france-data-mcp'

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