Skip to main content
Glama

Server Details

French address quality, geocoding & routing from official data (BAN, INSEE, OpenStreetMap).

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
htristram/trustydata-mcp-server
GitHub Stars
3
Server Listing
TrustyData MCP Server

Available Tools

9 tools
compute_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo
originYes
destinationYes

TDQS

A4.9/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
address_idYes

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_prospectiontrue = 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idYes

TDQS

A4.8/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo
originsYes
destinationsYes

TDQS

A4.8/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
detailsNo

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
latNo
lonNo
cityNo
pageNo
queryNo
sirenNo
statusNo
addressNo
naf_codeNo
per_pageNo
radius_mNo
postal_codeNo
group_by_companyNo

TDQS

A4.6/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
detailsNo
postal_codeNo
region_codeNo
region_nameNo
population_maxNo
population_minNo
department_codeNo
department_nameNo

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
latNo
lonNo
limitNo
offsetNo
addressNo
radius_mYes

TDQS

A4.8/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes
detailsNo
max_resultsNo

TDQS

A3.7/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 2 tool updates
    • Changedcompute_route1 field changed
      • addedInput schema / properties / mode
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
    • Changedroute_matrix1 field changed
      • addedInput schema / properties / mode
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
  2. 2 tool updates
    • Addedget_company_details
    • Addedsearch_company
  3. 7 tool updates
    • First observedcompute_route
    • First observedget_address_details
    • First observedroute_matrix
    • First observedsearch_address
    • First observedsearch_locality
    • First observedsearch_nearby
    • First observedverify_address

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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.