geocontext
The geocontext server provides spatial context and geographic data to LLMs, leveraging France's Géoplateforme (IGN) APIs.
Core geographic tools:
Geocoding (
geocode): Convert a place name or address into coordinates (longitude, latitude)Altitude (
altitude): Get elevation for a given positionAdministrative info (
adminexpress): Retrieve commune, canton, EPCI, département, région, and arrondissement for a positionCadastral data (
cadastre): Access parcel, sheet, and fiscal subdivision data for a positionUrban planning (
urbanisme): Get applicable PLU, PLUi, POS, CC, or PSMV documents for a positionPublic utility easements (
assiette_sup): Retrieve Servitudes d'Utilité Publique (SUP) for a position
WFS data exploration (700+ feature types):
List types (
gpf_wfs_list_types): List all known WFS feature types from the embedded schema catalogSearch types (
gpf_wfs_search_types): Find relevant WFS types by keywordDescribe type (
gpf_wfs_describe_type): Get the detailed schema (fields, description) of a specific WFS typeFetch features (
gpf_wfs_get_features): Query live Géoplateforme WFS data with support for CQL filters, property selection, sorting, and result count control
Provides spatial context for LLMs by integrating with French geographic data services, including geocoding, altitude calculation, administrative boundaries (AdminExpress), cadastral information, urban planning documents, and WFS data exploration from the Géoplateforme.
Supports deployment via Docker Compose for running the geocontext MCP server.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@geocontextwhat's the altitude at the Eiffel Tower in Paris?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Geocontext
Geocontext est un serveur MCP qui permet aux assistants IA d’interroger les données géographiques françaises de référence publiées sur la Géoplateforme de l'IGN.
Pourquoi Geocontext ?
Pas de téléchargement — Geocontext interroge directement les services de la Géoplateforme IGN, sans copie locale ni synchronisation à maintenir.
Données de référence à jour — les réponses s’appuient sur les référentiels géographiques publiés en continu par l’IGN et ses partenaires.
Réponses optimisées pour les LLM — les traitements et filtrages sont faits côté serveur pour limiter les tokens transmis au modèle.
Moins d’hallucinations — les descriptions et schémas enrichis aident l’assistant à identifier les bonnes données et les bons champs (implémentation anticipée de OGC API Feature - schema dans ignfab/gpf-schema-store).
Compatible MCP — utilisable avec des clients compatibles MCP comme Claude Desktop ou Cursor, mais aussi directement dans certaines interfaces de chat en ligne compatibles, comme Claude, Mistral Vibe ou ChatGPT, via leurs connecteurs MCP.
Related MCP server: French Open Data & IGN
Démo en 30 secondes
Question
Combien y a-t-il de bâtiments de plus de 20 mètres à Vincennes ?
Réponse
À Vincennes (94300, Val-de-Marne), il y a 509 bâtiments de plus de 20 mètres de hauteur, selon les données de la BD TOPO® de l'IGN.
La hauteur prise en compte est celle mesurée entre le sol et le point haut de la gouttière du bâtiment.
Trace complète
💬 Je vais d'abord rechercher les informations nécessaires :
les coordonnées de Vincennes et le type GPF pour les bâtiments.
🔧 Appel outil: geocode({'text': 'Vincennes'})
🔧 Appel outil: gpf_search_types({'query': 'bâtiment hauteur'})
💬 Parfait ! J'ai trouvé le type GPF BDTOPO_V3:batiment.
Je vais maintenant récupérer le schéma de ce type pour connaître
les propriétés exactes, notamment la hauteur et le code INSEE de Vincennes.
🔧 Appel outil: gpf_describe_type({'typename': 'BDTOPO_V3:batiment'})
🔧 Appel outil: adminexpress({'lon': 2.437785,'lat': 48.847279})
💬 J'ai toutes les informations nécessaires.
La commune de Vincennes a le feature_id commune.33667.
Je vais maintenant compter les bâtiments de plus de 20 mètres
de hauteur sur cette commune.
🔧 Appel outil: gpf_count_features({
'typename': 'BDTOPO_V3:batiment',
'where': [
{
'property': 'hauteur',
'operator': 'gt',
'value': '20'
}
],
'intersects_feature_filter': {
'typename': 'ADMINEXPRESS-COG.LATEST:commune',
'feature_id': 'commune.33667'
}
})
💬 À Vincennes (`94300`, Val-de-Marne), il y a **509 bâtiments**
de plus de **20 mètres de hauteur**, selon les données
de la **BD TOPO®** de l'IGN.
La hauteur prise en compte est celle mesurée entre le sol
et le point haut de la gouttière du bâtiment.Démarrage rapide
☁️ Instance HTTP prête à l'emploi
Geocontext est disponible comme serveur MCP distant en HTTP : https://geollm.beta.ign.fr/geocontext/mcp
Exemple de configuration pour un client compatible MCP acceptant les serveurs HTTP distants :
{
"mcpServers": {
"geocontext": {
"type": "http",
"url": "https://geollm.beta.ign.fr/geocontext/mcp"
}
}
}Selon le client utilisé, la syntaxe exacte peut varier. Certaines interfaces de chat compatibles MCP demandent simplement l’URL du serveur distant dans leurs paramètres de connecteurs.
💻 Utilisation en local
Prérequis : Node.js (
>=22.21.0 <23,>=24.5.0recommandé, à contrôler avecnode --version) avecnpx.
Vous pouvez lancer Geocontext vous-même en local avec la commande npx -y @ignfab/geocontext qui démarrera la dernière version publiée de @ignfab/geocontext ou laisser un client MCP comme Cursor le démarrer pour vous via sa configuration.
Par exemple, dans Cursor ("Settings" > "MCP" > "Add server"):
{
"mcpServers": {
"geocontext": {
"command": "npx",
"args": ["-y", "@ignfab/geocontext"]
}
}
}Exemples d’utilisation
Géocodage et altimétrie
ADMIN-EXPRESS et CADASTRE
BDTOPO
Isochrone
Géoportail de l'Urbanisme
Fonctionnalités disponibles
Les fonctionnalités correspondent aux outils MCP documentés dans docs/mcp-tools.md.
Usage | Outil MCP | Source utilisée | Exemple |
Géocoder un lieu |
| Localiser une mairie | |
Obtenir une altitude |
| Altitude d'un point | |
Récupérer le contexte administratif |
| Commune, département, région | |
Récupérer le cadastre |
| Parcelle cadastrale | |
Récupérer les documents d'urbanisme |
| PLU, POS, CC | |
Récupérer les servitudes |
| SUP autour d'un lieu | |
Trouver une couche GPF |
| Trouver la table des bâtiments | |
Décrire une couche GPF |
| Lister les champs disponibles | |
Interroger une couche GPF |
| Extraire des objets | |
Compter les objets résultats d'une interrogation de couche GPF |
| Compter les bâtiments d'une zone | |
Récupérer un objet par identifiant |
| Charger une commune précise | |
Télécharger le résultat d'une interrogation de couche GPF |
| Cartographier un résultat | |
Télécharger un objet par identifiant |
| Cartographier un objet |
Architecture en bref
Geocontext agit comme un intermédiaire entre un assistant compatible MCP et les services de la Géoplateforme IGN.
Il n’héberge pas les données : il expose des outils MCP, interroge les services IGN à la demande, puis retourne au LLM des réponses structurées, filtrées et adaptées à son contexte.
flowchart TB
assistant["Assistant IA / client MCP"]
geocontext["Geocontext<br/>serveur MCP"]
geopf["Géoplateforme IGN<br/>géocodage · altimétrie · WFS · urbanisme · cadastre"]
assistant -->|"appels d'outils MCP"| geocontext
geocontext -->|"requêtes aux services IGN"| geopf
geopf -->|"données de référence"| geocontext
geocontext -->|"réponses structurées"| assistantEn pratique, Geocontext permet à l’assistant de passer d’une question en langage naturel à des appels aux données géographiques de référence, sans téléchargement préalable ni copie locale des référentiels.
Statut et limites
🧪 Ce projet est un prototype en incubation au sein d'IGNfab, basé sur un prototype antérieur désormais archivé. S'il s'avère pertinent de l'industrialiser, il sera migré vers l'organisation IGN principale (ex. :
IGNF/mcp-gpf-server).🪄 Cet outil n'est pas magique : ses capacités sont strictement définies et documentées dans la section Fonctionnalités.
Documentation
La documentation détaillée est répartie par usage :
Installer Geocontext dans un client MCP
Configurer le serveur MCP
Configuration avancée : proxy d’entreprise, modes de transport
stdio/http, paramètres d’exécution.
Comprendre les outils disponibles
Outils MCP : description technique des outils exposés par Geocontext, paramètres attendus et exemples d’appels.
Développer ou contribuer au code
Guide développeur : installation des dépendances, construction de l’application, exécution des tests et organisation du projet.
Contribution
🐛 Signaler un problème
N'hésitez pas à créer une issue si vous rencontrez un problème !
Merci de fournir :
Le client MCP (ex. : GitHub Copilot, Cursor, Claude Desktop) et le mode de transport (stdio ou http) utilisé.
Le modèle utilisé (ex. : Claude Sonnet 4.5)
La version de Geocontext (visible sur npmjs.com/@ignfab/geocontext)
La demande faite à l'assistant (ex. : "Combien y a-t-il de ponts franchissant la Seine ?")
Si possible, un export de la discussion au format Markdown.
✨ Demander une évolution
N'hésitez pas non plus à créer une issue pour demander une évolution.
Merci de fournir la question type pour laquelle vous souhaiteriez que le MCP aide à apporter une réponse. Par exemple :
"Quels sont les fonds de carte disponibles ?" -> nous verrons comment exploiter le service WMTS de la Géoplateforme.
Crédits
mcp-framework : cadre de développement du MCP
@ignfab/gpf-schema-store : couche sémantique / catalogue de schémas embarqué (en attendant OGC API - Features - schema)
@camptocamp/ogc-client : exploration WFS (ex. : parsing GetCapabilities)
MiniSearch : recherche par mot-clé (
gpf_search_types)
jsts : traitements géométriques (ex. : tri des réponses par distance au point recherché).
turfjs/distance : calculs de distance avec la formule de Haversine.
Voir également
https://github.com/datagouv/datagouv-mcp : MCP data.gouv.fr
Exemple : Qui est le maire de la commune de Vincennes ?
https://git.tricoteuses.fr/logiciels/tricoteuses-api-parlement : MCP parlement français non officiel
https://github.com/datagouv/datagouv-skill : Skills data.gouv.fr
Licence
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityFmaintenanceEnhances LLM capabilities with location-based services and geospatial data, enabling users to geocode addresses, find nearby points of interest, get directions, optimize meeting points, and analyze neighborhoods.Last updated12214MIT
- Flicense-qualityDmaintenanceProvides access to French public data through data.gouv.fr, IGN cartographic services (maps, tiles, geographic data), address geocoding, and administrative divisions with demographic information.Last updated6
- AlicenseAqualityDmaintenanceAccess French geographic data from IGN (Institut national de l'information géographique et forestière) including cadastral parcels, agricultural land registry, protected natural areas, urban planning zones, and wine appellations through natural language queries.Last updated99MIT
- Alicense-qualityFmaintenanceAn experimental MCP server providing spatial context for LLMs by interfacing with French Geoplateforme services. It enables tasks such as geocoding, altitude lookups, and querying administrative, cadastral, or urban planning data.Last updated174MIT
Related MCP Connectors
French address quality, geocoding & routing from official data (BAN, INSEE, OpenStreetMap).
Geocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data.
Geocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ignfab/geocontext'
If you have feedback or need assistance with the MCP directory API, please join our Discord server