TrustyData

app.trustydata由 trustydata.app 發布官方發布者v1.6.0更新於 Oct 30, 2026

French address quality, geocoding, routing, company lookup & catchment stats (BAN, INSEE, OSM).

已驗證Streamable HTTP可網頁執行位置與生活資料與分析商業與電商

概覽

AI 產生的概覽

託管型 MCP 伺服器,提供法國官方資料:地址驗證與搜尋、SIRENE 企業查詢、路線計算與商圈統計。

可以做什麼
  • 對照 BAN 驗證、正規化並搜尋法國地址與市鎮,回傳可直接使用的三行郵遞地址
  • 尋找某點附近的地址,並查看單筆地址的完整詳情
  • 在 SIRENE 中搜尋法國企業與營業據點,並依方案查看含主管、財務的完整檔案
  • 依汽車、步行或自行車計算路線以及時間/距離矩陣
  • 分析商圈的人口、家戶、收入、年齡、消費潛力、房價、業態組成與經營失敗情形,並比較 2 至 10 個區域
適用情境
適合需要清理或補齊法國郵遞地址、辨識法國企業或營業據點、規劃法國境內路線,或評估某地點周邊人口與消費潛力的情境。常用於法國市場的 CRM 資料品質、選址與在地市場分析。
執行需求
遠端 Streamable HTTP 端點,無需安裝。首次使用工具時需透過 OAuth 2.1 登入 TrustyData 帳號。有免費 Discovery 方案,但部分工具需要付費的 Growth 或 Business 方案,或限時的 Pass Zones。
安裝前請注意
回傳資料取決於帳號方案,欄位缺少可能只是需要更高方案,而非資料不存在。企業檔案含 INPI 登記的主管個人資料,其中反對商業推銷的標記不得用於建立推銷名單。部分工具會消耗方案額度或需要付費通行證。引用資料時請保留回傳的來源標註。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 TrustyData,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/app.trustydata%2Ftrustydata/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "trustydata": {
      "type": "http",
      "url": "https://mcp.trustydata.app/mcp"
    }
  }
}

README

TrustyData MCP Server

[License: MIT] [MCP] [Status]

Connect your LLM (Claude, ChatGPT, IDE assistants…) to TrustyData — French address data quality, geocoding, routing, company lookup (SIRENE) and catchment-area statistics (INSEE), built on official open data sources (BAN, INSEE, SIRENE, IGN, OpenStreetMap).

▶️ Try it live — public demo agent, no account needed Ask a real agent to verify an address, list communes, look up a company or compute a route: it calls this MCP server in front of you.

[TrustyData MCP demo agent]

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.

Endpointhttps://mcp.trustydata.app/mcp
TransportStreamable HTTP
AuthOAuth 2.1 (sign in with your TrustyData account)
Docshttps://trustydata.fr/docs/
Statushttps://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), by car, on foot or by bike.
  • Company lookup — search French companies and establishments in the official SIRENE registry and get full records (executives, finances, collective agreements, depending on your plan).
  • Catchment areas — population, households, income, age and socio-professional profile, spending potential of a drive-time or radius zone (INSEE Filosofi & census); compare up to 10 zones and measure what each one covers exclusively.
  • Activity mix — how many SIRENE establishments a catchment area holds, by family and sub-family of activity, with a density per 10,000 inhabitants and an index against a reference territory: France by default, or the zone's dominant département when you ask for it. A floor, never a total: only active, geolocated establishments are counted, and the response says which reference was used and what share of it that count represents.
  • Business failures — collective procedures published in the BODACC (liquidation, receivership, safeguard), counted on every establishment of the company located in the area, and activity stops (SIRENE closures that are neither a takeover at the same address nor a relocation), by year since 2017 and by activity, with a rate per 100 active establishments and an index against the reference territory. Procedures are a floor, stops a ceiling, and the current year is partial — the response says so.

Richer fields (e.g. INSEE Filosofi statistical grid, Lambert 93 coordinates) are returned depending on your plan.

Tools

