Skip to main content
Glama
Evan-Crx

permisapi-mcp

search_permits

Search French building permits using combined filters: department, municipality, permit type, status, date range, minimum area, or applicant SIREN. Returns a page of permits with basic info.

Instructions

Recherche des permis de construire de France avec filtres combinables : département, commune, type de permis, état, dates, surface min, SIREN demandeur. Retourne une page de permits avec leurs infos de base. Plan Free OK.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dep_codeNoCode département INSEE 2 chars (ex 75 Paris, 33 Bordeaux). Requis pour Free/Explorer.
comm_codeNoCode commune INSEE 5 chars (ex 75116 Paris 16e).
permit_typeNo
etat_paNoÉtat permis : 1=Accordé, 2=Tacite, 3=Refusé, 4=Irrecevable, 5=Retrait, 6=Achevé.
date_fromNoYYYY-MM-DD.
date_toNoYYYY-MM-DD.
min_superficieNoSurface terrain min en m².
siren_demNoSIREN du demandeur (9 chiffres).
sortNoTri du résultat. Champs autorisés : date_reelle_autorisation, date_depot, an_depot, superficie_terrain. Préfixe '-' pour descendant (ex '-superficie_terrain' pour les plus grandes surfaces en premier). Défaut '-date_reelle_autorisation'.
min_scoreNoFiltre les permis avec un Score Opportunité MDB >= N (0-100). Réservé aux plans Pro+. Permet de shortlister les top opportunités en 1 call. Coût quota = `limit` unités (pas 1).
max_riskNoFiltre les permis dont la commune est au-dessus du tier de risque spécifié (Géorisques BRGM). Exemple 'moderate' retourne uniquement low + moderate. Réservé aux plans Pro+. Coût quota = `limit` unités (pas 1). Use case marchand de biens : exclure d'office les zones inondables / Seveso / sismiques eleves.
plu_zone_typeNoFiltre par prefix de zonage urbanisme PLU. U = urbain constructible, AU = a urbaniser, A = agricole non constructible, N = naturelle non constructible. Réservé aux plans Pro+. Coût quota = limit unites.
plu_constructibleNoFiltre par verdict de constructibilite PLU. true = uniquement zones constructibles (U + AU). false = uniquement zones non constructibles (A + N). Réservé aux plans Pro+. Coût quota = limit unites. Combine avec min_score pour shortlister les vraies opportunités MDB.
limitNo
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses that certain filters have quota costs and are reserved for higher plans, which is good. However, it lacks details on pagination, error responses, or rate limits, and doesn't clarify that 'page' implies no offset parameter (only limit).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with purpose. The first sentence lists filters efficiently. Could be structured with bullet points for readability, but overall no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 14 complex parameters, no output schema, and no annotations, description covers plan tiers, cost implications, and return type ('page de permits'). Missing details: pagination mechanism, return field list, error handling, and rate limits. However, sibling tools like get_permit_details fill the gap for detailed views, making this adequate for a search endpoint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 86% (12 of 14 params have descriptions), so baseline is 3. The description adds minimal value beyond schema: it states 'filtres combinables' and 'infos de base', but doesn't elaborate on parameter usage or constraints beyond what's in schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it searches for French building permits with combinable filters and returns basic info. The verb 'Recherche' and resource 'permis de construire' are specific. While it distinguishes from siblings like get_permit_details by its listing nature, it doesn't explicitly contrast with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage for filtered searches but provides no explicit when-to-use or alternatives. It mentions plan restrictions (e.g., 'Free OK', 'réservé aux plans Pro+') which gives some context, but no guidance on when to choose this over sibling tools like bulk_enrich_list or find_dvf_neighbors.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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/Evan-Crx/permisapi-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server