TrustyData
Server Details
French address quality, geocoding & routing from official data (BAN, INSEE, OpenStreetMap).
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- htristram/trustydata-mcp-server
- GitHub Stars
- 3
- Server Listing
- TrustyData MCP Server
Available Tools
9 toolscompute_routeCompute RouteAInspect
Calcule un itinéraire complet entre une origine et une destination sur le réseau France (OpenStreetMap), au choix en voiture, à pied ou à vélo : distance, durée, étapes de navigation en français, boîte englobante et géométrie encodée (polyline6). Mode de déplacement : car (voiture, défaut), walking (à pied) ou cycling (à vélo). Les valeurs du contrat d'API (auto, pieton, velo) sont acceptées telles quelles. Les consignes suivent le mode — « Conduisez… », « Marchez… », « Pédalez… » — et la réponse renvoie le mode utilisé : cite-le à côté de la durée, une durée sans son mode n'est pas interprétable. ⚠️ Chaque mode a sa distance maximale : 5 000 km en voiture, 500 km à vélo, 250 km à pied ; au-delà la réponse est un 422 explicite, pas une panne. Pour de simples distances en masse, préfère route_matrix. Plan minimum : Business. Mention OSM ODbL obligatoire.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ||
| origin | Yes | ||
| destination | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description shoulders the transparency burden and does so thoroughly. It discloses default mode, accepted API aliases, mode-dependent navigation instructions, the fact that responses include the used mode, per-mode distance limits, the explicit 422 error behavior, licensing/attribution requirements, and plan restrictions.
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 every sentence adds actionable information: function, outputs, modes, aliases, behavior, limits, error handling, alternative, and legal constraints. It is front-loaded with the core purpose and uses a clear warning symbol for the most critical limitation.
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?
Given no output schema and no annotations, the description covers the essential operational context: response contents, mode semantics, distance limits, error behavior, required plan, attribution, and a named sibling for alternative use cases. An agent can correctly invoke and interpret the response with this description alone.
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 0%, so the description must compensate. It provides rich semantics for the mode parameter, including accepted values, aliases, defaults, and per-mode distance limits. It does not explain that origin and destination can be coordinates or address, although nested schema descriptions partially cover that; the main gap is some detail on how to choose between lat/lon and address.
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 opens with a specific verb and resource: 'Calcule un itinéraire complet entre une origine et une destination sur le réseau France (OpenStreetMap)' and enumerates the outputs (distance, duration, navigation steps, bounding box, polyline6 geometry). It also differentiates itself from route_matrix by explicitly naming it as the better tool for bulk distances.
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 concrete when-to-use guidance: it explains the supported modes, the maximum distances per mode, the explicit 422 behavior, and states 'Pour de simples distances en masse, préfère route_matrix.' It also provides operational constraints like 'Plan minimum : Business' and 'Mention OSM ODbL obligatoire.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_address_detailsGet Address DetailsAInspect
Récupère le détail complet d'une adresse via son identifiant (id renvoyé par search_address ou verify_address). Outil de drill-down : les détails sont déjà inclus inline par les deux autres outils. Plan minimum : Discovery.
| Name | Required | Description | Default |
|---|---|---|---|
| address_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden, and it does reasonably well: 'Récupère' makes the read-only nature clear, and the drill-down note reveals that the same details are already inline in search/verify results. The cryptic 'Plan minimum: Discovery' is the only opaque behavioral hint, but it does not undermine correctness.
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 compact and front-loads the core purpose in the first sentence. The drill-down/redundancy note earns its place, though 'Plan minimum: Discovery' is vague and adds confusion rather than clear value.
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 drill-down tool with no output schema, the description is nearly complete: it defines the input, its source, and the relationship to sibling tools. It could be improved by explaining the return shape or error behavior, but nothing blocks an agent from calling it 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 0% and the schema only says address_id is a string. The description compensates by explaining that the parameter is the identifier returned by search_address or verify_address, giving an agent a concrete way to obtain a valid value. It does not detail format or validation rules, but for a single parameter this is sufficient.
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 states a specific verb and resource: retrieving the complete details of an address by its identifier. It also names where the id comes from (search_address or verify_address) and labels the tool as a drill-down, clearly distinguishing it from the sibling search and verify tools.
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 clear usage context: it is a drill-down tool whose id must come from search_address or verify_address, and it notes that those two tools already include details inline, so the agent can know when this call may be redundant. It stops short of an explicit 'use only when' or 'do not use' rule, but the guidance is serviceable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_detailsGet Company DetailsAInspect
Fiche détaillée d'une entreprise ou d'un établissement français (base SIRENE). Un seul identifiant, deux usages : un SIRET (14 chiffres) renvoie la fiche de CET établissement ; un SIREN (9 chiffres) renvoie celle du SIÈGE de l'entreprise. Structure de la réponse : la racine décrit l'ÉTABLISSEMENT (adresse, activité, effectif, état, conventions collectives applicables à CE site) et le bloc unite_legale décrit l'ENTREPRISE (identité, dirigeants, chiffre d'affaires, TVA). Le niveau de détail dépend du plan : géolocalisation et TVA en Starter, dirigeants et conventions collectives en Growth, finances et procédures collectives en Business. Un champ ABSENT n'est pas une donnée inexistante : il peut être hors plan — propose alors la montée de plan plutôt que d'affirmer que la donnée n'existe pas. Les dirigeants sont des données personnelles issues du Registre National des Entreprises (INPI) ; chacun porte opposition_prospection — true = cette personne s'est opposée à l'usage de ses données à des fins de prospection commerciale, false = pas d'opposition enregistrée, null = non renseigné (à ne pas lire comme false). C'est le SEUL endroit où cette information est servie. Plan minimum : Discovery.
| Name | Required | Description | Default |
|---|---|---|---|
| company_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does so thoroughly. It discloses the response structure, plan-dependent field availability, the semantics of absent fields (not to be interpreted as nonexistent data), personal-data provenance, and the three-state meaning of opposition_prospection.
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?
Although lengthy, every sentence adds unique operational value: identifier formats, response layout, plan tiers, absent-field handling, personal-data semantics, and uniqueness. The content is front-loaded with the core purpose and identifier behavior before diving into details.
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?
Given there is no output schema and no annotations, the description covers all essential aspects: identifier interpretation, response hierarchy, plan gating, field-absence semantics, sensitive data meaning, uniqueness of the data source, and the minimum required plan. An agent has enough information to invoke the tool correctly and interpret the result.
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 only declares company_id as a string with 0% description coverage. The tool description fully compensates by specifying the accepted SIRET/SIREN formats, their lengths, and the different semantics of each identifier, which is essential for correct invocation.
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 states a specific verb and resource: it returns a detailed record (fiche) for a French company or establishment from the SIRENE base. It explicitly distinguishes the two input identifier types (SIRET vs SIREN) and their different outputs, which separates it from sibling search/route tools.
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 clear operational guidance: use a 14-digit SIRET to get that establishment's record, or a 9-digit SIREN to get the company headquarters record. It also states this is the only place the opposition_prospection field is served. However, it does not explicitly contrast with search_company or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
route_matrixRoute MatrixAInspect
Calcule une matrice de distances et durées entre N origines et M destinations (jusqu'à 25×25) sur le réseau France (OpenStreetMap), au choix en voiture, à pied ou à vélo. Sans géométrie ni consignes : pour un itinéraire détaillé, utilise compute_route. Mode de déplacement : car (voiture, défaut), walking (à pied) ou cycling (à vélo). Les valeurs du contrat d'API (auto, pieton, velo) sont acceptées telles quelles. ⚠️ La matrice plafonne à 1 500 km en voiture et à 200 km à pied comme à vélo — des limites plus basses que compute_route (5 000 / 250 / 500 km) : un trajet que compute_route accepte peut être refusé ici, en 422. Plan minimum : Growth. Mention OSM ODbL obligatoire.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ||
| origins | Yes | ||
| destinations | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and delivers richly: it discloses that no geometry/waypoints are returned, per-mode distance caps, legacy API aliases accepted as-is, 422 error behavior on refused requests, a minimum Growth plan requirement, and mandatory OSM ODbL attribution. This is far beyond typical disclosure.
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?
Dense but every clause earns its place: purpose, sibling exclusion, mode semantics, legacy aliases, hard limits with comparison, error code, plan requirement, and legal note. The core purpose is front-loaded and the most critical operational constraint is flagged with ⚠️.
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?
Constraint coverage is excellent: modes, limits, error behavior, plan tier, attribution, and sibling routing are all covered. The one real gap is that no output schema exists and the description does not describe the matrix response shape, so an agent cannot anticipate the exact return format.
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?
Top-level schema coverage is 0%, so the description compensates well: mode is fully documented with its three values, the 'car' default, and legacy aliases (`auto`, `pieton`, `velo`); origins/destinations get matrix-size context (N×M capped at 25×25). The lat/lon vs address XOR semantics remain only in the schema's nested description, which is a minor residual gap.
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?
States a specific verb ('Calcule') and resource: a distance/duration matrix between N origins and M destinations, up to 25×25, on the France OSM network with car/walking/cycling modes. Explicitly contrasts itself with the sibling tool ('pour un itinéraire détaillé, utilise compute_route'), so an agent can tell them apart immediately.
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?
Gives explicit when-not guidance: no geometry or directions are returned, with compute_route named as the alternative for detailed routing. Reinforces selection by comparing distance limits (1,500/200/200 km here vs 5,000/250/500 km for compute_route) and flagging that an over-limit call can be refused with a 422.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_addressSearch AddressAInspect
Recherche des adresses françaises à partir d'un texte libre (même partiel) et renvoie des candidats classés par pertinence (score 0-1). Pour confirmer UNE adresse précise, préfère verify_address. Chaque candidat porte les trois lignes postales prêtes à écrire (ligne_voie, ligne_complement, ligne_commune). Enrichissements selon le plan (mêmes paliers que verify_address, dont statistical_grid Filosofi en Business). Plan minimum : Discovery.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| details | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It explains matching behavior, relevance scoring, returned postal-line fields, and plan-gated enrichments. It does not cover no-result behavior or the effect of the details flag, but the main behavioral traits are clearly disclosed.
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 concise and front-loaded: the core purpose comes first, followed by the alternative tool, then output content, then plan requirements. Every sentence adds distinct, non-redundant value.
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 tool with no output schema and no annotations, the description provides good coverage of behavior, return fields, scoring, and plan constraints. However, it leaves important invocation details unexplained, particularly the limit and details parameters and how enrichments depend on details, so it is adequate but not fully complete.
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 0%, so the description must compensate for parameter meaning. It clarifies that query accepts free or partial text, but it does not explain the limit or details parameters at all. This leaves the agent to infer the semantics of two of the three parameters from their names and defaults.
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 states a specific action and resource: searching French addresses from free or partial text and returning relevance-ranked candidates with a 0–1 score. It also distinguishes itself from the sibling verify_address by saying that tool should be used to confirm a single precise address.
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?
It gives clear usage context: use for free-text/partial address search, and explicitly says to prefer verify_address when confirming one precise address. It also states the minimum plan requirement, Discovery, which helps the agent decide when the tool is available.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_companySearch CompanyAInspect
Recherche des entreprises et des établissements français dans la base SIRENE (INSEE), par nom, SIREN, SIRET, ville, code postal, code NAF, ou par proximité géographique. IMPORTANT : un résultat est TOUJOURS un ÉTABLISSEMENT (un SIRET), jamais une entreprise — même groupé par entreprise, où le SIREN est représenté par son meilleur établissement (le siège de préférence). Ne dis donc pas « 3 entreprises trouvées » pour 3 établissements d'un même SIREN. Par défaut, un résultat par entreprise si query est fourni, un résultat par établissement en recherche par proximité ou par siren ; force ce comportement avec group_by_company. Lis classement_pertinence avant de présenter un « meilleur match » : à false (listing simple ou tri par distance), le premier résultat n'est PAS le plus probable. Un résultat diffusible: false a ses nom et adresse masqués par l'INSEE — c'est la loi, pas une donnée manquante : ne complète jamais de mémoire. Une liste vide fait autorité : aucune entreprise ne correspond. La fiche complète s'obtient ensuite via get_company_details. Plan minimum : Discovery — la recherche par proximité (lat/lon/radius_m) nécessite le plan Growth.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | ||
| lon | No | ||
| city | No | ||
| page | No | ||
| query | No | ||
| siren | No | ||
| status | No | ||
| address | No | ||
| naf_code | No | ||
| per_page | No | ||
| radius_m | No | ||
| postal_code | No | ||
| group_by_company | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and it does so richly. It warns that results are always SIRETs, explains default grouping behavior, flags that classement_pertinence affects 'best match' interpretation, reveals that diffusible:false means masked legal data, and states that an empty list is authoritative. This goes far beyond a simple tool summary.
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 long but every sentence earns its place: the purpose is front-loaded, followed by critical behavioral caveats, the correct next step, and the plan requirement. There is no filler or repetition of schema defaults.
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?
The description covers the most important pitfalls: result granularity, ranking reliability, masked data, empty results, proximity-search plan requirements, and the follow-up tool for full details. It does not describe the full return shape or clarify every optional parameter, but given the absence of an output schema and annotations, it is largely complete for correct invocation and interpretation.
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 0%, so the description must compensate. It clarifies query, siren, lat/lon/radius_m, group_by_company, and implicitly city/postal_code/naf_code by naming search criteria. However, status, address, page, and per_page are not explained beyond their schema names, leaving minor gaps for a tool with 13 parameters.
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 states a specific verb ('Recherche') and an exact resource: French companies and establishments in the SIRENE database, searchable by name, SIREN, SIRET, city, postal code, NAF code, or geographic proximity. This clearly distinguishes the tool from siblings like get_company_details (details) and search_address/search_locality (places), so the agent knows exactly what this tool retrieves.
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 clear usage context: search results are always establishments, grouping defaults differ by search mode, ranking must be checked before presenting a 'best match', and full records come from get_company_details. It does not explicitly state when not to use this tool versus search_nearby or other sibling search tools, but it provides strong contextual guidance for typical searches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_localitySearch LocalityAInspect
Recherche ET liste des communes françaises. Deux usages : (1) retrouver une commune précise par nom, code postal ou code INSEE (renseigne query) ; (2) LISTER/FILTRER les communes d'un département ou d'une région, avec une fourchette de population optionnelle — query est alors inutile. Exemple : « communes du Pas-de-Calais de plus de 100 000 habitants » → department_code=["62"], population_min=100000. Préfère department_code (ex. "62") au nom ; les noms de département sont normalisés automatiquement ("Pas-de-Calais", "Val-d'Oise"… sont acceptés). Renvoie code INSEE, code postal, population et — selon le plan/details — altitude, densité, surface, département et région. Plan minimum : Discovery.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| details | No | ||
| postal_code | No | ||
| region_code | No | ||
| region_name | No | ||
| population_max | No | ||
| population_min | No | ||
| department_code | No | ||
| department_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavior disclosure. It reveals the returned fields, plan gating (Discovery minimum), automatic normalization of department names, and output variance depending on `details`. It does not discuss rate limits, pagination, or empty-result behavior, but the core behavioral traits are well covered.
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 front-loaded with the main purpose and uses a compact numbered two-mode structure. The example is concrete and maps directly to parameters, and the return/plan note is useful. Every sentence contributes information; the length is justified by the tool's complexity and lack of schema descriptions.
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?
Despite having no output schema or annotations, the description covers both invocation modes, gives an input example, states output fields, and mentions the minimum plan requirement. It falls short of fully documenting all ten parameters, especially `limit` and the relationship between `postal_code` and `query`, but it is sufficient for the main use cases.
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 0%, so the description must compensate. It explicitly explains `query`, `department_code`, `department_name`, and population min/max, and hints at `details` through the return-field note. However, `limit`, `postal_code` as a filter parameter, and the distinction between `region_code` and `region_name` are left implicit, creating ambiguity.
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 opens by stating it searches and lists French municipalities, which is a specific verb+resource. It then distinguishes two explicit modes: precise lookup via `query` and list/filter by department or region. This clearly separates it from the sibling address, company, and route tools.
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?
It gives concrete when-to-use rules: use `query` for exact name/postal/INSEE lookup, and use department/region filters plus optional population bounds for listing. The worked example mapping a natural-language request to `department_code=["62"]` and `population_min=100000` is valuable. It does not explicitly name sibling alternatives, but the domain and mode selection are clearly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_nearbySearch NearbyAInspect
Recherche les adresses du référentiel officiel (BAN) situées dans un rayon de radius_m mètres (1 à 50 000) autour d'un point central, triées par distance croissante. Le point central est SOIT une adresse libre (address), SOIT un couple lat+lon WGS84 — jamais les deux. Une adresse libre est résolue comme verify_address et renvoyée dans point_central.adresse_resolue. Chaque résultat porte distance_m (mètres, à vol d'oiseau) et les enrichissements du plan (mêmes paliers que verify_address, dont statistical_grid Filosofi en Business). Pagination : passer offset=pagination.next_offset pour charger la page suivante (null = fin de parcours) ; pagination.total_estime est une estimation ; si pagination.tronque vaut true, le cap de 5000 adresses est atteint — réduire le rayon pour l'exhaustivité. Plan minimum : Growth.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | ||
| lon | No | ||
| limit | No | ||
| offset | No | ||
| address | No | ||
| radius_m | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses behavioral traits: sorting by distance, result distance in meters (distance_m), free-address resolution via verify_address, pagination behavior (offset=pagination.next_offset, total_estime as estimate, tronque flag), and the 5,000-address cap condition. The Business plan enrichment mention adds non-obvious context an agent needs.
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 every sentence earns its place: core operation, input modes, result fields, pagination rules, truncation guidance, and plan requirement. It is logically ordered and contains no filler or redundancy.
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?
Without an output schema, the description explains return values sufficiently: sorted addresses with distance_m, plan enrichments (same tiers as verify_address), and the pagination object with next_offset, total_estime and tronque. It also covers edge cases like mutually exclusive inputs and the 5,000-address cap, making it complete for an agent to call and interpret results.
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 0%, so the description must carry the burden. It does: radius_m range (1–50,000), lat/lon as WGS84 coordinates, the strict 'address XOR lat+lon' rule, limit/offset pagination semantics via next_offset, and the truncation effect. Every parameter is given meaning beyond the bare schema types.
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 states a specific verb ('Recherche') and a precise resource: addresses from the official BAN repository within a radius around a central point, sorted by increasing distance. It also clarifies the two mutually exclusive input modes (free address vs. lat/lon pair), which distinguishes it from generic search tools in the sibling list. The operation is unmistakable even before reading the schema.
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 strong usage context: radius range (1–50,000 m), mutually exclusive central point modes, pagination mechanics, the 5,000-address truncation cap with advice to reduce radius, and the minimum Growth plan requirement. It does not explicitly name sibling alternatives or say 'use this instead of X', so it stops short of a 5, but the intended scenario is well defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_addressVerify AddressAInspect
Vérifie et normalise une adresse postale française contre le référentiel officiel (BAN). Renvoie un verdict (match_exact, match_probable, aucun_match) et l'adresse canonique, déjà découpée en trois lignes postales prêtes à écrire (ligne_voie, ligne_complement, ligne_commune) — à utiliser telles quelles plutôt que de recomposer l'adresse. Selon le plan : coordonnées GPS + Lambert 93 (Starter+), code IRIS (Growth+), statistiques INSEE Filosofi du carreau 200 m dans statistical_grid : population, répartition par tranches d'âge (0-3 à 80+), ménages, pauvreté, niveau de vie, époque de construction des logements (Business). Plan minimum : Discovery. Une adresse par appel.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | ||
| details | No | ||
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses key traits: address verification against BAN, verdict values, canonical address splitting, plan-dependent optional data, and the instruction to use the returned lines as-is. It does not cover error behavior or rate limits, but the core behavior is transparent.
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 main purpose is front-loaded, and the description is information-dense without being rambling. The plan-tier enumeration is long but justified because it defines conditional output. A very minor structural weakness is the dense list of INSEE statistics, which could be summarized more tightly.
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?
The description thoroughly covers the return shape, plan-based availability, and the one-address-per-call constraint. However, with no output schema and no parameter documentation, it still leaves important gaps around `details`, `max_results`, address formatting requirements, and failure behavior.
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 0%, so the description must compensate, but it only indirectly refers to the address parameter via 'Une adresse par appel'. It does not describe the meaning of the optional `details` or `max_results` parameters, leaving the agent without enough information to configure a correct call.
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 states a specific verb and resource: it verifies and normalizes a French postal address against the official BAN repository. It also describes the distinctive output (a verdict and canonical three-line address), which clearly separates it from sibling search tools like search_address.
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 the use case of validating/normalizing a single address and gives operational constraints like 'Une adresse par appel' and 'Plan minimum : Discovery'. However, it never explicitly tells an agent when to choose verify_address over search_address or search_locality, nor does it state any exclusions.
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.
2 tool updates
- Changed
compute_route1 field changed- added
Input schema / properties / modeAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +}
- Changed
route_matrix1 field changed- added
Input schema / properties / modeAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +}
2 tool updates
- Added
get_company_details - Added
search_company
7 tool updates
- First observed
compute_route - First observed
get_address_details - First observed
route_matrix - First observed
search_address - First observed
search_locality - First observed
search_nearby - First observed
verify_address
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
Base Adresse Nationale (BAN) MCP — France's official keyless geocoding API
French address intelligence: 18.6M sold prices, energy, risk, crime and schools — each sourced.
A French address, all public facts: parcel, zoning, risks, permits, sales, energy labels. No key.
French public-data MCP: cross-ref health, demographics, business, geo & real-estate.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides access to France's official keyless geocoding API (Base Adresse Nationale) for address lookup and reverse geocoding.5MIT
- FlicenseNot gradedqualityCmaintenanceProvides French address data from DVF, Géorisques, and SSMSI sources, including property prices, risks, and crime statistics.-
- FlicenseNot gradedqualityDmaintenanceProvides access to French public data through data.gouv.fr, IGN cartographic services (maps, tiles, geographic data), address geocoding, and administrative divisions with demographic information.6-
- FlicenseNot gradedqualityCmaintenanceAssess natural and technological risks for French addresses or communes using open APIs (Géorisques, Base Adresse Nationale).-
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Most tools have clearly distinct purposes: route vs. matrix, search vs. verify, address vs. company vs. locality. The main ambiguity is get_address_details, whose description says details are already included inline by search_address and verify_address, making its standalone role unclear.
The vast majority follow a clear verb_noun snake_case pattern: compute_route, get_company_details, search_address, verify_address. The outlier is route_matrix, which is noun_noun and breaks the otherwise consistent action-based naming convention.
Nine tools is a well-scoped count for a multi-domain French data API covering addresses, companies, localities, and routing. Each tool generally earns its place, with only minor redundancy around get_address_details.
The surface covers the main read-only workflows: address search/verification/nearby lookup, company search/details, locality lookup, and single/matrix routing. A notable minor gap is true reverse geocoding (coordinates to exact address), though search_nearby partially mitigates this.