Edifiable
Server Details
French land-use plans (PLU): what a zone or a street allows, cited at the article. No key.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
4 toolsget_french_building_permit_piecesPieces d'un permis de construire en FranceARead-onlyIdempotentInspect
Les pieces a joindre a une demande de permis de construire pour une maison individuelle en France (formulaire Cerfa 13406*15), en distinguant celles qui sont exigees partout de celles que le terrain declenche : sismicite, plan de prevention des risques, monument historique. Faits lus au centre de la commune, pas a une adresse.
| Name | Required | Description | Default |
|---|---|---|---|
| code_insee | Yes | Code INSEE de la commune, cinq caracteres, par exemple 31395 (Muret). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, open-world, non-destructive behavior. The description adds meaningful behavioral detail: output distinguishes universally required pieces from terrain-triggered ones, and facts are based on commune center rather than a specific address. This exceeds annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, dense sentence carries the full purpose, scope, output categorization, and spatial limitation without redundancy. Every clause earns its place, and key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter, read-only tool with no output schema, the description covers purpose, scope, granularity, and categories of results. It does not enumerate the actual pieces, but that is not required for tool selection; the description is reasonably complete for invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by explaining that code_insee determines commune-level triggers like sismicite, risk prevention plans, and historic monuments, and clarifies spatial resolution (commune center). This goes beyond the schema's format-only description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('pieces a joindre a une demande de permis de construire pour une maison individuelle'), specifies the Cerfa form, and distinguishes universal requirements from terrain-triggered ones. This clearly differentiates it from the urbanism-rule siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the context clear: it is for an individual house building permit in France, with results read at commune center, not at an address. It implicitly excludes address-level use but does not explicitly name alternatives or state when-not-to-use relative to the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_french_urbanism_rules_for_streetRegles d'urbanisme applicables a une rue en FranceARead-onlyIdempotentInspect
La zone du plan local d'urbanisme au droit d'une rue francaise et ce que le reglement en dit : les regles du chapitre avec les cas propres au secteur en avant, ce que le plan graphique impose ici, les autres zones que la voie longe a 120 m, les prescriptions et servitudes dessinees autour, les pieces du permis que le terrain declenche. Meme texte que le jumeau .md de la page de rue. Le numero de rue est inutile : la regle se lit a la zone, pas au batiment.
| Name | Required | Description | Default |
|---|---|---|---|
| voie | Yes | Nom de la voie en toutes lettres, par exemple « avenue Jacques Douzans ». | |
| code_insee | Yes | Code INSEE de la commune, cinq caracteres, par exemple 31395 (Muret). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint, idempotentHint, and destructiveHint=false already covering side effects, the description adds substantial behavioral detail: it enumerates the return contents, the 120 m side-zone scope, and the equivalence to the '.md twin' of the street page. It does not discuss errors or output format, but for a read-only tool this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the core scope, then uses a colon-separated list to enumerate return elements. Every sentence earns its place, though the first sentence is a long run-on and the reference to the '.md twin' is somewhat cryptic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with only two well-described parameters and no output schema, the description covers the returned content, the geographic scope, and the key input caveat. It is slightly incomplete in not distinguishing from sibling tools or clarifying the return format beyond 'same text as the .md twin'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents both parameters with 100% coverage, so the baseline is 3. The description adds one valuable semantic clarification: the street number is irrelevant because the rule is read at the zone, not at the building, which prevents a likely misuse of the 'voie' parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (a French street and its PLU zone) and the operation's output: chapter rules, sector-specific cases, graphic-plan constraints, neighboring zones up to 120 m, prescriptions/servitudes, and triggered permit pieces. It also separates this from building-level queries by stating 'Le numero de rue est inutile : la regle se lit a la zone, pas au batiment.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides strong context for street-level PLU regulation lookup and even warns not to pass a street number, but it never names sibling alternatives such as get_french_urbanism_zone_rules or get_french_building_permit_pieces, and does not state when this tool should be preferred over them. The selection guidance is therefore implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_french_urbanism_zone_rulesRegles d'urbanisme d'une zone en FranceARead-onlyIdempotentInspect
Ce qu'une zone d'un plan local d'urbanisme francais autorise. Quand la commune est compilee, les regles en clair - hauteur, emprise, reculs, stationnement, espaces verts - chacune avec sa valeur, la condition qui la declenche et la phrase du reglement qui la porte ; puis le texte integral des articles de la zone. Meme texte que le jumeau .md de la page de zone. Un document qui ne suit pas la numerotation attendue rend zero article, et l'outil le dit plutot que de deviner.
| Name | Required | Description | Default |
|---|---|---|---|
| zone | Yes | Code de zone du plan local d'urbanisme, par exemple UA, UB, AU, A ou N. | |
| code_insee | Yes | Code INSEE de la commune, cinq caracteres, par exemple 31395 (Muret). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare the tool read-only, idempotent, and non-destructive. The description adds valuable behavioral context by describing the output structure, the equivalence with the .md twin, and the failure mode where a document with unexpected numbering returns zero articles and says so instead of guessing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured: purpose first, then output composition, then the twin-document equivalence, then the failure behavior. Every sentence adds distinct useful information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description adequately explains what the agent will receive: clear rules with value, condition, and regulation text, followed by full articles. It also covers an important edge case. It does not describe behavior when the commune is not compiled, but overall it is sufficiently complete for a simple two-parameter read-only tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both code_insee and zone fully documented including examples and a pattern. The description adds domain context about rule categories, but no parameter-level semantic detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence clearly states that the tool returns what a zone of a French PLU authorizes, with a specific verb and resource. It is obviously zone-scoped and distinguishes itself from street-level or search siblings, though it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when you need zone-level urbanism rules and the commune is compiled. However, it does not explicitly contrast this tool with get_french_urbanism_rules_for_street or search_french_urbanism_regulation, so the routing guidance is left mostly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_french_urbanism_regulationChercher dans le reglement d'urbanisme d'une commune francaiseARead-onlyIdempotentInspect
Cherche des mots dans le texte du reglement d'urbanisme d'une commune francaise et rend les articles qui les contiennent, avec leur zone et leur numero. Utile quand on ne sait pas dans quel article une regle se trouve : cloture, piscine, toiture, stationnement.
| Name | Required | Description | Default |
|---|---|---|---|
| mots | Yes | Les mots a chercher, par exemple « hauteur ». | |
| code_insee | Yes | Code INSEE de la commune, cinq caracteres, par exemple 31395 (Muret). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior, so the description does not need to restate safety. It adds useful behavioral detail beyond annotations: it performs keyword search over regulation text and returns the containing articles with zone and number. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences carry all essential information: what the tool does, what it returns, and when to use it. The examples are compact and useful, with no redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only search tool with two parameters, a complete schema, and rich annotations, the description is sufficient. It explains the search target, the return shape, and the typical use case. There is no output schema, so the description's mention of returned articles, zone, and number fills that gap well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both parameters already well described. The description reinforces the meaning of 'mots' through examples but adds little semantic value beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Cherche des mots'), the resource (the text of a French commune's urbanism regulation), and the output (articles with their zone and number). This makes it easy to distinguish from the sibling getter tools, which target permits, street rules, or zone rules rather than full-text keyword search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear use case: 'Utile quand on ne sait pas dans quel article une regle se trouve', followed by concrete examples like cloture, piscine, toiture, stationnement. It does not explicitly name sibling tools or state when not to use them, but the intended context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
- First observed
get_french_building_permit_pieces - First observed
get_french_urbanism_rules_for_street - First observed
get_french_urbanism_zone_rules - First observed
search_french_urbanism_regulation
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Australian planning data for ~455 councils, 7 states — clause-cited, confidence-tagged.
A French address, all public facts: parcel, zoning, risks, permits, sales, energy labels. No key.
US municipal zoning intelligence — corridor analysis, place dossiers, named-pattern detection.
STR legality, permits and lodging tax by city, each field cited to its source jurisdiction.
Related MCP Servers
- AlicenseAqualityFmaintenanceFrench building permits MCP server: 1.2M Sitadel permits (2014-2026, daily refresh), DVF transactions, cadastre DGFiP, PLU zoning, BRGM risks, and property-dealer opportunity scoring through 11 MCP tools. Free tier 500 req/month, no credit card.113MIT
- AlicenseAqualityDmaintenanceAccess French geographic data from IGN (Institut national de l'information géographique et forestière) including cadastral parcels, agricultural land registry, protected natural areas, urban planning zones, and wine appellations through natural language queries.911MIT
- AlicenseNot gradedqualityCmaintenanceAccess 17M+ geocoded French property transactions (DVF), 22M+ DPE energy ratings, and 20M+ building records via MCP or REST API. Search transactions, market stats, comparables, price trends, rental yield, flip detection, and more.MIT
- AlicenseNot gradedqualityCmaintenanceAnalyzes French real-estate market using open data sources like DVF transactions, DPE certificates, and risk data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct entry point: permit checklist, street-level rules, zone-level rules, and full-text search. The street and zone tools are the closest pair, but their descriptions clearly separate 'along a street' from 'for a zone', so misselection is unlikely.
All tools use snake_case with a get_french_* / search_french_* prefix that clearly signals the domain. The consistent 'french_urbanism' block in three tools and 'french_building_permit' for the checklist makes the resource being queried predictable.
Four tools is a reasonable, focused size for a read-only French urbanism/permits domain. Each tool covers a distinct query mode, and none feels redundant or decorative.
The set covers the main ways to consult French urbanism rules: by street, by zone, and by keyword search, plus the permit-pieces checklist. There are minor gaps such as no direct parcel/address-to-zone lookup or non-individual-house permit variants, but agents can usually route through street or search tools.