
Paris Compass Mcp
io.github.IvandeMurard由 GitHub 帳號 IvandeMurard 發布v0.1.4更新於 Oct 24, 2026
Paris commercial premises from open data: shopfront history, street turnover, sourced figures.
概覽
一個唯讀的 MCP 伺服器,讓助理查詢巴黎商業店面:店面歷史、商譽成交價、街區更替情況以及周邊與環境指標。
- 可以做什麼
- 追溯店面歷史:某地址的歷任用家、商譽轉讓和破產公告,每項都附來源、日期和信賴等級(已確證、相互印證、可能、未定)。依業種和街道比較商譽成交價,給出中位數區間而非單一數字。讀取橫跨三次普查統計的街道更替率與存活率,未取得授權的普查年份資料會被隱去。考察 800 公尺範圍內的周邊設施:學校、醫療、餐飲、公園和交通,並彙整為步行便利度。查看環境指標:實測空氣品質、1 公里內的自然與技術風險,以及標示為估算的噪音和人流代理指標。
- 適用情境
- 適合在巴黎簽訂商業租約前使用,了解某地址曾經營什麼、商譽成交價多少、是否已有廚房設施,或某條街相對於同業種和同街區的表現如何。也適合助理就單一地址做深入分析,而非批次篩選投資組合。
- 執行需求
- 以 npm 套件形式透過 npx 在本機執行,需要 Node.js。無需帳號或金鑰:伺服器自帶公開的 Compass 專案並匿名讀取。SUPABASE_URL 和 SUPABASE_ANON_KEY 為選用項目,僅在讀取其他衍生 Supabase 專案時需要。需要連網存取託管資料庫。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Paris Compass Mcp,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Compass
Before you sign a lease, read the street.
What traded at this address, how the street turns over, what goodwill sold for. Public sources only, every figure cited.
[Demo] [Scope] [Data] [Eval gate] [MCP] [License] [Stack]
Open the demo → · no account needed · pre-recorded addresses, 17th arrondissement
For an agent → npx -y paris-compass-mcp · six tools, read-only, on the hosted corpus
The question
You are standing in front of an empty shopfront. The agent says the street is lively.
Compass answers on six axes at once.
Each of those arrives with its source, its date and its confidence level.
Note the wording, because the product keeps it too: air quality is measured, noise is modelled. Noise and footfall are proxies, labelled as such on screen and here.
Three that deserve more than a line
Has a kitchen ever been here? If a restaurant occupied the unit, the extraction, grease trap and power are probably already in. If not, creating them runs into tens of thousands and needs the building's agreement. The most expensive question this data answers — before you travel.
Is this a graveyard or a good street? A street that churns is not a street that dies: units can turn over and refill. And turnover only means something against its own trade, and against its own quartier — the same trade does not hold equally from one neighbourhood to the next. Compass measures both across three censuses.
Those figures are not printed here. They rest on the 2017 and 2020 vintages, whose licence has not been cleared, and the server withholds them from an anonymous caller. This page follows the same rule as the product: a rate derived from a withheld vintage is withheld too.
What did people actually pay? 25 661 goodwill sales published with their price since 2015. For the 5 971 tied to a single shopfront, the median Paris fonds changes hands between 160 000 and 170 000 € — a range, not a point, because goodwill prices are declared in round numbers: the median sits on a step and moves in jumps, so a single figure would be precise about something the source is not. The trade decides almost everything.
One address makes the point. At 10 rue Mandar, trace_premise returns six goodwill sales between 2017 and 2024, from 87 500 to 450 000 € — retrieved 7 October 2026. Each one is probable, not established: two shopfronts share that street number, and the notice does not say which was sold. The 2017 and 2020 census rows come back withheld, the 2023 one established.
How a number earns its place
Every figure arrives with its source, its licence, its date — and how sure it is.
Four levels, never a percentage. A confidence score out of 100 would be exactly the kind of unverifiable number this product refuses. The level is computed from columns that already exist, and every row carries the reason that produced it.
Composition across the corpus, measured 6 October 2026 — this is the quality metric, and improving means moving these four numbers leftward:
That 37.0% is structural, not laziness: BODACC names an address, BDCom names a unit, and 69% of units share their street number. No public data will say which of eight shopfronts was sold.
A gate runs the whole corpus against 56 invariants, 24 frozen baselines and 8 hand-verified chronologies before anything ships, and again every day on a schedule — invariants counted 6 October 2026 with grep -c '^-- @invariant ' eval/invariants.sql. Most of them check what the functions return; one checks what they are — a function exposing an observed column must be SECURITY DEFINER, because row-level security silently turns a withheld row into "never surveyed".
The badge above counts invariants; it does not say the gate passes. The reds currently open are the issues labelled porte-rouge.
Two founding constraints
Most commercial-property tools describe the unit — floor area, rent, photos — and leave you to infer the rest. Compass sells neither coverage nor granularity: it sells interpretation, and context is the product.
An interpretation is worth only what you can check. The tools in this market promise answers grounded in audited data — that names who verified. Compass promises figures re-derivable from a cited public source — that names who can verify: you. An internal audit is a promise. A cited source is a test anyone can rerun, including against us.
If a number cannot be re-derived from a cited public source, it is not shown.
No landlord declarations, no scraped listings, no proprietary estimate, no score invented to fill a gap. Missing data is displayed as missing — n/a, never 0.
If two units on the same street get the same verdict, Compass has said nothing.
The useful granularity is the street segment, sometimes the side of the pavement. An indicator that does not vary at that scale describes general context; it does not settle a decision.
Who it is for
The entrepreneur — the shopkeeper, restaurateur, craftsperson or franchisee who decides where to open. Once or twice in a working life, on a lease that binds for years.
An agent — an LLM asking the same question through an MCP server. Same scoring core, same traceability requirement, different output: JSON and a chain of thought instead of a map.
Not brokers. A broker qualifies dozens of locations a month and needs portfolios, bulk comparison, national coverage. Every one of those makes the product heavier for someone studying a single address in depth. Serving both serves neither — a broker who wants Compass gets what the agent gets: the API.
What it refuses
Every refusal buys something back. The trade is the point.
What it cannot answer, and why — the gaps shape the product more than the features do
What rent will I pay? No open observatory of commercial rents exists in France. Local rent observatories cover private housing; INSEE's ILC is a revision index, not a level. Street-level commercial values are sold by private vendors — which is the proof they are not open. Goodwill sale prices carry an indirect signal and nothing more.
How many people walk past this door? Paris has no permanent pedestrian sensor: the city's multimodal counters cover bikes, scooters, motorcycles, cars, lorries and buses — not pedestrians.
Vendors do sell the number, and "proprietary and expensive" is the weak objection — worth being precise about what it actually is. It comes from a panel of mobile handsets: SDKs embedded in third-party apps report GPS coordinates in the background, and the sample is then extrapolated by weighting it against known demographics. The vendors say so themselves — "We don't see everyone. We see a sample." Peer-reviewed work on a comparable panel measured a mean sampling rate of 7.5%, swinging between 4.5% and 14.5%, with low-income and less-educated populations under-represented and the urban/rural bias reversing sign mid-series.1
So the figure is modelled, never measured — and the buyer cannot see the panel size on their own street, cannot replay the weighting, and is not told when a recalibration moves last year's number. The objection is not honesty, it is verifiability. Compass measures presence and rhythm from open sources instead, and labels it a proxy on screen.
1 Li Z., Ning H., Jing F., Lessani M. N. (2024). Understanding the bias of mobile location data across spatial scales and over time. PLOS ONE 19(1):e0294430.
What do people here spend, and on what? Card transaction data: proprietary. No workaround.
Which units are on the market today? Commercial listings live on private portals whose terms forbid reuse. Which is why Compass works upstream of them instead.
Status
Honest labels, in the sense that built means the code runs and the gate passes — not that it is deployed.
Where every number comes from
Connected today
Scores computed client-side: walkability, transport access, density per category, noise and footfall — the last two explicitly labelled estimates, for lack of a reliable open source.
Ingested in the hosted database, not yet in the demo
Planned
Scope
Paris intra-muros first, Île-de-France next. Depth over breadth: the sources that carry the value are local.
Stack
React 18 · TypeScript · Vite 5 · Tailwind + shadcn/ui · Leaflet (direct, no wrapper) · TanStack Query · Supabase + PostGIS
src/core/ is pure — no fetch, no React, no DOM. That is what lets the same scoring serve a browser, a test runner and an MCP server.
Run it locally
Node.js 18+.
Served at http://localhost:8080.
Open data sources need no key. For your own backend, put VITE_SUPABASE_URL and VITE_SUPABASE_PUBLISHABLE_KEY in .env.local. Only VITE_-prefixed variables reach the browser — never put a service-role or paid key there.
Licence and attribution
The code is Apache-2.0. The data is not.
That distinction matters more than it looks on a product built entirely from open data. The licence covers what is in this repository — the scoring core, the ingestion pipeline, the interface. It grants nothing over the datasets, which keep their own terms:
BDCom 2017 and 2020 are not redistributable at all. Their licence differs from the 2023 vintage, which is why the database carries a publicly_redistributable flag per vintage and withholds their content from an anonymous caller — content and absence alike, so that withholding leaks nothing either.
This repository contains no data extract, and must not. It contains the code that fetches, models and cites the data.
Made by Ivan de Murard.
Interested in the approach, or in the MCP layer? Open an issue.
來源:README.md,提交 067c21f
工具
0版本歷史
3- v0.1.4最新Oct 9, 2026
- v0.1.3Oct 7, 2026
- v0.1.2Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分