133,525 tools. Last updated 2026-05-25 17:48
"Configuration d'un compte professionnel sur les réseaux sociaux" matching MCP tools:
- Recherche de professionnels de santé libéraux conventionnés dans un rayon géographique. Précision géo HYBRIDE depuis le géocodage BAN (Chantier C) : ~77 % des PS sont géolocalisés à l'adresse précise (rue/bâtiment, `distance_km` exacte au m près), ~23 % restent au centroïde commune (~3 km, repli pour adresses non géocodables — DROM, Monaco, CEDEX, lieux-dits). Lire `geo_precision` PAR résultat — ne pas présumer une précision uniforme. Codes type_ps Ameli présents en base (3) : '1' médecins, '2' auxiliaires médicaux (fourre-tout : IDE, kinés, sages-femmes, podologues, orthophonistes, orthoptistes, IPA), '5' chirurgiens-dentistes. Pour cibler une profession précise (ex: IDE seuls, kinés seuls, podologues seuls), passer par `specialite_codes` plutôt que `type_ps_codes` qui ratisse plus large. Liste exhaustive des codes spécialité disponibles via le tool `lister_specialites_ameli`. Multi-sites : par défaut un PS exerçant sur N adresses apparaît N fois — utiliser `dedupe_by_ps=true` pour regrouper par praticien et lister les sites en sous-objet. Distance retournée en km vol d'oiseau (haversine PostGIS) — pour distance routière, croiser avec un service externe (OSRM, ORS). Chaque PS géolocalisé porte `geo_precision` ∈ {`"adresse"`, `"centroide_commune"`} : `"adresse"` = coords BAN précises, `distance_km` exacte, classement individuel fiable ; `"centroide_commune"` = ~3 km, `distance_km` IDENTIQUE pour tous les PS d'une même commune (non discriminante intra-commune — filtre de zone uniquement, pas de classement/choix d'un PS individuel). **Param `precise_only`** (défaut false) : à true, exclut les PS au centroïde commune et ne renvoie que les ~77 % géocodés à l'adresse BAN (`distance_km` exacte) — recommandé pour les rayons courts (<3 km) et le classement intra-commune. PÉRIMÈTRE : libéraux conventionnés UNIQUEMENT. HORS PÉRIMÈTRE : médecins exclusivement hospitaliers/salariés, biologistes médicaux salariés en LBM, anatomopathologistes hospitaliers, médecins du travail, médecine légale. Pour effectifs tous statuts, voir Annuaire Santé ANS (RPPS, esante.gouv.fr) — non couvert par ce serveur. Source : Annuaire santé Ameli (Assurance Maladie), MAJ hebdomadaire. Réutilisation soumise à l'art. L.1461-2 CSP — citer la source et la date de sync.Connector
- Vue 360 d'un établissement de santé en 1 appel (V0.10). Pendant naturel de `panorama_sante_territoire` côté **site** : agrège en parallèle (a) identification FINESS DREES (raison sociale, adresse, téléphone), (b) statut administratif SIRENE via le resolver SIRET (verdicts site + groupe, best_match, SIREN explorés, dinum_errors, explication LLM-friendly), (c) professionnels rattachés via num_finess (sample borné + flag `truncated` si le site a plus de PS — PAS un count total), (d) historique INSEE (timeline périodes administratives par SIRET candidat). Remplace 3 appels MCP individuels (`verifier_site_actif` + `rpps_dans_etablissement` + `historique_etablissement`) par 1 seul. Utile pour : prospection (qualifier un site avant outreach), audit territorial (cross-check rapide d'un FINESS suspect), enrichissement CRM en batch. **Format de retour** : objet `LookupResult`. Quand `found: true`, payload avec 4 sections (finess, statut_site, professionnels, historique). La section `historique` peut être `available: false` quand le FINESS existe mais qu'aucun SIRET candidat n'a été identifié (RPPS vide + DINUM 0 match) — dans ce cas le `message` reprend celui de `historique_etablissement`. Quand `num_finess` est absent de FINESS DREES, retourne `{found: false, lookupStatus: 'not_found', message}`. Coût : 3 sous-appels parallèles. Cache PostgreSQL absorbe la duplication FINESS-RPC ; le pivot RPPS→DINUM est exécuté en double (verifier + historique partagent la cascade), surcoût p95 ≤ 600 ms — acceptable pour un agrégateur. Pour les besoins ciblés (juste le verdict, juste l'historique), préférer les tools individuels. Payload lourd (~7K tokens) : passer `historique_detail: false` pour un retour allégé (résumé au lieu des timelines SIRENE complètes) en usage batch. Alias acceptés : `numFiness`/`finess`/`id` → `num_finess`.Connector
- Panorama santé d'une commune française en 1 appel (V0.9). Agrège en parallèle : population (INSEE Melodi), densités médecins + infirmiers + pharmaciens avec comparaison nationale (méthodo DREES), et nombre d'établissements FINESS par famille (default ["labo","pharmacie","ehpad","mco","msp_cpts"]). Remplace 7-10 appels MCP individuels par 1 seul. Ne renvoie AUCUNE interprétation métier (pas de qualification automatique 'désert médical') — le caller LLM applique sa grille. V0.19.0 : accepte `nom_commune` (string) comme alternative à `code_insee`. `departement` (V0.19) = hint resolver UNIQUEMENT (panorama ne calcule pas par dept ; un `departement` seul lève une erreur explicite). **Granularité mixte** : les densités professionnels et la population sont calculées au niveau **commune** ; le décompte FINESS est agrégé au niveau **département** dérivé du code INSEE (limitation V0.9 — pas de RPC count_finess_by_commune encore). Le champ `niveauEtablissements` du résultat indique `"departement"` (succès), `"indisponible"` (dept indérivable, ex code DOM tronqué) — utiliser cette information pour ne pas confondre ratios commune et dept. Paris/Marseille/Lyon NON supporté : le panorama par commune dépend de la densité par commune, indisponible pour ces villes (INSEE n'expose la population qu'à la commune entière, les praticiens RPPS aux arrondissements). Un code PLM (commune-mère 75056 ou arrondissement) lève une RangeError. Pour ces villes, interroger les tools individuels au niveau `code_dept` (75/69/13). Alias acceptés : `codeInsee`/`insee`/`code` → `code_insee`. Sources : RPPS / Annuaire Santé ANS (mensuel), FINESS DREES (bimensuel), INSEE Melodi (PMUN 2023).Connector
- Recherche des Centres de Santé (CDS) dans un rayon géographique (PostGIS ST_DWithin). Source : Annuaire santé Ameli, Assurance Maladie (mention obligatoire L.1461-2 CSP — sync hebdomadaire CNAM). Différenciateur métier vs `etablissements_finess_in_radius` filtré famille=124 : expose **carte_vitale**, **APCV**, **spécialités exercées sur place** (Annexe A nomenclature CNAM, ~70 codes). CDS = structures de soins ambulatoires non lucratives encadrées L.6323-1 CSP (associations, mutuelles, communes, hôpitaux). Volume ~3K en France. Filtres : - `specialite_codes` : array Annexe A (ex: ['01'] médecine générale, ['53'] dentaire). Match any-of — retourne les CDS qui exercent AU MOINS UNE des spécialités demandées. - `accepte_carte_vitale` : true / false / omis. Quasi-totalité accepte CV en pratique → filtre surtout utile en `false` pour audits. - `type_etab_codes` : ['124'] CDS standard, ['125'] CDS dentaire (deprecated CNAM, en voie d'extinction). Coords = centroïde commune (~3 km moyenne) — pour précision adresse, pivoter via `etab_finess` retourné avec `etablissement_by_finess`. PAS d'horaires/tarifs/secteur 1/2 (retirés du nouvel annuaire CNAM post-2025). Alias acceptés : `radius`/`radius_meters` → `radius_km`, `latitude`/`longitude` → `lat`/`lon`.Connector
- Free, no-quota health probe. Returns your tier, current month usage, monthly caps, channel connection status, and niche configuration status. Use this from your agent on every cold start.Connector
- Récupère le détail d'un Centre de Santé (CDS) par son numéro FINESS. Différenciateur métier vs `etablissement_by_finess` : expose **carte_vitale**, **APCV**, et **spécialités exercées sur place** (Annexe A CNAM). Retourne un `LookupResult` discriminé par `found`. `found: true` → payload CDS complet (raison sociale, accepte_carte_vitale/apcv, specialites.codes/libelles alignés, type_etab 124/125, adresse, coords centroïde commune, telephone). `found: false` → `{found: false, key, lookupStatus: 'not_found', message}` quand le numéro FINESS pointe vers une structure non-CDS (hôpital, EHPAD, labo) ou un CDS très récent (CNAM latence ~1 sem). Source : Annuaire santé Ameli, Assurance Maladie (sync hebdomadaire CNAM, mention obligatoire L.1461-2 CSP). Pour les structures non-CDS, utiliser `etablissement_by_finess`. Alias acceptés : `numFiness`/`finess`/`etab_finess` → `num_finess`.Connector
Matching MCP Servers
- AlicenseAqualityCmaintenanceA tool that helps manage and synchronize MCP server configurations across different AI assistant clients (Cline, Roo Code, WindSurf, Claude), automating the process of retrieving, listing, adding, and removing server configurations from client configuration files.Last updated6151MIT
- AlicenseAqualityCmaintenanceEnables safe management of MCP server configuration files for AWS Q Developer and Claude Desktop, including adding, updating, removing servers, automatic backups, and validation.Last updated7MIT
Matching MCP Connectors
Snapshot and restore service for agent state and DID-bound configuration
Official MCP server for UploadKit, the file-uploads platform for developers. Gives Claude Code, Cursor, Windsurf, and Zed first-class knowledge of UploadKit's 40+ open-source React components, Next.js route handler scaffolding, <UploadKitProvider> wiring, BYOS (S3/R2/GCS/B2) configuration, and full-text search across 88+ docs pages. Runs locally via npx — no API key, no telemetry, no config.
- Construit l'URL canonique d'un document à partir de son identifiant. Utile pour vérifier les sources à la main sur le site officiel (Légifrance, Conseil constitutionnel, EUR-Lex, HUDOC, etc.) ou pour inclure un lien cliquable dans un courrier. Identifiants reconnus : - `LEGIARTI*` → Légifrance article (passer `legitext` du texte parent pour distinguer code (/codes/) vs loi non codifiée (/loda/) - `LEGITEXT*` / `JORFTEXT*` → texte entier Légifrance - `JURITEXT*` / `CONSTEXT*` / `CETATEXT*` → décisions Légifrance - CELEX (`6XXXXCJXXXX`) → EUR-Lex (CJUE) - `ECLI:*` → EUR-Lex deeplink - itemid HUDOC (`001-XXXXXX`) → Cour EDH - ArianeWeb (`/Ariane_Web/AW_DCE/|XXXXXX`) → conseil-etat.fr Args: identifier: l'ID à convertir legitext: (optionnel) LEGITEXT du texte parent si `identifier` est un LEGIARTI — améliore la précision de l'URL (codes/ vs loda/) date: (optionnel, YYYY-MM-DD) — appendé à l'URL Légifrance pour pointer vers la version de l'article en vigueur à cette date (ex: `/loda/article_lc/LEGIARTI.../2023-01-01`). Indispensable pour vérifier l'état du droit à une date historique, sinon Légifrance affiche la version courante même si l'article a été abrogé depuis. Returns: `{"id", "source_url"}` ou `{"error"}` si format non reconnu.Connector
- Compare l'adresse d'un centre de santé côté CNAM (Annuaire santé Ameli) vs FINESS DREES pour un même num_finess. Primitive brute SANS interprétation métier — retourne les deux adresses, un `score_dice` (0..1, informatif ; `null` si non comparable car `finess_absent`) et un `statut`. Le caller décide quoi faire de la divergence. Utilité : signaler un déménagement propagé par une source mais pas (encore) par l'autre (ex: CNAM '5 RUE DE L'ARQUEBUSE AUTUN' vs FINESS '15 BD BERNARD GIBERSTEIN AUTUN' pour le même FINESS). Équivalent côté centre de santé de `compare_raison_sociale_finess_vs_rpps`. **Statut** (présent uniquement sur `found: true`) : - `match` : adresses strictement égales après normalisation - `match_after_abbreviation_normalization` : égales après expansion des abréviations de voie FR (R/RUE, BD/BOULEVARD, AV/AVENUE…) — MÊME adresse, simple abréviation DREES vs CNAM, PAS un déménagement - `divergent_after_normalization` : adresses réellement différentes (déménagement non synchronisé entre sources) - `finess_absent` : le CDS existe côté CNAM mais le num_finess est absent de FINESS DREES (latence sync bimensuelle) Format : objet `LookupResult` discriminé par `found`. Si le num_finess n'est PAS un centre de santé CNAM, le tool retourne `{found: false, lookupStatus: 'not_found', message}` (utiliser `etablissement_by_finess` pour un établissement non-CDS).Connector
- Récupère le détail d'un établissement par son SIRET (14 chiffres) via l'API SIRENE INSEE V3.11 : raison sociale de l'unité légale, enseigne commerciale, NAF de l'établissement, dates de création/fermeture, statut administratif actif/fermé, adresse complète, tranche d'effectif. Source : SIRENE INSEE V3.11 (api.insee.fr). **Format de retour** : objet `LookupResult` discriminé par `found`. - `found: true` → établissement à plat (`siret`, `siren`, `actif`, `dateFermeture`, `enseigne`, `adresse`, …) - `found: false` → `{ found: false, key, lookupStatus: 'not_found', message }`. Cas typiques : clé `INSEE_SIRENE_API_KEY` non configurée côté serveur (message explicite), SIRET inexistant SIRENE, diffusion partielle INSEE. ⚠️ Différence avec `entreprise_by_siren` : ce tool renvoie UN établissement précis (un site), alors que `entreprise_by_siren` renvoie l'unité légale + sa liste d'établissements. Pour détecter un SIRET fermé encore listé actif côté FINESS, lire `actif: false` + `dateFermeture`. **Pas de coords** : l'endpoint INSEE `/siret/<siret>` ne renvoie pas les coordonnées GPS. Pour géolocaliser, croiser avec `geocode_adresse` côté caller ou utiliser `entreprises_in_radius`. Rate limit INSEE : 30 req/min (retry-after géré côté serveur).Connector
- Récupère une décision du Conseil d'État par son numéro de pourvoi. Essaie d'abord le bulk JADE DILA (lookup SQL exact), puis si introuvable tente ArianeWeb Sinequa — les deux bases ont des couvertures complémentaires. Pour retrouver une décision via identifiant DCE_*, utiliser `get_decision_text` à la place. Args: numero: numéro de pourvoi (ex : "497566", "358109") Returns: Décision avec métadonnées, ou None si introuvable dans les deux bases.Connector
- Renvoie toutes les versions historiques d'un article de loi, du plus ancien au plus récent. Utile pour construire une "timeline" de l'article et comprendre son évolution (ex : un article modifié en 1964, 1994, 2016 aura 3-4 lignes avec `date_debut`, `date_fin`, `etat`, `texte` distincts). Args: code: code court (voir get_law_article pour la liste des 22 codes) num: numéro de l'article Returns: dict avec `code`, `code_long`, `num`, `count`, `versions` (liste ordonnée par `date_debut` ascendante).Connector
- Densité d'établissements de santé pour 100 000 habitants au niveau **département** (`code_dept`) OU **commune** (`code_insee` / `nom_commune`, V0.20), par famille FINESS. Croise FINESS DREES (count) et INSEE Melodi (population municipale PMUN, recensement 2023). Exactement un des trois requis. Familles disponibles : `labo` (laboratoires de biologie médicale), `pharmacie`, `ehpad`, `mco` (court séjour médecine/chirurgie/obstétrique), `ssr` (soins de suite), `psychiatrie`, `dialyse`, `imagerie`, `had` (hospitalisation à domicile), `msp_cpts` (maisons de santé + CPTS), `handicap_enfants`, `handicap_adultes`, `addictologie`, `pmi`, `prevention_sante`, etc. Famille obligatoire — sans filtre, le ratio mélangerait labos / hôpitaux / EHPAD et n'aurait pas de sens. V0.20 — **sémantique conditionnelle de `code_dept`** : - `code_dept` seul = scope de calcul (densité département entier, comme avant) - `code_dept` combiné avec `nom_commune` = hint de résolution UNIQUEMENT (filtre les communes homonymes), le calcul reste sur la commune résolue Paris/Marseille/Lyon : la densité par `code_insee` est INDISPONIBLE (les FINESS portent l'INSEE arrondissement 75101-75120 etc. alors qu'INSEE n'expose la population qu'à la commune entière) — passer un code commune-mère (75056) ou arrondissement (75108) lève une RangeError explicite. Utiliser `code_dept` (75, 13, 69) pour la densité ville entière. `compare_national: true` ajoute la densité France entière (DOM inclus) + écart en %. Coût : 1 RPC count_finess + 1 appel Melodi (cacheable). Alias acceptés : `dept`/`departement` → `code_dept`, `codeInsee`/`insee` → `code_insee`.Connector
- Décisions admin **récentes** triées chronologiquement (API live). Priorité au récent : tri par date de lecture décroissante, pas par pertinence. Utile pour "actualité d'une juridiction" mais PAS pour trouver la jurisprudence pertinente sur un sujet — pour cela, utiliser `search_admin` (bulk JADE avec BM25 ranking). Périmètre : CE + 9 CAA + 40 TA (incluant l'outre-mer), depuis ~2022. Les identifiants générés (formats `DCE_*`, `DTA_*`, `DCAA_*`) sont nativement compatibles avec l'outil `get_decision_text`. Args: query: mots-clés de recherche juridiction: code de la juridiction. Exemples : - "CE" — Conseil d'État - "CE-CAA" — Conseil d'État + cours administratives d'appel - "TA69" — Tribunal administratif de Lyon - "TA75" — Tribunal administratif de Paris - "CAA69" — Cour administrative d'appel de Lyon Les codes "TA" ou "CAA" isolés retournent un résultat vide — un code spécifique est requis. Consulter `list_juridictions` pour la nomenclature complète. limit: nombre maximum de résultats (défaut 20)Connector
- Recherche pondérée par pertinence BM25 sur la jurisprudence administrative complète (Conseil d'État + 9 CAA + 40 TA). Source : bulk JADE DILA (~4M décisions full text). Contrairement aux outils `search_admin_recent*` qui trient par date, celui-ci classe par pertinence sémantique des mots-clés. Indispensable pour trouver LES bonnes décisions sur un sujet sans dépendre de l'ancienneté. ⚠️ **Si tu cherches par numéro de requête (7 chiffres ex: 2200433)**, utilise plutôt `get_admin_decision(numero, juridiction=...)` qui fait un lookup SQL exact. La recherche FTS5 d'un numéro court ne le trouve que dans les décisions qui le **citent** dans leur texte (ex: décision de cassation), pas la décision identifiée par ce numéro. Args: query: mots-clés (opérateurs FTS5 : AND/OR/NOT, "phrase exacte", mot*) juridiction: filtre par fragment de nom de juridiction. Ex : "Lyon" → toutes les décisions Lyon (TA + CAA), "Tribunal Administratif de Lyon" → uniquement TA Lyon. Combiné en FTS5 AND avec la query principale. sort: "relevance" (défaut, BM25) ou "date_desc" / "date_asc" date_min: limite inférieure ISO YYYY-MM-DD (optionnel) date_max: limite supérieure ISO YYYY-MM-DD (optionnel) limit: nombre de résultats (défaut 20, max 50) offset: pagination Returns: {"total", "returned", "decisions": [...]} avec extracts BM25.Connector
- Référentiel exhaustif des codes juridictionnels. Restitue les 51 instances couvertes (Conseil d'État, 9 CAA, 40 TA, incluant les juridictions d'outre-mer) accompagnées de leur nomenclature canonique. Consulter impérativement cette liste pour déterminer le code exact à fournir à l'outil `search_admin`.Connector
- Récupère le détail complet d'un établissement de santé par son numéro FINESS (9 chiffres) : raison sociale, catégorie + famille, adresse complète (voie + CP + ville + code INSEE + département), coordonnées GPS, téléphone. Retourne un objet `LookupResult` discriminé par `found`. `found: true` → champs FINESS à plat. `found: false` → `{ found: false, key, lookupStatus: 'not_found', message }`. Le référentiel DREES a 1-2 mois de retard sur le terrain : pour des structures émergentes (CPTS récentes, MSP en agrément), cross-check ARS / Service Public. Source : FINESS / DREES. Note : champ `email` toujours `null` (non exposé par FINESS public). Note : `raison_sociale` provient du dump DREES qui abrège les libellés longs (~38 car. max, ex 'CERBALLIANCE HA' pour 'CERBALLIANCE HAZEBROUCK'). Pour le nom légal complet, cross-check via SIREN/SIRET (entreprise_by_siren / etablissement_by_siret).Connector
- Recherche fédérée pondérée par pertinence sur toutes les sources. Tool ONE-STOP quand on ne sait pas où chercher : interroge en parallèle les sources locales (DILA judic, JADE admin, LEGI, CEDH, CJUE) et retourne une liste fusionnée triée par score BM25 avec un bonus d'autorité (CE/Cass/CEDH > CAA > TA/CA). Args: query: mots-clés (ou phrase). Si `expand_synonyms=True` (défaut), les termes du thésaurus juridique FR sont automatiquement étendus à leurs équivalents (ex: "harcèlement" → aussi "intimidation", "vexation morale", etc.) sources: liste optionnelle parmi ["dila", "jade", "legi", "cedh", "cjue"]. None = toutes. sort: "relevance" (défaut) ou "date_desc" date_min, date_max: ISO YYYY-MM-DD limit: nombre de résultats fusionnés (défaut 30, max 100) expand_synonyms: active le thésaurus (défaut True) Returns: dict {"query_expanded", "per_source_counts", "results": [...]}Connector
- Récupère une décision administrative par son **numéro de requête exact**. Couvre toutes les juridictions : Conseil d'État, cours administratives d'appel (CAA), tribunaux administratifs (TA). Utilise un lookup SQL exact sur le champ `numero` — pas de FTS5, pas de faux positifs. ⚠️ **Désambiguïsation indispensable** : un même numéro à 7 chiffres (ex: 2200433) est partagé par 24+ tribunaux administratifs différents (chaque TA a sa propre série annuelle qui repart à 1). Sans `juridiction`, tu obtiens un homonyme au hasard parmi 24 — souvent pas le bon. **Si tu sais quelle juridiction a rendu la décision, passe-la TOUJOURS.** Args: numero: numéro de requête (ex : "2200433", "2116343", "497566") juridiction: identifiant de la juridiction. **Recommandé pour tout numéro à 7 chiffres** (TA/CAA codifié). Deux formats acceptés (mapping bidirectionnel automatique) : - **Code court** (recommandé pour les LLMs) : "TA69" (Lyon), "TA75" (Paris), "CAA69", "CE", "CE-CAA" - **Nom long** : "Tribunal Administratif de Lyon", "Conseil d'Etat" (avec ou sans accent), match insensible à la casse Note : "Lyon" seul est ambigu (TA Lyon ou CAA Lyon) — préférer le code court ou le nom complet pour éviter la collision. Returns: Décision avec métadonnées (id, juridiction, numero, date, titre), ou `{"error": "introuvable"}` si aucun résultat dans JADE. Exemples : get_admin_decision("2200433", juridiction="Tribunal Administratif de Lyon") → DTA_2200433_20230214 (TA Lyon, 14 fév 2023, RSA dérogatoire) get_admin_decision("473286") # CE n'a pas de doublon, juridiction inutile → DCE_473286_20231123 (CE, non-admission du pourvoi sur la précédente)Connector
- Requête simultanée de l'ensemble des 40 Tribunaux Administratifs. Fusionne et trie chronologiquement (date de lecture décroissante) les résultats issus du territoire national. Pertinent pour cartographier rapidement les éventuelles divergences d'appréciation territoriale sur une même question de droit. Args: query: mots-clés de recherche limit_per_court: nombre de résultats par tribunal (défaut 5, soit jusqu'à 200 résultats totaux en l'absence de `total_limit`) total_limit: plafond global après fusion (0 = aucun plafond). Si positif, tronque la liste fusionnée aux N entrées les plus récentes. Returns: Dict comportant `per_court_totals` (nombre de hits par TA), `decisions` (liste fusionnée triée chronologiquement) et les éventuelles `errors`.Connector
- Liste les spécialités médicales (savoir_faire RPPS) avec leur libellé et le nombre de PS qui les portent. Tool d'aide à la découverte pour le LLM : avant d'appeler densite_professionnels_sante ou professionnels_rpps_par_dept avec un `savoir_faire_code` précis (ex 'SM04' Cardiologie), utiliser ce tool pour obtenir la liste exhaustive. Filtre par défaut : profession_code='10' (Médecin) — retourne donc les spécialités médicales (cardiologie, dermato, gynéco, etc.). Passer `profession_code` pour énumérer les spécialités d'une autre profession (ex '60' Infirmier → spécialités IDE), ou `null` pour tous savoir_faire confondus. Résultats triés par count_ps DESC (spécialités les plus représentées en premier). Paginé : `limit` (défaut 50), la réponse expose `total` et `truncated`. Source : RPPS / Annuaire Santé ANS (Supabase dump mensuel).Connector