ToolWhat it doesMinimum plan
verify_addressVerify & normalize a French address against the BANDiscovery
search_addressAutocomplete / search full addressesDiscovery
get_address_detailsFull detail for a given address idDiscovery
search_localitySearch French communes / localitiesDiscovery
search_nearbyProximity search around a pointGrowth
route_matrixTravel-time / distance matrix (car, foot, bike)Growth
compute_routeFull road route between points (car, foot, bike)Business
search_companySearch French companies & establishments in the SIRENE registry (name, SIREN/SIRET, activity, location)Discovery (proximity search: Growth)
get_company_detailsFull record of an establishment or company (identity, executives, finances, collective agreements — by plan)Discovery
zone_statsEverything about a catchment area (drive time or radius): population, households, income, age & socio-professional profile, spending potential, DVF real-estate sale prices (5-year trend, vs. département) and establishment counts by activity (SIRENE, density per 10,000 inhabitants, index vs. France or the dominant département), business failures and activity stops since 2017 (BODACC + SIRENE)Growth, or Pass Zones (15-day, €30 excl. VAT)
zone_compareCompare 2–10 catchment areas: exclusive population, pairwise overlaps, ranking — each with its full zone_stats block, real-estate prices and activity counts included, business failures and activity stops since 2017 (BODACC + SIRENE)Growth, or Pass Zones (15-day, €30 excl. VAT)

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.

Prompts

Beyond tools, the server ships five prompts — guided starters that fill in the right parameters for you. In Claude Code they show up as /mcp__trustydata__<name>; other MCP clients surface them their own way.

PromptArgumentsWhat it does
zone_de_chalandiseadresse, minutes (10), mode (car)Full INSEE profile of a catchment area, with real-estate sale prices and activity counts
comparer_emplacementsadresses (2–10), minutes (10)Compare locations, ranked on exclusive population
potentiel_commerceadresse, secteur, minutes (10), coefficientEstimated disposable income and sector spending potential
verifier_adressesadressesVerify a list of addresses, one call each
qualifier_entreprisenom_ou_siretFind a company in SIRENE and open its full record

Prompt names and wording are French, like the data they describe. A prompt returns a message, not a result: it calls no tool by itself and consumes no quota — the tool it points at applies its own plan requirement when the assistant calls it.

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)

json
{  "mcpServers": {    "trustydata": {      "url": "https://mcp.trustydata.app/mcp"    }  }}

Don't have an account yet? Start free on trustydata.fr — the Discovery plan is free (20,000 requests/month, no card required).

Example prompts (free-form)

No prompt needed — just ask:

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.
Trouve les entreprises de plomberie à Annecy et donne-moi la fiche du premier établissement.
Combien de personnes habitent à 15 minutes en voiture du 1 rue Scribe, 75009 Paris, et quel est leur niveau de vie ?
Compare 10 minutes en voiture autour de la Part-Dieu et autour de Bellecour : quelle zone capte le plus d'habitants qu'elle est seule à couvrir ?
Combien d'établissements de restauration y a-t-il à 10 minutes à pied de la place Bellecour, et est-ce beaucoup pour le nombre d'habitants ?

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
  • Companies — SIRENE (INSEE), Registre National des Entreprises (INPI)
  • Statistical context & catchment areas — INSEE Filosofi and census, IGN Contours IRIS
  • Real-estate sale prices — DGFiP, Demandes de valeurs foncières (Etalab, open licence)
  • Establishments by activity — SIRENE (INSEE), active geolocated establishments only
  • Business failures — BODACC (DILA) and SIRENE (INSEE), geolocated establishments only
  • 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.

來源:README.md,提交 9b952de

工具

11

verify_address

Vérifier et normaliser une adresse

Vérifie et normalise une adresse française contre le référentiel géographique 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.

輸入參數address必填detailsmax_results

search_address

Rechercher des adresses

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.

輸入參數limitquery必填details

get_address_details

Détail d'une adresse

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.

輸入參數address_id必填

search_nearby

Adresses à proximité d'un point

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.

輸入參數latlonlimitoffsetaddressradius_m必填

search_company

Rechercher des entreprises et établissements

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). 3 établissements d'un même SIREN ne font donc pas « 3 entreprises trouvées ». 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`. `classement_pertinence` se lit 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, et rien ne s'y complète 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.

輸入參數latloncitypagequerysirenstatusaddressnaf_codeper_pageradius_mpostal_code另有 1 個

get_company_details

Fiche d'un établissement ou d'une entreprise

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 relever d'un palier supérieur — son absence ne prouve pas l'inexistence de la donnée. 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.

輸入參數company_id必填

search_locality

Rechercher des communes

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.

輸入參數limitquerydetailspostal_coderegion_coderegion_namepopulation_maxpopulation_mindepartment_codedepartment_name

route_matrix

Matrice de temps et de distances

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.

輸入參數modeorigins必填destinations必填

compute_route

Itinéraire routier complet

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é : une durée n'est interprétable qu'accompagnée du mode qui l'a produite. ⚠️ 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.

輸入參數modeorigin必填destination必填

zone_stats

Statistiques d'une zone de chalandise

