Trouvez ce que vous cherchez en posant la question
WC publics, parkings, bornes électriques, équipements sport… interrogez le SIG comme vous parleriez à un ami.
annecy-sig-mcp est un serveur MCP (Model Context Protocol) qui rend les données géographiques publiques de la Ville d'Annecy interrogeables depuis n'importe quel assistant IA compatible : Cursor, Claude Desktop, Continue, n8n, ChatGPT MCP… Lecture seule, allowlist stricte, jamais d'écriture vers le SIG.
Pas besoin d'être développeur. Le serveur est ouvert à toute personne ou organisation qui veut interroger le SIG d'Annecy via une IA.
WC publics, parkings, bornes électriques, équipements sport… interrogez le SIG comme vous parleriez à un ami.
Inventaires, qualité, briefs open data, dashboards internes — tout depuis votre IA, sans ouvrir ArcGIS.
Endpoint HTTP MCP standard, sortie JSON typée, schémas Zod stables, contrats versionnés. Aucun ETL à écrire.
https://mcp.leadalpes.fr/api/mcp
Toutes les données exposées par ce MCP sont déjà publiques sur portailsig.annecy.fr. Le MCP n'ajoute aucune nouvelle donnée — il les rend simplement conversables par une IA.
Plus besoin de connaître les services ArcGIS, ni la syntaxe where, ni les coordonnées Lambert-93. Vous demandez, l'IA traduit.
Compatible avec tout client MCP : Cursor, Claude Desktop, Continue, n8n, agents custom. Un seul endpoint, n+1 IA branchées.
Réponses JSON normalisées et typées (Zod), pas de JSON ArcGIS brut. Champs sensibles filtrés systématiquement.
Compter ~10 minutes au total : le temps d'obtenir un jeton et de configurer votre client.
Envoyez un mail court précisant votre cas d'usage. La réponse contient le jeton Bearer à utiliser dans la config — et l'aide à l'intégration si besoin.
Le serveur parle le standard MCP Streamable HTTP. Toute application qui sait parler MCP fonctionne : Cursor, Claude Desktop, Continue, n8n, Copilot Studio, agents OpenAI / Anthropic SDK, scripts curl… Choisissez votre client ci-dessous, copiez la config, c'est tout.
Microsoft Copilot Studio supporte MCP nativement. La configuration se fait dans l'interface, sans fichier à éditer.
https://mcp.leadalpes.fr/api/mcp
Header name: Authorization ·
Header value: Bearer VOTRE_TOKEN_RECU_PAR_MAIL.
Stocker le jeton dans une Power Platform secret variable, jamais en clair.
citizen_query, l'outil haut-niveau recommandé pour les questions en langage naturel).Pour un agent Info SIG Annecy prêt à coller (identité, instructions système, garde-fous citoyen, exemples adverses) : examples/copilot-studio-instructions.md ↗.
Éditez .cursor/mcp.json à la racine du projet
(ou ~/.cursor/mcp.json pour usage global) :
{
"mcpServers": {
"annecy-sig": {
"url": "https://mcp.leadalpes.fr/api/mcp",
"headers": {
"Authorization": "Bearer VOTRE_TOKEN_RECU_PAR_MAIL"
}
}
}
}
Puis Settings → MCP dans Cursor : activez
annecy-sig. Vous devez voir 17 outils (dont citizen_query).
Éditez le fichier de config Claude Desktop
(~/Library/Application Support/Claude/claude_desktop_config.json sur macOS,
%APPDATA%\Claude\claude_desktop_config.json sur Windows) :
{
"mcpServers": {
"annecy-sig": {
"url": "https://mcp.leadalpes.fr/api/mcp",
"headers": {
"Authorization": "Bearer VOTRE_TOKEN_RECU_PAR_MAIL"
}
}
}
}
Redémarrez Claude Desktop. Vérifiez l'icône MCP en bas du chat.
Tout client MCP Streamable HTTP fonctionne (Continue, n8n,
Copilot Studio, agent custom Python ou TypeScript…).
Test rapide en curl pour lister les outils :
curl -sS https://mcp.leadalpes.fr/api/mcp \
-H "Authorization: Bearer VOTRE_TOKEN" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2024-11-05" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Devrait retourner les 17 outils publics.
Quelques exemples concrets à essayer dès la première session :
« Liste les bornes de recharge véhicules électriques d'Annecy. »
« Combien de places PMR à 300 m de la place du Pâquier ? »
« Y a-t-il des travaux en cours à proximité de l'Hôtel de Ville ? »
« Génère un brief open data pour la couche WC publics. »
« Donne-moi un rapport qualité de la couche stations vélonecy. »
Tous en lecture seule, sortie JSON structurée, schémas typés (Zod) versionnés
schemaVersion: *.v1.
citizen_queryOutil haut-niveau : prend une question en français, choisit la bonne couche, refuse les demandes hors périmètre (RGPD, données nominatives) et répond sans jamais demander serviceKey/layerId à l'utilisateur. Idéal pour Copilot Studio & Claude.
list_servicesInventaire des services ArcGIS allowlistés (équipements, mobilité, travaux).
list_layersCouches d'un service avec compteurs et niveau d'accès (public / internal).
describe_layerSchéma détaillé d'une couche : champs publics, géométrie, sémantique.
recommend_layers_for_intentDécouverte par intention citoyenne (matching lexical déterministe en français).
query_layerFiltrage attributaire (ArcGIS where), pagination, champs validés contre f=pjson.
search_nearbyRecherche spatiale par lat/lng/rayon — Lambert-93 ou WGS-84 transparents.
count_layerComptage rapide avec where optionnel (utile pour dashboards).
detect_data_quality_issuesHeuristiques qualité : champs vides, doublons, géométries manquantes.
list_public_worksTravaux publics, IDs opaques, géométrie réduite, jamais de référence interne.
search_public_works_nearbyTravaux à proximité d'un point — sortie sanitisée pour usage public.
inventory_all_layersSnapshot complet du périmètre : tailles, fraîcheur, sensibilité.
recommend_open_data_candidatesIdentifie les couches éligibles à une publication open data.
generate_inventory_reportRapport markdown d'inventaire — utile pour gouvernance & reporting.
generate_open_data_briefNote de cadrage open data prête à exporter.
generate_chatbot_readiness_reportAuto-évaluation : ce qui est exploitable par un agent conversationnel.
generate_layer_action_planPlan d'action par couche : quoi corriger, quoi documenter, prioriser.
3 outils internal (list_current_works, list_late_works,
generate_internal_dashboard_brief) sont volontairement non exposés
sur ce transport HTTP public. Ils restent accessibles uniquement en
stdio local par la DSI Annecy avec installation dédiée.
Périmètre allowlist validé manuellement. Schémas
resynchronisés chaque jour via cron CI vs. portailsig.annecy.fr.
| Nom | Accès | Source ArcGIS |
|---|---|---|
| Administration (id 0) | Public | MapServer/0 ↗ |
| Établissements scolaires (id 1) | Public | MapServer/1 ↗ |
| Accueils petite enfance (id 2) | Public | MapServer/2 ↗ |
| Équipements sénior (id 3) | Public | MapServer/3 ↗ |
| Cimetière (id 4) | Public | MapServer/4 ↗ |
| WC publics (id 5) | Public | MapServer/5 ↗ |
| Équipements culturels (id 6) | Public | MapServer/6 ↗ |
| Jardins partagés (id 7) | Public | MapServer/7 ↗ |
| Vergers communaux (id 8) | Public | MapServer/8 ↗ |
| Équipements sport (id 9) | Public | MapServer/9 ↗ |
| Salles municipales (id 10) | Public | MapServer/10 ↗ |
| Nom | Accès | Source ArcGIS |
|---|---|---|
| Horodateurs (id 1) | Public | MapServer/1 ↗ |
| Parking relais (id 2) | Public | MapServer/2 ↗ |
| Stations vélonecy (id 3) | Public | MapServer/3 ↗ |
| Parking convoyeurs de fond (id 4) | Internal | MapServer/4 ↗ |
| Places hôtel (id 5) | Public | MapServer/5 ↗ |
| Places livraison (id 6) | Public | MapServer/6 ↗ |
| Parking moto (id 7) | Public | MapServer/7 ↗ |
| Places PMR (id 8) | Public | MapServer/8 ↗ |
| Bornes recharge véhicules électriques (id 9) | Public | MapServer/9 ↗ |
| Stationnement vélos (id 10) | Public | MapServer/10 ↗ |
| Stationnements hors parking en ouvrage (id 11) | Public | MapServer/11 ↗ |
| Stationnement horodateurs zones longue durée (id 12) | Public | MapServer/12 ↗ |
| Stationnement zone bleue (id 13) | Public | MapServer/13 ↗ |
| Stationnement horodateurs bords de lac été (id 14) | Public | MapServer/14 ↗ |
| Stationnement horodateurs zones courtes durée (id 15) | Public | MapServer/15 ↗ |
| Annecy Parking (id 16) | Public | MapServer/16 ↗ |
| Nom | Accès | Source ArcGIS |
|---|---|---|
| Travaux (id 3) | Vue citoyenne filtrée | MapServer/3 ↗ |
La couche brute travaux est internal. Sur le transport HTTP
public, l'accès se fait uniquement via les outils dédiés list_public_works
et search_public_works_nearby qui renvoient une vue
public-light (IDs opaques, géométrie réduite, jamais de référence
interne ni de pièce jointe).
Voir le registre source complet sur GitHub ou consulter le catalogue détaillé des données.
Conçu pour exposer de la donnée publique sans risque de fuite ni de side-effect.
portailsig.annecy.fr. Aucune route POST/PUT/DELETE vers ArcGIS dans le code.
Authorization: Bearer valide. Comparaison à temps constant.
internal verrouillé HTTP
Toute tentative d'élévation côté HTTP retourne 403. Le mode internal est exclusivement réservé au transport stdio local DSI.
created_user, last_edited_*, url_pj, GLOBALID…) bloqués par filtre dénylist au moment de la génération du registre.
applyEdits, pas de chemin code l'autorisant.
Détail complet du modèle de menace, périmètre et procédure de divulgation responsable : SECURITY.md ↗
Si votre question n'est pas listée, écrivez à damien.credoz@annecy.fr.
Tout le monde : citoyens, journalistes, chercheurs, autres collectivités, développeurs, étudiants, agents de la Ville d'Annecy, partenaires métropolitains. Le service est ouvert à tout usage légitime des données publiques du SIG.
Précisez simplement votre cas d'usage dans votre demande pour qu'on puisse vous orienter au mieux.
Envoyer un mail à damien.credoz@annecy.fr en précisant le client MCP envisagé (Cursor, Claude Desktop, n8n, agent custom, autre). La réponse contient le jeton Bearer (à placer dans MCP_PUBLIC_READ_TOKEN) et un coup de main rapide pour la configuration si besoin.
Rien. Le code est open source (licence MIT) et l'instance hébergée sur mcp.leadalpes.fr est mise à disposition gratuitement.
Si votre usage devient massif (dizaines de milliers de requêtes/jour), prévenez-nous pour qu'on dimensionne ensemble.
Côté serveur : seuls les logs techniques agrégés (compteur d'appels par outil, dernière erreur) sont retenus, sans contenu des requêtes ni identifiant utilisateur. Voir /api/health.
Côté client (Cursor, Claude Desktop…) : les logs dépendent de leur propre politique de confidentialité.
Le code est sous licence MIT, donc oui pour le code. Pour les données, vérifiez les conditions de réutilisation indiquées sur le portail SIG d'Annecy : la majorité relève de la donnée publique réutilisable, mais certains usages spécifiques peuvent demander une licence ou une mention.
Tout client supportant MCP Streamable HTTP avec authentification Bearer : Cursor, Claude Desktop, Continue, n8n, Copilot Studio, Microsoft Copilot Custom, ainsi que tout agent custom écrit avec un SDK MCP (TypeScript, Python).
Les clients qui ne supportent que MCP stdio nécessitent une installation locale (voir le README DSI sur GitHub).
Ouvrir une issue sur GitHub ou écrire par mail. Toute couche ajoutée doit être déjà publique sur le portail SIG, et passe par une revue d'allowlist (sécurité, sanitation des champs).
Vérifier d'abord /api/health : s'il répond status: ok, le souci est côté client ou côté ArcGIS source. Sinon, signaler l'incident par mail avec l'heure UTC approximative.
Le repo est prêt pour Vercel (déploiement en 1 clic) ou tout runtime Node 20+. Le déploiement minimal demande deux variables : ANNECY_SIG_BASE_URL et MCP_PUBLIC_READ_TOKEN. Voir le README sur GitHub.
Demandez un jeton d'accès — ou posez n'importe quelle question sur l'intégration. Réponse sous quelques jours ouvrés.