Guide d'installation / Cursor
Connecter Normi à Cursor
Déclarez Normi dans le mcp.json de Cursor : l'agent interroge alors les ventes DVF croisées avec les DPE et la BDNB, directement depuis l'éditeur.
https://mcp.normi.fr/mcpConfiguration vérifiée le 10 octobre 2026 avec la documentation MCP officielle de Cursor. Documentation Cursor MCP
Avant de commencer
- Un compte Normi : connexion avec Google, 500 crédits gratuits par mois.
- Pour la connexion par clé API ou le paquet STDIO : une clé
normi_…, créée dans Tableau de bord → Tokens. Elle n'est affichée qu'une fois. - Pour le paquet STDIO : Node.js 18 ou plus récent (
npx).
Connexion distante (HTTP Streamable)Recommandé
Ajoutez ce bloc au fichier de configuration. Sans en-tête, Cursor détecte la connexion OAuth de Normi : au premier usage, il ouvre normi.fr, vous vous connectez et autorisez Cursor. Aucune clé à copier ; si votre compte n'en a pas encore, une clé gratuite est créée à l'autorisation.
Fichier : ~/.cursor/mcp.json (tous les projets) ou .cursor/mcp.json (ce projet)
{
"mcpServers": {
"normi": {
"url": "https://mcp.normi.fr/mcp"
}
}
}Variante avec clé API
Pour une machine sans navigateur, ou si vous préférez une clé : exportez NORMI_API_KEY dans votre shell, puis référencez-la avec la syntaxe ${env:…} de Cursor. Ne collez jamais la clé en clair dans un .cursor/mcp.json versionné.
{
"mcpServers": {
"normi": {
"url": "https://mcp.normi.fr/mcp",
"headers": {
"Authorization": "Bearer ${env:NORMI_API_KEY}"
}
}
}
}Alternative : paquet STDIO
Si votre environnement n'autorise pas les serveurs distants, lancez le paquet npm @normi/mcp-dvf en local. Il relaie les appels vers le même serveur Normi.
{
"mcpServers": {
"normi": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@normi/mcp-dvf"],
"env": {
"NORMI_API_KEY": "${env:NORMI_API_KEY}"
}
}
}
}Premier prompt à essayer
L'agent appelle analyze_dpe_price_premium (10 crédits). Extrait de la réponse réelle, relevée le 10 octobre 2026 sur les données DVF 2014–2025 :
{
"classes": {
"B": { "count": 192, "median_prix_m2": 5479, "vs_median_pct": 18.5 },
"C": { "count": 827, "median_prix_m2": 4788, "vs_median_pct": 3.6 },
"D": { "count": 1421, "median_prix_m2": 4547, "vs_median_pct": -1.6 },
"F": { "count": 239, "median_prix_m2": 4619, "vs_median_pct": -0.1 },
"G": { "count": 94, "median_prix_m2": 4679, "vs_median_pct": 1.2 }
},
"summary": "Class B homes sell at +18.5% vs. median; class A at -3%"
}À Lyon 6 (69006), les appartements classés B se vendent 18,5 % au-dessus de la médiane du secteur, alors que F et G restent à peu près au niveau médian. Ce croisement vente × DPE n'existe dans aucune source publique telle quelle.