Evan-Crx/permisapi-mcp

📊 Data Platforms🟢 Verified Active
0 Views
0 Installs

🐍 🏠 🍎 🪟 🐧 - 7 tools for French open-data building permits (Sitadel, 311k rows, 2M permits/year, Etalab license). Search, details, DVF transactions cross-ref, real estate dealer opportunity score, PLU urban zoning, BRGM natural and technological risks, and a Vue 360 composite that fans out 6 sub-fetches in one tool call. Powered by permisapi.fr. Plan Free covers basic search and details, Pro+ unlocks the enrichments. Install: pip install permisapi-mcp.

Quick Install

One-Click IDE Configuration
claude_desktop_config.json
{
  "mcpServers": {
    "evan-crx-permisapi-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "evan-crx-permisapi-mcp"
      ]
    }
  }
}
Or

Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.

Documentation Overview

permisapi-mcp

Serveur MCP (Model Context Protocol, Anthropic) pour PermisAPI.

Permet à Claude Desktop, Claude.ai web, ChatGPT custom GPT, Cursor, Windsurf ou tout client MCP-compatible de consulter 1,2 M+ permis de construire de France (Sitadel 2014-2026, résidentiel + non-résidentiel, depuis 2014) en langage naturel.

18 outils disponibles : recherche par adresse, score d'opportunité Marchand de Biens v0.3 et son explication transparente (les 11 signaux pondérés détaillés en français avec interprétation contextualisée), prix au m² des ventes voisines sur 12 ans, zonage urbanisme PLU, risques (inondation, sismique, ICPE), parcelle cadastre DGFiP (par identifiant Etalab ou par géométrie), bâtiments existants (terrain nu vs déjà bâti), parcelles voisines d'un permis (pattern d'activité local marchand de biens), recherche par polygone GeoJSON custom (ZAC, périmètre opération), statistiques densité commune, budget chantier estimé (fourchette EUR

  • scénario neuf / rénovation / démolition basé surfaces Sitadel + barème Capeb / FFB + INSEE ICP-BT), entreprises BTP locales par lot (SIRENE NAF 41/42/43, 1 086 952 actifs en BDD géolocalisés WGS84) et enrichissement de liste client.

Deux modes au choix

Mode 1 : SSE hosted (recommandé, zéro installation)

Connecte directement Claude.ai web ou ChatGPT à https://mcp.permisapi.fr/mcp avec ta clé PermisAPI en Bearer token. Pas de Python à installer, pas de config locale, ça marche depuis n'importe quel browser.

Claude.ai web (Settings > Integrations > Add MCP server) :

URL    : https://mcp.permisapi.fr/mcp
Auth   : Bearer
Token  : pk_live_VOTRE_CLE

Cursor / Windsurf (~/.cursor/mcp.json) :

{
  "mcpServers": {
    "permisapi-hosted": {
      "url": "https://mcp.permisapi.fr/mcp",
      "headers": { "Authorization": "Bearer pk_live_VOTRE_CLE" }
    }
  }
}

Mode supporté : Streamable HTTP (spec actuelle MCP) sur /mcp ET SSE legacy sur /sse + /messages/ (backward compat). Aucune donnée n'est stockée côté serveur MCP, c'est un proxy authentifié vers api.permisapi.fr.

Mode 2 : stdio local (Claude Desktop classique)

Pour Claude Desktop ou si tu préfères tout en local, install Python et le package permisapi-mcp :

Pré-requis

  • Python 3.10 ou plus récent (requis par le MCP SDK Anthropic, non négociable)
  • Une clé PermisAPI : https://permisapi.fr/#pricing (gratuite pour commencer)

Installation

Vérifier 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 système).

Configuration Claude Desktop

Éditez ~/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"
      }
    }
  }
}

Redémarrez Claude Desktop. Vous pouvez maintenant demander :

« Liste les permis de logement déposés à Paris ce mois avec un score MDB > 70 »

« Trouve-moi des opportunités MDB autour de la rue de Passy à Paris »

« Quel est le zonage PLU du permis 0930662500027 ? »

Note sur le périmètre géographique :

  • Free : 1 département au choix (Paris par défaut). Modifiable via le dashboard.
  • Explorer : 5 départements au choix (Paris/Lyon/Marseille/Bordeaux/Toulouse par défaut).
  • Pro / Business / Enterprise : France entière, aucune restriction géographique.

Les exemples ci-dessus ciblent Paris (75) pour qu'ils fonctionnent immédiatement sur tous les plans. Si vous êtes sur Explorer avec ses départements par défaut, vous pouvez aussi demander "à Lyon", "à Bordeaux", etc.

Configuration Cursor / Windsurf / autres clients

Voir le guide complet : https://permisapi.fr/mcp

Tools disponibles (18)

