MCP server pour PermisAPI : 10 outils pour consulter 1,2 M+ permis de construire de France (2014-2026) depuis Claude Desktop, Cursor, Windsurf et tout client MCP-compatible.
Project description
permisapi-mcp
Serveur MCP (Model Context Protocol, Anthropic) pour PermisAPI.
Permet a Claude Desktop, Cursor, Windsurf ou tout client MCP-compatible de consulter 1,2 M+ permis de construire de France (Sitadel 2014-2026, residentiel + non-residentiel, depuis 2014) en langage naturel.
10 outils disponibles : recherche par adresse, score d'opportunite Marchand de Biens, prix au m² des ventes voisines sur 12 ans, zonage urbanisme PLU, risques (inondation, sismique, ICPE), parcelle cadastre DGFiP, et enrichissement de liste client.
Pre-requis
- Python 3.10 ou plus recent (requis par le MCP SDK Anthropic, non negociable)
- Une cle PermisAPI : https://permisapi.fr/#pricing (gratuite pour commencer)
Installation
Verifier d'abord la version Python :
python --version # macOS / Linux / Windows
Si >= 3.10 :
pip install permisapi-mcp
Si < 3.10, voir la section Troubleshooting plus bas
(workaround uvx en 1 commande, pas besoin d'upgrade systeme).
Configuration Claude Desktop
Editez ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
ou %APPDATA%\Claude\claude_desktop_config.json (Windows) :
{
"mcpServers": {
"permisapi": {
"command": "permisapi-mcp",
"env": {
"PERMISAPI_KEY": "pk_live_VOTRE_CLE"
}
}
}
}
Redemarrez Claude Desktop. Vous pouvez maintenant demander :
« Liste les permis de logement deposes a Bordeaux ce mois avec un score MDB > 70 »
« Trouve-moi des opportunites MDB autour de la rue de Passy a Paris »
« Quel est le zonage PLU du permis PC07404021K1 ? »
Configuration Cursor / Windsurf / autres clients
Voir le guide complet : https://permisapi.fr/mcp
Tools disponibles (10)
| Tool | Endpoint | Plan |
|---|---|---|
search_permits |
GET /v1/permits (13 filtres) | Free |
get_permit_details |
GET /v1/permits/{num_pa} | Free |
fuzzy_search_addresses |
GET /v1/search?q=text (pg_trgm fuzzy) | Free |
find_dvf_neighbors |
GET /v1/permits/{num_pa}/dvf (12 ans : Cerema DVF+ 2014-2020 fusionne Geo-DVF 2021-2025) | Pro |
get_mdb_score |
GET /v1/permits/{num_pa}/score (Score MDB v0.2, 10 signaux) | Pro |
get_plu_zoning |
GET /v1/permits/{num_pa}/plu | Pro |
get_risks |
GET /v1/permits/{num_pa}/risks (Georisques BRGM) | Pro |
get_parcelle_geometry |
GET /v1/permits/{num_pa}/parcelle (cadastre DGFiP) | Pro |
get_permit_full_view |
GET /v1/permits/{num_pa}/360 (composite 6-en-1) | Pro |
bulk_enrich_list |
POST /v1/permits/bulk-enrich (croise liste client jusqu'a 1 000 lignes) | Business |
Securite
- La cle API reste cote user (env var locale, jamais transmise au LLM)
- Le LLM voit uniquement les arguments des tools (pas la cle)
- Validation stricte des inputs (regex sur
num_pa, ranges Pydantic) - 9 outils en consultation pure (GET) + 1 outil de croisement de liste (POST bulk_enrich_list, lecture seule cote PermisAPI : renvoie les permis qui matchent les adresses du client, sans stocker la liste)
Troubleshooting
pip install permisapi-mcp dit "package introuvable" ou "no matching distribution"
Cause la plus frequente : votre Python est plus ancien que 3.10. Le MCP SDK Anthropic requiert Python 3.10 minimum, on ne peut pas descendre cette borne.
Verifiez :
python --version # ou python3 --version
Si < 3.10, deux solutions au choix.
Solution A (recommandee, 30 secondes) : uvx avec pin Python
uvx installe et lance le serveur dans un Python isole pinne a la version
voulue, sans toucher a votre installation systeme.
# 1. Installer uv (une seule fois)
curl -LsSf https://astral.sh/uv/install.sh | sh # macOS / Linux
powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # Windows PowerShell
# 2. Lancer le serveur
uvx --python 3.11 permisapi-mcp
Puis dans la config Claude Desktop, remplacez "command": "permisapi-mcp" par :
{
"mcpServers": {
"permisapi": {
"command": "uvx",
"args": ["--python", "3.11", "permisapi-mcp"],
"env": { "PERMISAPI_KEY": "pk_live_VOTRE_CLE" }
}
}
}
Solution B : upgrade Python systeme
- macOS :
brew install python@3.11 - Windows : telecharger https://www.python.org/downloads/ et cocher "Add to PATH"
- Linux :
sudo apt install python3.11(ou equivalent distro)
Puis pip3.11 install permisapi-mcp.
Guide setup complet + autres FAQ : https://permisapi.fr/mcp
Licence
MIT.
Support
evan@permisapi.fr - reponse 24-48h sur les plans Pro+, 24-72h sur les autres.
Code source
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file permisapi_mcp-0.4.0.tar.gz.
File metadata
- Download URL: permisapi_mcp-0.4.0.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4b7ece02c3d976cb41a23038dbc1af1f01f6b8d5426d9c638900e81d7eac8ce
|
|
| MD5 |
45b9be7dfaefa1d7d15e66726dfbc594
|
|
| BLAKE2b-256 |
cad23767d7ca8c8575b9bb258858cd7d4e0b9cc5d709d30610c15d82ef2b6505
|
File details
Details for the file permisapi_mcp-0.4.0-py3-none-any.whl.
File metadata
- Download URL: permisapi_mcp-0.4.0-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6c063a9a6e7d82fb2448afa97a76b528b177ad09fb3d10bfe1c180160c7b8ba
|
|
| MD5 |
d31cbfca7247de883857cd103c37f9ed
|
|
| BLAKE2b-256 |
456bcfc752d1e7324e70c9614a74a331b5a9ec0b31dcf4fd542f7953ba0a3a12
|