Rend ce que l'INSEE sait de ceux qui habitent une zone de chalandise : `population`, `menages`, `menages_pauvres` (sous le seuil de pauvreté), `niveau_de_vie_moyen` (euros par personne et par an — une moyenne, jamais une médiane), `iris_couverts` (quartiers IRIS touchés), `surface_km2`, et `carreaux` {total, estimes}. Les chiffres sont des sommes des carreaux INSEE Filosofi de 200 m pondérées par la part de chaque carreau dans la zone ; `carreaux.estimes` compte ceux que l'INSEE a imputés au titre du secret statistique — c'est la norme du fichier (souvent la majorité hors des villes denses), pas un défaut de la zone. Depuis la plateforme 1.11, la réponse porte aussi le PROFIL de la zone, en trois blocs de `{effectif, part}` : `ages` (onze tranches INSEE `0_3` … `80_plus` et `inconnu`, parts rapportées à `population`), `menages_profil` (personnes seules, 5 personnes et plus, propriétaires, monoparentaux, en collectif, en maison, parts rapportées à `menages`, plus `surface_moyenne_m2`) et `logements` (`total`, cinq périodes de construction et `sociaux`, parts rapportées à `logements.total`). Les parts sont en pourcentage au dixième, calculées avant arrondi ; les effectifs sont arrondis séparément, leur somme peut différer du total de quelques unités. Depuis la plateforme 1.16, le bloc `sexe` donne `hommes` et `femmes` en `{effectif, part}` plus `population_recensement` — les parts sont rapportées à `population_recensement` (hommes + femmes, la population du recensement répartie sur la zone), pas à `population` : les deux diffèrent de quelques pour cent, c'est normal (ménages ordinaires 2021 contre population totale 2022). C'est une estimation : le sexe n'est diffusé qu'à l'IRIS et réparti sur les carreaux au prorata de leur population ; les limites sont celles de `csp.fiabilite`. Depuis la plateforme 1.12, le bloc `csp` donne les huit catégories socioprofessionnelles des 15 ans et plus (agriculteurs, artisans_commercants, cadres, professions_intermediaires, employes,

輸入參數latlonmodeaddressminutestrafficradius_kmreferencecoefficient

zone_compare

Comparer des zones de chalandise

Compare de 2 à 10 zones de chalandise en un seul appel et mesure leur cannibalisation. Pour chaque zone, rend exactement ce que `zone_stats` rend (`population`, `menages`, `niveau_de_vie_moyen`, `ages`, `sexe`, `menages_profil`, `logements`, `csp`, `potentiel_depense`, `immobilier`, `activites`, `defaillances`, `carreaux`, `source`, `attribution` — voir cet outil pour le sens de chaque bloc), plus `id` et `exclusif` : la population, les ménages et le potentiel que la zone est SEULE à couvrir, calculés comme « la zone moins l'union de toutes les autres » — jamais « total moins les paires », qui à trois zones et plus retrancherait deux fois un triple recouvrement ; `exclusif.part_population` en pour cent de la population de la zone. Entre zones : `chevauchements`, une entrée par paire qui se recouvre (population, ménages et potentiel comptés deux fois ; une paire disjointe n'apparaît pas), et `classement`, tous les identifiants triés sur `rank_by` décroissant : `population` (défaut), `exclusive_population`, `theoretical_potential` ou `exclusive_potential` — ces deux derniers exigent `coefficient`. Chaque élément de `zones` se décrit comme sur `zone_stats` : un centre (`address`, un nom de commune suffit, OU `lat`+`lon` WGS84, jamais les deux) et UNE portée, soit `minutes` (1 à 30) avec `mode` `car` (défaut), `walking` ou `cycling` et, en voiture, `traffic` `free` (défaut) ou `peak` (heure de pointe du matin, vitesses modélisées, pas de trafic temps réel — refusé à pied et à vélo, et pouvant répondre « indisponible » si la plateforme ne l'a pas encore ouvert), soit `radius_km` (1 à 50) à vol d'oiseau ; plus un `id` optionnel (1 à 40 caractères, lettres, chiffres, `_`, `-`, unique dans l'appel) repris dans la réponse, le classement et les erreurs — sans `id`, la position à partir de 1. `reference` : `france` (défaut) ou `department` — UN réglage pour TROIS blocs : l'`indice` de chaque poste CSP, celui de chaque poste d'`activites` et celui de `defaillances` sont alors r

輸入參數zones必填rank_byreferencecoefficient

版本歷史

5
  1. v1.6.0最新Oct 29, 2026
  2. v1.5.0Oct 10, 2026
  3. v1.4.0Sep 23, 2026
  4. v1.3.0Sep 21, 2026
  5. v1.2.0Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分