ToolEndpointPlan
search_permitsGET /v1/permits (13 filtres)Free
get_permit_detailsGET /v1/permits/{num_pa}Free
fuzzy_search_addressesGET /v1/search?q=text (pg_trgm fuzzy)Free
find_dvf_neighborsGET /v1/permits/{num_pa}/dvf (12 ans : Cerema DVF+ 2014-2020 fusionné Geo-DVF 2021-2025)Pro
get_mdb_scoreGET /v1/permits/{num_pa}/score (Score MDB v0.3, 11 signaux)Pro
get_score_explanationGET /v1/permits/{num_pa}/score/explain (11 signaux décryptés + interprétation FR contextualisée + top drivers/drags + inputs concrets, USP transparence)Pro
get_plu_zoningGET /v1/permits/{num_pa}/pluPro
get_risksGET /v1/permits/{num_pa}/risks (Géorisques BRGM)Pro
get_parcelle_geometryGET /v1/permits/{num_pa}/parcelle (cadastre DGFiP)Pro
get_existing_buildingsGET /v1/permits/{num_pa}/batiments-existants (terrain nu vs bâti, use case MDB)Pro
get_parcelle_by_idGET /v1/parcelles/{id_parcelle} (lookup direct cadastre 14 chars Etalab)Pro
get_neighbor_parcelsGET /v1/permits/{num_pa}/parcelles-voisines (rayon 10-2000 m, killer feature MDB)Pro
search_permits_in_polygonPOST /v1/permits/inside-polygon (polygon GeoJSON custom ZAC)Business
get_commune_density_statsGET /v1/stats/commune/{code}/density (BI agrégé parcelles + bâtiments + permits)Business
get_permit_full_viewGET /v1/permits/{num_pa}/360 (composite 6-en-1)Pro
bulk_enrich_listPOST /v1/permits/bulk-enrich (croise liste client jusqu'à 1 000 lignes)Business
get_economicsGET /v1/permits/{num_pa}/economics (budget chantier : fourchette EUR + scénario + breakdown_by_lot Capeb / FFB + INSEE ICP-BT)Pro
get_contractorsGET /v1/permits/{num_pa}/contractors (entreprises BTP locales SIRENE NAF 41/42/43, filtres rayon / métier / effectif)Pro

Sécurité

  • La clé API reste côté user (env var locale, jamais transmise au LLM)
  • Le LLM voit uniquement les arguments des tools (pas la clé)
  • Validation stricte des inputs (regex sur num_pa, ranges Pydantic)
  • 16 outils en consultation pure (GET) + 2 outils POST (bulk_enrich_list qui croise une liste client, et search_permits_in_polygon qui prend un polygon GeoJSON custom). Tous en lecture seule côté PermisAPI : aucune donnée client n'est stockée, on renvoie juste les permits qui matchent.

Troubleshooting

pip install permisapi-mcp dit "package introuvable" ou "no matching distribution"

Cause la plus fréquente : votre Python est plus ancien que 3.10. Le MCP SDK Anthropic requiert Python 3.10 minimum, on ne peut pas descendre cette borne.

Vérifiez :

python --version       # ou python3 --version

Si < 3.10, deux solutions au choix.

Solution A (recommandée, 30 secondes) : uvx avec pin Python

uvx installe et lance le serveur dans un Python isolé pinné à la version voulue, sans toucher à votre installation système.

# 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 système

  • macOS : brew install python@3.11
  • Windows : télécharger https://www.python.org/downloads/ et cocher "Add to PATH"
  • Linux : sudo apt install python3.11 (ou équivalent distro)

Puis pip3.11 install permisapi-mcp.

Guide setup complet + autres FAQ : https://permisapi.fr/mcp

Licence

MIT.

Support

evan@permisapi.fr : réponse 24-48h sur les plans Pro+, 24-72h sur les autres.

Code source

github.com/Evan-Crx/permisapi-mcp

Related MCP Servers

1luvc0d3/metabase-mcp

📇 🏠 - MCP server connecting Claude to Metabase with 28 tools for natural language data analysis, dashboard management, SQL queries, and automated insights. Features SQL guardrails, rate limiting, and audit logging.

📊 Data Platforms0 views
aegis-dq/aegis-dq

🐍 🏠 🍎 🪟 🐧 - Agentic data quality framework that runs structured rules against warehouses (DuckDB, BigQuery, Athena, Databricks, Postgres), diagnoses failures with LLM root cause analysis, and proposes SQL remediations. Every LLM decision is audit-logged with cost and latency.

📊 Data Platforms0 views
alanpcf/brasil-data-mcp

📇 🏠 🍎 🪟 🐧 - Brazilian public data for AI agents — companies (CNPJ), addresses (CEP), banks (BACEN), national holidays — via BrasilAPI. No auth, no API key. Install: npx -y brasil-data-mcp.

📊 Data Platforms0 views
Alessandro114/scala-mcp-server

📇 ☁️ 🍎 🪟 🐧 - Search and enrich data from 250M+ companies across 50+ countries. Company lookup by name, VAT, or ID, NACE sector search, and financial data from official EU business registries. Free tier: 50 lookups/month. Install: npx scala-mcp-server.

📊 Data Platforms0 views

Engagement

Views
0
Installs
0
Upvotes
0

Views and upvotes are unique per visitor network (hashed IP). Installs count copy actions.

Status

Health: Active

Recent health check succeeded.

Last checked: 7/29/2026, 4:30:57 AM

Unclaimed listing (imported or pending owner verification). Claim it →
★ Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge and attach your website.

Claim this listing

Promote this listing

Optional paid placement. Free listings stay free forever.

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.