{
  "schema_version": 1,
  "updated_at": "2026-09-12T17:21:05.084565+00:00",
  "scope": "Research connections for La Réunion island. A curated verified inventory, not an exhaustive list of all MCP servers. Availability checks are point-in-time observations, not uptime guarantees.",
  "providers": [
    {
      "id": "datagouv",
      "name": "data.gouv.fr",
      "owner": "DINUM / équipe data.gouv.fr",
      "ownership_classification": "official_government_experimental",
      "endpoint": "https://mcp.data.gouv.fr/mcp",
      "documentation_urls": [
        "https://www.data.gouv.fr/posts/experimentation-autour-dun-serveur-mcp-pour-datagouv",
        "https://github.com/datagouv/datagouv-mcp",
        "https://www.numerique.gouv.fr/actualites/serveur-mcp-datagouv-retex-clarifications-donnees-publiques-ia/"
      ],
      "allowed_read_tool_names": [
        "search_datasets",
        "search_organizations",
        "search_dataservices",
        "get_dataservice_info",
        "get_dataservice_openapi_spec",
        "query_resource_data",
        "get_dataset_info",
        "list_dataset_resources",
        "get_resource_info",
        "get_metrics"
      ],
      "notes": [
        "Official government experimental service. Exposes only already public catalogued data; it does not unlock all administrative databases.",
        "Observed live tool names take precedence over older announcement examples. No authentication supplied or required for tested read operations.",
        "Search Réunion matched an INSEE income dataset; discovery results still need geographic relevance and publication-date checks."
      ],
      "status": "enabled",
      "tested_at": "2026-09-12T17:15:13.995Z",
      "transport": "streamable_http",
      "authentication_required": false
    },
    {
      "id": "ign_geocontext",
      "name": "IGN Geocontext",
      "owner": "IGN / IGNfab",
      "ownership_classification": "official_public_agency_experimental",
      "endpoint": "https://geollm.beta.ign.fr/geocontext/mcp",
      "documentation_urls": [
        "https://cartes.gouv.fr/actualites/experimentation-mcp-geocontext-et-carto",
        "https://cartes.gouv.fr/files/articles/experimentation-mcp-geocontext-et-carto.html",
        "https://github.com/ignfab/geocontext"
      ],
      "allowed_read_tool_names": [
        "adminexpress",
        "altitude",
        "assiette_sup",
        "cadastre",
        "geocode",
        "gpf_wfs_describe_type",
        "gpf_wfs_get_feature_by_id",
        "gpf_wfs_get_features",
        "gpf_wfs_search_types",
        "urbanisme"
      ],
      "notes": [
        "IGN officially announces Geocontext and Carto as exploratory prototypes, not a complete production service.",
        "The announcement is loaded by the public site JavaScript from the listed HTML fragment; curl retrieved that primary-source content.",
        "Live version 0.9.8 still exposes gpf_wfs_* names; README main currently documents newer gpf_* variants. Pin observed names and refresh deliberately.",
        "Geocoding a broad Saint-Denis La Réunion query returned a CROUS point of interest, not a city centroid; interpret returned kind/fulltext."
      ],
      "status": "enabled",
      "tested_at": "2026-09-12T17:15:49.998Z",
      "transport": "streamable_http",
      "authentication_required": false
    },
    {
      "id": "ign_carto",
      "name": "IGN Carto",
      "owner": "IGN / IGNfab",
      "ownership_classification": "official_public_agency_experimental",
      "endpoint": "https://geollm.beta.ign.fr/carto/mcp",
      "documentation_urls": [
        "https://cartes.gouv.fr/actualites/experimentation-mcp-geocontext-et-carto",
        "https://cartes.gouv.fr/files/articles/experimentation-mcp-geocontext-et-carto.html",
        "https://github.com/ignfab/mcp-carto"
      ],
      "allowed_read_tool_names": [
        "show_plan_ign_map"
      ],
      "notes": [
        "Read-only map presentation tool, with no public-data mutation. The probe omitted optional external GeoJSON layers.",
        "Full interactive rendering requires MCP Apps support. A generic text gateway can relay structured coordinates/background but must not claim to render the upstream interactive app automatically."
      ],
      "status": "enabled",
      "tested_at": "2026-09-12T17:18:40.469Z",
      "transport": "streamable_http",
      "authentication_required": false
    },
    {
      "id": "insee_lab",
      "name": "MCPDiffusion — InseeFrLab beta",
      "owner": "InseeFrLab / SSP Cloud laboratory",
      "ownership_classification": "public_sector_lab_not_insee_supported_product",
      "endpoint": "https://mcpdiffusion.lab.sspcloud.fr/mcp",
      "documentation_urls": [
        "https://github.com/InseeFrLab/McpDiffusion"
      ],
      "allowed_read_tool_names": [
        "search_insee_documents",
        "get_insee_homepage",
        "get_insee_document",
        "search_insee_conjoncture",
        "search_insee_chiffrecle",
        "search_melodi_datasets",
        "search_melodi_modalities",
        "get_melodi_observations",
        "search_rmes_graphs",
        "describe_rmes_resource",
        "run_rmes_sparql"
      ],
      "notes": [
        "Repository explicitly states beta and says this is not an official supported INSEE product; preserve that distinction in public labels.",
        "11 observed information-reading tools can be allowlisted. send_feedback appends feedback and must remain excluded.",
        "Read probe returned a 2017 demographic projection publication. This verifies functioning search, not that the returned result is current; preserve publication dates and distinguish projections from observed populations.",
        "No key was supplied. Self-hosting most tools requires an Elasticsearch index."
      ],
      "status": "enabled",
      "tested_at": "2026-09-12T17:16:23.909Z",
      "transport": "streamable_http",
      "authentication_required": false
    },
    {
      "id": "covoiturage_docs",
      "name": "Registre de preuve de covoiturage — documentation",
      "owner": "Registre de preuve de covoiturage / beta.gouv.fr",
      "ownership_classification": "official_government_documentation",
      "endpoint": "https://tech.covoiturage.beta.gouv.fr/mcp",
      "documentation_urls": [
        "https://tech.covoiturage.beta.gouv.fr/authentication",
        "https://tech.covoiturage.beta.gouv.fr/topic/topic-definitions"
      ],
      "allowed_read_tool_names": [
        "search",
        "get_pages",
        "list_pages",
        "list_changes",
        "get_change"
      ],
      "notes": [
        "This MCP searches the public API documentation portal; it does not grant access to trip records or execute protected operational API writes.",
        "Documentation search found the export-of-trips reference. Authentication requirements of the underlying trip API are separate from public documentation access."
      ],
      "status": "enabled",
      "tested_at": "2026-09-12T17:15:13.996Z",
      "transport": "streamable_http",
      "authentication_required": false
    },
    {
      "id": "education_huwise",
      "name": "Éducation nationale — MCP Huwise",
      "owner": "Ministère de l’Éducation nationale, infrastructure Huwise",
      "ownership_classification": "official_government_adopted_vendor_service",
      "endpoint": "https://mcp.huwise.com/mcp",
      "documentation_urls": [
        "https://data.education.gouv.fr/pages/connecter-une-ia/",
        "https://dataeducation.opendatasoft.com/pages/connecter-une-ia/",
        "https://strategie-numerique.incubateur.education.gouv.fr/fr/tableau-de-suivi/axe-3-une-communaute-educative-soutenue-par-une-offre-numerique-raisonnee-perenne-et-inclusive"
      ],
      "allowed_read_tool_names": [],
      "notes": [
        "Official ministry documentation describes the vendor endpoint and required domain/key headers.",
        "Sent documented x-domain header, no x-apikey. HTTP 401 confirms no anonymous connection. Tools/list and real read were not attempted after authentication rejection.",
        "Do not label connected until authorized credentials are configured and tools independently reviewed."
      ],
      "status": "auth_required",
      "tested_at": "2026-09-12",
      "transport": "streamable_http",
      "authentication_required": true
    },
    {
      "id": "wikidata_wikimedia",
      "name": "Wikidata MCP",
      "owner": "Wikimedia Deutschland (wmde/WikidataMCP)",
      "ownership_classification": "public_knowledge_institution_project",
      "endpoint": "https://wd-mcp.wmcloud.org/mcp/",
      "documentation_urls": [
        "https://www.wikidata.org/wiki/Wikidata:MCP",
        "https://www.wikidata.org/wiki/Wikidata:Reuse#Wikidata_MCP",
        "https://github.com/wmde/WikidataMCP"
      ],
      "allowed_read_tool_names": [
        "search_items",
        "search_properties",
        "get_statements",
        "get_statement_values",
        "get_instance_and_subclass_hierarchy",
        "execute_sparql"
      ],
      "notes": [
        "Wikimedia project, not a government service; its project page is marked work in progress.",
        "No tool readOnlyHint annotations were advertised; read-only classification is based on project documentation.",
        "SPARQL queries should be bounded and restricted to reads. Preserve statement references when using claims."
      ],
      "status": "enabled",
      "tested_at": "2026-09-12T17:16:58.798981+00:00",
      "transport": "streamable_http",
      "authentication_required": false
    },
    {
      "id": "eurostat_cyanheads",
      "name": "Eurostat via cyanheads",
      "owner": "Casey J. Hand / cyanheads",
      "ownership_classification": "community_api_wrapper",
      "endpoint": "https://eurostat.caseyjhand.com/mcp",
      "documentation_urls": [
        "https://eurostat.caseyjhand.com/",
        "https://github.com/cyanheads/eurostat-mcp-server"
      ],
      "allowed_read_tool_names": [
        "eurostat_search_datasets",
        "eurostat_browse_themes",
        "eurostat_get_dataset_info",
        "eurostat_get_dimension_values",
        "eurostat_query_dataset"
      ],
      "notes": [
        "This is not an official Eurostat MCP endpoint.",
        "Exclude download and dataframe tools initially: they stage datasets on server-side canvases. Bound query_dataset geography and time; preview_limit alone does not reduce the upstream query."
      ],
      "status": "enabled",
      "tested_at": "2026-09-12T17:16:58.799909+00:00",
      "transport": "streamable_http",
      "authentication_required": false
    },
    {
      "id": "openalex_cyanheads",
      "name": "OpenAlex via cyanheads",
      "owner": "Casey J. Hand / cyanheads",
      "ownership_classification": "community_api_wrapper",
      "endpoint": "https://openalex.caseyjhand.com/mcp",
      "documentation_urls": [
        "https://openalex.caseyjhand.com/",
        "https://github.com/cyanheads/openalex-mcp-server"
      ],
      "allowed_read_tool_names": [
        "openalex_resolve_name",
        "openalex_search_entities",
        "openalex_analyze_trends",
        "openalex_get_citation_graph",
        "openalex_describe_fields"
      ],
      "notes": [
        "This is not an official OurResearch/OpenAlex MCP endpoint.",
        "Live response reported shared upstream daily budget usage. Cache responses, keep searches small, and handle quota exhaustion; no unlimited-access claim."
      ],
      "status": "enabled",
      "tested_at": "2026-09-12T17:16:58.800535+00:00",
      "transport": "streamable_http",
      "authentication_required": false
    },
    {
      "id": "crossref_cyanheads",
      "name": "Crossref via cyanheads",
      "owner": "Casey J. Hand / cyanheads",
      "ownership_classification": "community_api_wrapper",
      "endpoint": "https://crossref.caseyjhand.com/mcp",
      "documentation_urls": [
        "https://crossref.caseyjhand.com/",
        "https://github.com/cyanheads/crossref-mcp-server"
      ],
      "allowed_read_tool_names": [
        "crossref_get_work",
        "crossref_get_references",
        "crossref_search_works",
        "crossref_search_journals",
        "crossref_search_funders",
        "crossref_get_member",
        "crossref_get_prefix"
      ],
      "notes": [
        "This is not an official Crossref MCP endpoint.",
        "Registry record exists but its remotes list was empty; the endpoint was independently established from the operator page and live probe.",
        "Metadata or a full-text link does not establish permission to republish full text."
      ],
      "status": "enabled",
      "tested_at": "2026-09-12T17:16:58.800983+00:00",
      "transport": "streamable_http",
      "authentication_required": false
    },
    {
      "id": "worldbank_cyanheads",
      "name": "World Bank via cyanheads",
      "owner": "Casey J. Hand / cyanheads",
      "ownership_classification": "community_api_wrapper",
      "endpoint": "https://worldbank.caseyjhand.com/mcp",
      "documentation_urls": [
        "https://worldbank.caseyjhand.com/",
        "https://github.com/cyanheads/worldbank-mcp-server"
      ],
      "allowed_read_tool_names": [
        "worldbank_list_topics",
        "worldbank_list_sources",
        "worldbank_list_countries",
        "worldbank_get_country",
        "worldbank_search_indicators",
        "worldbank_get_indicator",
        "worldbank_get_data",
        "worldbank_get_poverty",
        "worldbank_search_projects"
      ],
      "notes": [
        "This is not an official World Bank MCP endpoint.",
        "Country or France aggregate statistics are not automatically La Réunion statistics.",
        "These four cyanheads wrappers share an operator and hosting domain; they are separate data sources but not independent availability providers."
      ],
      "status": "enabled",
      "tested_at": "2026-09-12T17:16:58.991180+00:00",
      "transport": "streamable_http",
      "authentication_required": false
    },
    {
      "id": "data_europa_pipeworx",
      "name": "data.europa.eu via Pipeworx",
      "owner": "Pipeworx",
      "ownership_classification": "community_gateway",
      "endpoint": "https://gateway.pipeworx.io/data-europa/mcp",
      "documentation_urls": [
        "https://github.com/pipeworx-io/mcp-data-europa"
      ],
      "allowed_read_tool_names": [],
      "notes": [
        "This is not an official European Commission MCP endpoint.",
        "Disabled for automatic federation: 36 advertised tools include shared routing, subscriptions, feedback and memory writes.",
        "Only search, package, organizations, groups and tags are scoped read candidates; no real data call was performed on this gateway."
      ],
      "status": "disabled",
      "tested_at": "2026-09-12T17:16:59.065359+00:00",
      "transport": "streamable_http",
      "authentication_required": false
    }
  ],
  "api_adapters": [
    {
      "id": "government_communes_search",
      "provider": "data.gouv.fr — API Découpage administratif",
      "endpoint": "https://geo.api.gouv.fr/communes"
    },
    {
      "id": "government_enterprises_search",
      "provider": "Annuaire des Entreprises",
      "endpoint": "https://recherche-entreprises.api.gouv.fr/search"
    },
    {
      "id": "government_address_search",
      "provider": "IGN — Géoplateforme / BAN",
      "endpoint": "https://data.geopf.fr/geocodage/search"
    }
  ],
  "not_connected": [
    {
      "name": "Recherche Data Gouv catalogue",
      "owner": "Recherche Data Gouv",
      "status": "unavailable",
      "endpoint": null,
      "reason": "Official June 2026 page announces MCP functionality, but no callable endpoint or connection instructions were located in the available primary documentation or public landing-page assets. No endpoint was guessed.",
      "documentation_urls": [
        "https://recherche.data.gouv.fr/fr/page/utilisation-de-l-intelligence-artificielle-dans-le-catalogue-1",
        "https://catalogue.recherche.data.gouv.fr/"
      ]
    },
    {
      "name": "Légifrance / DILA",
      "owner": "DILA",
      "status": "unavailable",
      "endpoint": null,
      "reason": "No official MCP endpoint located in the examined official sources. Official REST API requires PISTE registration and OAuth client credentials; community wrappers must not be presented as DILA-operated MCPs.",
      "documentation_urls": [
        "https://www.legifrance.gouv.fr/contenu/pied-de-page/open-data-et-api",
        "https://www.legifrance.gouv.fr/contenu/pied-de-page/foire-aux-questions-api"
      ]
    },
    {
      "name": "Météo-France",
      "owner": "Météo-France",
      "status": "unavailable",
      "endpoint": null,
      "reason": "Targeted official-domain searches did not locate an officially operated MCP endpoint. This is an unverified availability finding, not proof that none exists. Existing data portals are not automatically MCP servers.",
      "documentation_urls": [
        "https://donneespubliques.meteofrance.fr/"
      ]
    },
    {
      "name": "Assemblée nationale / Sénat",
      "owner": "French Parliament",
      "status": "unavailable",
      "endpoint": null,
      "reason": "Official parliamentary material discusses MCP and an OpenFisca hackathon idea, but no official hosted parliamentary MCP endpoint was located. Tricoteuses and other civic implementations are community services.",
      "documentation_urls": [
        "https://hackathon2026.assemblee-nationale.fr/defis?tab=ideas",
        "https://www.assemblee-nationale.fr/dyn/opendata/RINFANR5L17B1862.html"
      ]
    },
    {
      "name": "Service-Public / ADEME / BRGM / CNRS / Inria",
      "status": "unavailable",
      "endpoint": null,
      "reason": "Additional targeted official-domain searches did not yield verified remote MCP connection documentation in this bounded research. Exclude from connected counts; absence from this registry is not proof of nonexistence.",
      "documentation_urls": []
    }
  ]
}
