Trustydata Mcp Server
About
TrustyData MCP server — French address data quality, geocoding & routing (BAN/INSEE/OSM). Hosted remote MCP at mcp.trustydata.app.
Details
- Author
- Tristram Hervé
- GitHub stars
- 3
- Downloads
- 247
- Categories
- Search
Jump to
- Verify & normalize a French postal address against the official BAN
- Search addresses and localities by name, postal code or INSEE code, with
- Proximity search — find addresses or points near a location
- Routing — compute a road route or a travel-time/distance matrix in France
- Addresses & communes — Base Adresse Nationale (BAN) & INSEE
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Trustydata Mcp ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Follow the repository README to install the server and add its MCP configuration to your client.
verify_address
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.
search_address
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.
get_address_details
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.
search_nearby
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.
search_company
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.
get_company_details
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.
search_locality
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.
route_matrix
Calcule une matrice de distances et durées entre N origines et M destinations (jusqu'à 25×25), en voiture, sur le réseau France (OpenStreetMap). Sans géométrie. Plan minimum : Growth. Mention OSM ODbL obligatoire.
compute_route
Calcule un itinéraire routier complet entre une origine et une destination (voiture, France, OpenStreetMap) : distance, durée, étapes de navigation en français, boîte englobante et géométrie encodée. Plan minimum : Business. Mention OSM ODbL obligatoire. Pour de simples distances en masse, préfère route_matrix.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"trustydata mcp server": {
"trustydata": {
"url": "https://mcp.trustydata.app/mcp"
}
}
}
}
McpServers
{
"trustydata": {
"url": "https://mcp.trustydata.app/mcp"
}
}
TrustyData MCP Server
Connect your LLM (Claude, ChatGPT, IDE assistants…) to TrustyData —
French address data quality, geocoding and routing, built on official open
data sources (BAN, INSEE, OpenStreetMap).
▶️ Try it live — public demo agent, no account needed
Ask a real agent to verify an address, list communes or compute a route: it calls
this MCP server in front of you.
This is a hosted, remote MCP server — there is nothing to install or run.
Point your MCP client at the endpoint below and sign in with your TrustyData
account.
| | |
|---|---|
| Endpoint | https://mcp.trustydata.app/mcp |
| Transport | Streamable HTTP |
| Auth | OAuth 2.1 (sign in with your TrustyData account) |
| Docs | https://trustydata.fr/docs/ |
| Status | https://status.trustydata.app |
> This repository hosts the public listing metadata for the TrustyData MCP
> server (server.json, documentation, examples). The server itself is a hosted
> service — the source of the underlying data API is not part of this repo.
What it does
TrustyData turns messy French addresses into clean, authoritative data and adds
geographic context, directly inside your LLM conversation:
- Verify & normalize a French postal address against the official BAN
reference (the result is authoritative — an empty result means no match).
- Search addresses and localities by name, postal code or INSEE code, with
optional filters (department, region, population).
- Proximity search — find addresses or points near a location.
- Routing — compute a road route or a travel-time/distance matrix in France
(OpenStreetMap).
Richer fields (e.g. INSEE Filosofi statistical grid, Lambert 93 coordinates) are
returned depending on your plan.
Tools
| Tool | What it does | Minimum plan |
|---|---|---|
| verify_address | Verify & normalize a French address against the BAN | Discovery |
| search_address | Autocomplete / search full addresses | Discovery |
| get_address_details | Full detail for a given address id | Discovery |
| search_locality | Search French communes / localities | Discovery |
| search_nearby | Proximity search around a point | Growth |
| route_matrix | Travel-time / distance matrix | Growth |
| compute_route | Full road route between points | Business |
All tools are advertised to every client. If your plan doesn't cover a tool, it
returns an actionable upgrade message instead of failing silently.
Connect
Claude (claude.ai / Claude Desktop)
Add a custom connector pointing to:
https://mcp.trustydata.app/mcp
You'll be prompted to sign in via OAuth with your TrustyData account the first
time a tool is used.
Generic MCP client (Streamable HTTP)
{
"mcpServers": {
"trustydata": {
"url": "https://mcp.trustydata.app/mcp"
}
}
}
Don't have an account yet? Start free on
trustydata.fr — the Discovery plan is free
(5,000 requests/month, no card required).
Example prompts
Vérifie et normalise cette adresse : "1 rue de Rivol 75001 Pari"
Quelle est la population de la commune de Bourg-en-Bresse ?
Trouve les adresses proches du 2 avenue de la Gare à Annecy.
Calcule l'itinéraire routier entre Lyon Part-Dieu et l'aéroport Saint-Exupéry.
Data sources & attribution
TrustyData relies on official, regularly-updated open data. Please keep the
attributions returned by the tools:
- Addresses & communes — Base Adresse Nationale (BAN) & INSEE
- Statistical context — INSEE Filosofi
- Routing — OpenStreetMap contributors (ODbL)
Documentation
Full API guides, endpoint reference and examples:
https://trustydata.fr/docs/
License
The contents of this listing repository (documentation, server.json, examples)
are released under the MIT License. The hosted service and the
underlying data API are operated by TrustyData and governed by its terms.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


