ign-apicarto-mcp-server
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"ign-apicarto": {
"url": "http://localhost:3000/mcp"
}
}
}
服务介绍
IGN API Carto MCP Server
Serveur MCP (Model Context Protocol) pour interroger les donnes gographiques franaises via l'API Carto de l'IGN
Table des matires
- propos
- Fonctionnalits
- Prrequis
- Installation
- Configuration
- Utilisation
- Projets raliss
- Exemples dtaills
- Format des gomtries
- Limitations
- Sources de donnes
- Dveloppement
- Dpannage
- Ressources
- Licence
propos
Ce serveur MCP permet d'accder aux riches donnes gographiques de l'IGN (Institut national de l'information gographique et forestire) directement depuis Claude Desktop ou tout autre client compatible MCP.
Il expose les principales API de l'cosystme IGN API Carto, permettant d'interroger des donnes cadastrales, agricoles, environnementales, d'urbanisme et administratives franaises en langage naturel.
Cas d'usage
- Analyser des donnes cadastrales et parcellaires
- Consulter les dclarations agricoles (RPG)
- Identifier les zones naturelles protges
- Vrifier les rglements d'urbanisme (PLU, GPU)
- Localiser les appellations viticoles
- Obtenir des donnes administratives golocalises
Fonctionnalits
Outils disponibles
| Outil | Description | Cas d'usage |
|---|---|---|
ign_get_communes_by_postal_code |
Rcuprer les communes associes un code postal | Rsolution d'adresses, statistiques postales |
ign_get_cadastre_parcelles |
Rechercher des parcelles cadastrales | tudes foncires, analyse immobilire |
ign_get_cadastre_communes |
Obtenir les limites communales cadastrales | Dlimitation territoriale, cartographie |
ign_get_rpg |
Interroger le Registre Parcellaire Graphique | Analyse agricole, environnement |
ign_get_nature_areas |
Espaces naturels protgs (Natura 2000, ZNIEFF, parcs) | tudes environnementales, biodiversit |
ign_get_gpu_urbanisme |
Donnes d'urbanisme du Goportail de l'Urbanisme | Vrification PLU, constructibilit |
ign_get_aoc_viticoles |
Zones d'appellations viticoles (AOC, IGP, VSIG) | Viticulture, gomarketing |
ign_wfs_geoportail |
Accs gnrique aux flux WFS du Goportail | Donnes gographiques diverses |
ign_get_administrative_limits |
Limites administratives (communes, dpartements, rgions) | Dcoupage territorial, statistiques |
Prrequis
- Node.js 16+ et npm
- Claude Desktop ou un client MCP compatible
- Connexion internet pour accder aux API IGN
Installation
1. Cloner le dpt
git clone https://github.com/votre-utilisateur/ign-apicarto-mcp-server.git
cd ign-apicarto-mcp-server
2. Installer les dpendances
npm install
3. Configurer les variables d'environnement
# Copier le fichier d'exemple
cp .env.example .env.local
ditez .env.local et ajoutez votre cl API IGN si vous souhaitez utiliser l'endpoint AOC viticoles :
# Obtenir une cl gratuite : https://geoservices.ign.fr/
IGN_API_KEY=votre_cle_api
4. Compiler le projet
npm run build
Le serveur compil sera disponible dans le dossier dist/.
Configuration
Configurez ce serveur MCP avec votre client IA prfr. Cliquez sur le client que vous utilisez pour voir les instructions dtailles.
Configuration Claude Desktop
Ajoutez la configuration suivante votre fichier claude_desktop_config.json :
Emplacement du fichier :
| Systme | Chemin |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
Configuration :
{
"mcpServers": {
"ign-apicarto": {
"command": "node",
"args": ["/chemin/absolu/vers/ign-apicarto-mcp-server/dist/index.js"]
}
}
}
Important : Remplacez /chemin/absolu/vers/ par le chemin complet vers votre installation.
Configuration Claude Code
Claude Code utilise un fichier .mcp.json pour la configuration des serveurs MCP.
Configuration projet (recommande) :
Crez un fichier .mcp.json la racine de votre projet :
{
"mcpServers": {
"ign-apicarto": {
"command": "node",
"args": ["/chemin/absolu/vers/ign-apicarto-mcp-server/dist/index.js"]
}
}
}
Configuration globale :
Pour une utilisation dans tous vos projets, crez le fichier dans ~/.claude/.mcp.json.
Activer le serveur :
Au premier lancement, Claude Code vous demandera d'approuver le serveur. Vous pouvez aussi l'activer automatiquement en ajoutant dans vos settings :
{
"enableAllProjectMcpServers": true
}
Ou spcifiquement :
{
"enabledMcpjsonServers": ["ign-apicarto"]
}
Configuration Cursor
Cursor utilise un fichier mcp.json pour la configuration MCP.
Emplacement du fichier :
| Porte | Chemin |
|---|---|
| Projet | .cursor/mcp.json ( la racine du projet) |
| Global | ~/.cursor/mcp.json |
Configuration :
{
"mcpServers": {
"ign-apicarto": {
"command": "node",
"args": ["/chemin/absolu/vers/ign-apicarto-mcp-server/dist/index.js"]
}
}
}
Avec variables d'environnement (optionnel) :
{
"mcpServers": {
"ign-apicarto": {
"command": "node",
"args": ["${workspaceFolder}/ign-apicarto-mcp-server/dist/index.js"],
"env": {}
}
}
}
Activer le serveur :
- Ouvrez les paramtres de Cursor (
Cmd/Ctrl + ,) - Recherchez "MCP"
- Activez les serveurs MCP
- Redmarrez Cursor
Configuration Codex CLI
OpenAI Codex CLI supporte galement le protocole MCP via un fichier de configuration.
Emplacement du fichier :
~/.codex/mcp.json
Configuration :
{
"mcpServers": {
"ign-apicarto": {
"command": "node",
"args": ["/chemin/absolu/vers/ign-apicarto-mcp-server/dist/index.js"]
}
}
}
Note : Assurez-vous que Codex CLI est configur pour utiliser les serveurs MCP. Consultez la documentation officielle Codex pour plus de dtails sur l'activation des plugins MCP.
Configuration Google Antigravity
Google Antigravity est la plateforme de dveloppement agentique de Google, disponible gratuitement en preview publique.
Accder la configuration MCP :
- Cliquez sur Agent session dans le panneau latral
- Slectionnez le menu "..." en haut du panneau
- Cliquez sur MCP Servers Manage MCP Servers
- Slectionnez View raw config pour diter
mcp_config.json
Configuration :
{
"mcpServers": {
"ign-apicarto": {
"command": "node",
"args": ["/chemin/absolu/vers/ign-apicarto-mcp-server/dist/index.js"]
}
}
}
Mode HTTP (alternatif) :
Antigravity supporte galement les serveurs MCP via HTTP/SSE :
{
"mcpServers": {
"ign-apicarto": {
"url": "http://localhost:3000/mcp"
}
}
}
Note : Antigravity limite le nombre total d'outils actifs. Si vous utilisez plusieurs serveurs MCP, gardez le total sous 50 outils pour des performances optimales.
Configuration gnrique
Ce serveur MCP est compatible avec tout client supportant le protocole MCP en mode stdio.
Paramtres de connexion :
| Paramtre | Valeur |
|---|---|
| Transport | stdio |
| Commande | node |
| Arguments | ["/chemin/vers/dist/index.js"] |
Mode HTTP (alternatif) :
Pour les clients supportant HTTP/SSE, lancez le serveur en mode HTTP :
TRANSPORT=http PORT=3000 npm start
Puis configurez votre client avec l'URL : http://localhost:3000/mcp
Modes de transport
Le serveur supporte deux modes de communication :
Mode stdio (par dfaut)
Mode standard pour une utilisation locale avec Claude Desktop :
npm start
Mode HTTP (optionnel)
Pour une utilisation en rseau ou depuis un client distant :
TRANSPORT=http PORT=3000 npm start
Variables d'environnement
Configurez le serveur via le fichier .env.local ou directement en ligne de commande :
| Variable | Description | Dfaut |
|---|---|---|
TRANSPORT |
Mode de transport (stdio ou http) |
stdio |
PORT |
Port HTTP (mode HTTP uniquement) | 3000 |
IGN_API_KEY |
Cl API IGN pour l'endpoint AOC viticoles | - |
Fichiers de configuration :
.env.example: Template avec toutes les variables disponibles.env.local: Votre configuration locale (non versionn)
Utilisation
Une fois configur dans Claude Desktop, vous pouvez interroger les donnes IGN en langage naturel. Le serveur traduira automatiquement vos requtes en appels API appropris.
Redmarrage aprs configuration
Aprs avoir modifi claude_desktop_config.json, redmarrez Claude Desktop pour que les changements soient pris en compte.
Projets raliss
Analyse Territoriale de Margaux-Cantenac
Application interactive d'analyse territoriale pour la commune viticole de Margaux-Cantenac (Gironde), dveloppe avec Claude et ce serveur MCP.
Fonctionnalits
L'application offre une analyse complte du territoire en 4 volets :
| Module | Contenu | APIs utilises |
|---|---|---|
| ** Vue gnrale** | Code INSEE, coordonnes WGS84, contexte viticole | ign_get_communes_by_postal_code, ign_get_administrative_limits |
| ** Urbanisme** | Plan Local d'Urbanisme avec 52 zones (A, U, N, AU) | ign_get_gpu_urbanisme |
| ** Environnement** | Parc Naturel Rgional du Mdoc, zones ZNIEFF | ign_get_nature_areas |
| ** Cadastre** | Sections cadastrales, identifiants de parcelles | ign_get_cadastre_parcelles, ign_get_cadastre_communes |
Technologies
- Interface React avec navigation par onglets
- Intgration de donnes IGN et INPN (Musum National d'Histoire Naturelle)
- Visualisation gographique (bounding box, coordonnes prcises)
- Codes couleur pour diffrencier les types de zones territoriales
Comment le reproduire ?
Cr une application React interactive pour analyser le territoire de la commune
de Margaux-Cantenac. Utilise les donnes IGN pour afficher :
- Les informations administratives
- Le zonage PLU complet
- Les zones naturelles protges
- Les sections cadastrales
L'interface doit tre organise en onglets avec une navigation fluide.
** Vous avez cr un projet avec ce serveur MCP ?** Partagez-le en ouvrant une issue GitHub !
Exemples dtaills
1. Recherche par code postal
Question :
Quelles communes sont associes au code postal 75001 ?
Rponse attendue :
- Liste des communes avec code INSEE
- Coordonnes gographiques
- Limites administratives
Outil utilis : ign_get_communes_by_postal_code
2. Recherche de parcelles cadastrales
Question :
Trouve les parcelles cadastrales de la commune avec le code INSEE 75101
Paramtres possibles :
- Code INSEE de la commune
- Section cadastrale
- Numro de parcelle
Outil utilis : ign_get_cadastre_parcelles
3. Vrification du zonage d'urbanisme
Question :
Quel est le zonage PLU ces coordonnes : {"type":"Point","coordinates":[2.35,48.85]} ?
Informations retournes :
- Type de zone (U, AU, A, N)
- Rglement d'urbanisme applicable
- Restrictions de constructibilit
- Date de mise jour du PLU
Outil utilis : ign_get_gpu_urbanisme
4. Zones naturelles protges
Question :
Y a-t-il des zones Natura 2000 proximit de ce point : {"type":"Point","coordinates":[-1.69,48.10]} ?
Types de zones retournes :
- Sites Natura 2000 (ZSC, ZPS)
- ZNIEFF (type I et II)
- Parcs Nationaux et Rgionaux
- Rserves naturelles
Outil utilis : ign_get_nature_areas
5. Registre Parcellaire Graphique (agriculture)
Question :
Quelles cultures sont dclares sur cette parcelle agricole en 2023 ?
Gomtrie : {"type":"Point","coordinates":[2.35,45.85]}
Donnes disponibles :
- Type de culture
- Surface dclare
- Code culture PAC
- Anne de dclaration (2010-2024)
Outil utilis : ign_get_rpg
6. Appellations viticoles
Note : Cet endpoint ncessite une cl API IGN gratuite.
Obtenez-la sur geoservices.ign.fr
Question :
Cette parcelle est-elle situe dans une AOC viticole ?
Coordonnes : {"type":"Point","coordinates":[4.84,45.76]}
Informations retournes :
- Type d'appellation (AOC, IGP, VSIG)
- Nom de l'appellation
- Identifiant de l'appellation
- Gomtrie de la zone
Outil utilis : ign_get_aoc_viticoles
Configuration requise :
# Dans .env.local
IGN_API_KEY=votre_cle_api
7. Limites administratives
Question :
Dans quel dpartement et quelle rgion se trouve la commune de Lyon ?
Donnes disponibles :
- Limites communales
- Contours dpartementaux
- Contours rgionaux
- Codes officiels gographiques
Outil utilis : ign_get_administrative_limits
Format des gomtries
Les gomtries doivent tre au format GeoJSON en WGS84 (EPSG:4326) :
// Point
{"type":"Point","coordinates":[longitude, latitude]}
// Polygon
{"type":"Polygon","coordinates":[[[lon1,lat1],[lon2,lat2],[lon3,lat3],[lon1,lat1]]]}
// MultiPolygon
{"type":"MultiPolygon","coordinates":[[[[lon1,lat1],[lon2,lat2],...]],[...]]}
Limitations
Limites des API IGN
| Type | Limite |
|---|---|
| Rsultats max par requte | 1000 (500 pour communes cadastrales) |
| Pagination | Disponible via _start et _limit |
| Projection gographique | WGS84 (EPSG:4326) uniquement |
| Timeout requte | 30 secondes |
| Format de sortie | GeoJSON |
Limitations fonctionnelles
- Le module WFS-Geoportail est en version beta
- Certaines donnes peuvent avoir un dlai de mise jour
- Les gomtries complexes peuvent ncessiter une simplification
- Les donnes RPG sont disponibles de 2010 2024
Sources de donnes
| Source | Donnes | Organisme | Mise jour |
|---|---|---|---|
| PCI Express | Cadastre parcellaire | DGFiP | Annuelle |
| BD Parcellaire | Limites cadastrales | IGN | Trimestrielle |
| RPG | Registre Parcellaire Graphique | ASP | Annuelle |
| MNHN | Espaces naturels protgs | Musum National d'Histoire Naturelle | Variable |
| GPU | Plans locaux d'urbanisme | Goportail de l'Urbanisme | Continue |
| FranceAgriMer | Appellations viticoles | INAO | Annuelle |
| BAN | Base Adresse Nationale | IGN / La Poste | Hebdomadaire |
Dveloppement
Structure du projet
ign-apicarto-mcp-server/
src/
index.ts # Point d'entre du serveur MCP
api-client.ts # Client HTTP pour l'API IGN
types.ts # Types TypeScript
dist/ # Fichiers compils
.env.example # Template des variables d'environnement
.env.local # Configuration locale (non versionn)
.gitignore
package.json
tsconfig.json
README.md
Scripts disponibles
# Dmarrer le serveur en mode dveloppement
npm run dev
# Compiler le projet
npm run build
# Dmarrer le serveur en production
npm start
# Lancer les tests (si disponibles)
npm test
# Vrifier le code
npm run lint
Contribuer
Les contributions sont les bienvenues ! Pour contribuer :
- Forkez le projet
- Crez une branche pour votre fonctionnalit (
git checkout -b feature/AmazingFeature) - Committez vos changements (
git commit -m 'Add some AmazingFeature') - Pushez vers la branche (
git push origin feature/AmazingFeature) - Ouvrez une Pull Request
Ajouter un nouvel outil
Pour ajouter un nouvel outil MCP :
- Crez un nouveau fichier dans
src/tools/ - Dfinissez le schma de l'outil avec ses paramtres
- Implmentez la logique d'appel l'API IGN
- Enregistrez l'outil dans
src/index.ts - Documentez l'outil dans ce README
Dpannage
Le serveur ne dmarre pas
Vrifications :
- Node.js version 16+ est install :
node --version - Les dpendances sont installes :
npm install - Le projet est compil :
npm run build - Le fichier
dist/index.jsexiste
Claude Desktop ne dtecte pas le serveur
Solutions :
- Vrifiez que le chemin dans
claude_desktop_config.jsonest absolu et correct - Redmarrez compltement Claude Desktop
- Vrifiez les logs de Claude Desktop :
- macOS :
~/Library/Logs/Claude/ - Windows :
%APPDATA%\Claude\logs\ - Linux :
~/.config/Claude/logs/
- macOS :
Erreurs d'API
Problmes courants :
| Erreur | Cause | Solution |
|---|---|---|
| Timeout | Requte trop complexe | Simplifier la gomtrie ou rduire la zone |
| 400 Bad Request | Paramtres invalides | Vrifier le format GeoJSON |
| 404 Not Found | Donnes non disponibles | Vrifier les codes INSEE/postaux |
| 500 Server Error | Problme ct IGN | Ressayer plus tard |
| Too many results | Plus de 1000 rsultats | Ajouter des filtres ou paginer |
Problmes de gomtrie
Les gomtries doivent tre en WGS84 (EPSG:4326) avec longitude avant latitude :
Correct : {"type":"Point","coordinates":[2.35, 48.85]}
Incorrect : {"type":"Point","coordinates":[48.85, 2.35]}
Performances lentes
Optimisations :
- Utilisez des gomtries simplifies pour les grandes zones
- Limitez le nombre de rsultats avec le paramtre
_limit - Utilisez des filtres spcifiques plutt que des requtes larges
- Vrifiez votre connexion internet
Ressources
Documentation officielle
- Documentation API Carto - Documentation complte des API
- Goservices IGN - Portail des goservices
- Model Context Protocol - Spcification MCP
- Claude Desktop - Application Claude Desktop
Outils utiles
- GeoJSON.io - Crer et visualiser des gomtries GeoJSON
- Projections EPSG - Informations sur les systmes de projection
- Goportail - Visualiser les donnes IGN
Communaut
- Issues GitHub - Reporter un bug ou suggrer une fonctionnalit
- Discussions - Poser des questions
Licence
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de dtails.
Donnes IGN
Les donnes IGN sont soumises la Licence Ouverte v2.0.
Dvelopp avec pour la communaut gospatiale franaise