reunion_get_ftth_coverage
Retrieve FTTH deployment coverage data for La Réunion, including coverage rates and premises counts, to monitor infrastructure rollout and analyze the digital divide.
Instructions
FTTH (Fiber to the Home) deployment coverage for La Réunion region, from ARCEP regional dashboards. Each row is one observation period. Returns: period, total housing units, total businesses, IPE premises (T3 2022 sum across all OIs), best premise estimate (T2 2022), coverage rate %, deployment notes. Useful for digital-divide analysis, infrastructure rollout monitoring, telecom-investment tracking.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/modules/telecom.ts:50-76 (handler)The handler function for 'reunion_get_ftth_coverage'. It queries the 'arcep_regions' dataset from the OpenDataSoft API filtering for "La Réunion", maps API fields (periode, logements, etablissements, nombre_locaux_ipe_t3_2022_somme_tous_oi, meilleure_estimation_des_locaux_t2_2022, taux_de_couverture, deploiements) to a clean result, and returns JSON.
server.tool( 'reunion_get_ftth_coverage', 'FTTH (Fiber to the Home) deployment coverage for La Réunion region, from ARCEP regional dashboards. Each row is one observation period. Returns: period, total housing units, total businesses, IPE premises (T3 2022 sum across all OIs), best premise estimate (T2 2022), coverage rate %, deployment notes. Useful for digital-divide analysis, infrastructure rollout monitoring, telecom-investment tracking.', {}, async () => { try { const data = await client.getRecords<RecordObject>(DATASET_FTTH, { where: `nom_region = ${quote('La Réunion')}`, limit: 20, }); return jsonResult({ total_rows: data.total_count, coverage: data.results.map((row) => ({ period: pickString(row, ['periode']), housing_total: pickNumber(row, ['logements']), businesses_total: pickNumber(row, ['etablissements']), ipe_premises_t3_2022: pickNumber(row, ['nombre_locaux_ipe_t3_2022_somme_tous_oi']), best_estimate_t2_2022: pickNumber(row, ['meilleure_estimation_des_locaux_t2_2022']), coverage_rate_pct: pickNumber(row, ['taux_de_couverture']), deployments: pickString(row, ['deploiements']), })), }); } catch (error) { return errorResult(error instanceof Error ? error.message : 'Failed to fetch FttH coverage'); } } ); - src/modules/telecom.ts:53-53 (schema)Input schema for the tool — an empty object literal {}, meaning the tool takes no parameters.
{}, - src/modules/telecom.ts:12-12 (registration)The registerTelecomTools function that registers telecom tools (including reunion_get_ftth_coverage) with the MCP server via server.tool().
export function registerTelecomTools(server: McpServer): void { - src/modules/index.ts:21-21 (registration)Import of registerTelecomTools from telecom module.
import { registerTelecomTools } from './telecom.js'; - src/modules/index.ts:50-50 (registration)Invocation of registerTelecomTools(server) during tool registration.
registerTelecomTools(server);