Normi — French Real Estate Data MCP Server
Access 17M+ geocoded French property transactions (DVF) from claude.ai, ChatGPT, Claude Desktop, Cursor, VS Code, or any MCP client — sign in with OAuth or use an API key.

Quick Start (2 minutes)
Option A — Remote server with OAuth (no key to copy)
Point any MCP client that supports remote servers at https://mcp.normi.fr/mcp, then sign in to Normi
and approve when the client asks. A free account and an API key (500 free credits) are created on first
approval if you don't have one; tool calls are charged to your account's active key.
-
claude.ai / Claude mobile / Cowork — Settings → Connectors → Add custom connector → paste the URL.
-
ChatGPT — create a custom connector with the URL and choose OAuth authentication. Any connector name works.
-
Claude Code:
claude mcp add --transport http normi https://mcp.normi.fr/mcp
then run /mcp inside Claude Code to authenticate.
Option B — STDIO with an API key (this package)
For clients that only speak STDIO, or for scripts and CI.
- Create a free API key in your dashboard.
- Claude Desktop — edit
claude_desktop_config.json:
{
"mcpServers": {
"normi": {
"command": "npx",
"args": ["-y", "@normi/mcp-dvf"],
"env": {
"NORMI_API_KEY": "normi_YOUR_TOKEN_HERE"
}
}
}
}
The remote server also accepts the key directly, for clients that can set headers:
claude mcp add --transport http normi https://mcp.normi.fr/mcp --header "Authorization: Bearer normi_YOUR_TOKEN"
Start asking questions
"Quels sont les prix au m² à Paris 15ème ?"
"Trouve des comparables pour un T3 de 65m² à Lyon 3ème"
"Évolution des prix à Bordeaux depuis 2020"
Key DVF tools
Normi exposes 33 MCP tools across DVF, DPE, BDNB, ANIL, SIRENE and portfolio workflows. The complete,
up-to-date catalog is available in the Normi MCP documentation.
resolve_location | Resolve free-form administrative locations to canonical Normi filters | 1 |
search_property_transactions | Search transactions by location, type, price, surface | 5 |
analyze_market_statistics | Aggregate stats: median price, price/m², volume | 5 |
detect_flips | Short-hold resale rate, gross margin and holding period by INSEE commune | 10 |
analyze_rental_yield | Estimated gross rental yield from ANIL rents × DVF sale prices | 10 |
find_property_comparables | Find similar properties by proximity and surface | 10 |
analyze_price_trends | Price evolution over time (month/quarter/year) | 10 |
compare_locations | Compare 2-5 locations side by side | 10 |
analyze_market_activity | Transaction volume and seasonality | 10 |
get_zonal_price_distribution | Price statistics by zone (JSON for map visualizations) | 15 |
lookup_property_history | Transaction history for a specific address | 20 |
REST API
Normi also offers a REST API for non-MCP use cases (API key only; OAuth is for MCP). Full documentation.
curl -H "X-API-Key: normi_YOUR_TOKEN" \
"https://mcp.normi.fr/v1/stats/market?code_postal=75001"
Pricing
| Free | 500 | 60 req/min | Free |
| Indie | 10,000 | 60 req/min | 19 EUR/mo |
| Agent | 55,000 | 60 req/min | 49 EUR/mo |
| Pro | 175,000 | 60 req/min | 149 EUR/mo |
| Enterprise | 500,000 | 120 req/min | 399 EUR/mo |
One-time credit packs also available. See pricing.
Data
- Source: DVF (Demandes de Valeurs Foncieres) — French government open data
- Coverage: All of metropolitan France, 2014-present
- Volume: 17.4M+ geocoded transactions
- Updates: Annual (DGFiP publishes one file per year)
- License: Licence Ouverte 2.0
Links
License
MIT