Skip to main content

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

github.com/Evan-Crx/permisapi-mcp

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

permisapi_mcp-0.4.0.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

permisapi_mcp-0.4.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

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

Hashes for permisapi_mcp-0.4.0.tar.gz
Algorithm Hash digest
SHA256 c4b7ece02c3d976cb41a23038dbc1af1f01f6b8d5426d9c638900e81d7eac8ce
MD5 45b9be7dfaefa1d7d15e66726dfbc594
BLAKE2b-256 cad23767d7ca8c8575b9bb258858cd7d4e0b9cc5d709d30610c15d82ef2b6505

See more details on using hashes here.

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

Hashes for permisapi_mcp-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a6c063a9a6e7d82fb2448afa97a76b528b177ad09fb3d10bfe1c180160c7b8ba
MD5 d31cbfca7247de883857cd103c37f9ed
BLAKE2b-256 456bcfc752d1e7324e70c9614a74a331b5a9ec0b31dcf4fd542f7953ba0a3a12

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page