Guide d'installation / Windsurf (Devin Desktop)
Connecter Normi à Windsurf (Devin Desktop)
Windsurf s'appelle Devin Desktop depuis juin 2026. Ajoutez Normi à son fichier mcp_config.json : l'agent interroge alors les ventes DVF, les DPE et la BDNB depuis l'éditeur.
https://mcp.normi.fr/mcpConfiguration vérifiée le 10 octobre 2026 avec la documentation officielle de Devin Desktop (format actuel, et ancien format Windsurf/Cascade). Documentation Devin 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 et enregistrez. Sans en-tête, Devin Desktop détecte la connexion OAuth de Normi : cliquez sur Authenticate dans la fiche du serveur, connectez-vous à normi.fr et autorisez l'application.
Fichier : ~/.config/devin/mcp_config.json (Windows : %APPDATA%\devin\mcp_config.json)
{
"mcpServers": {
"normi": {
"url": "https://mcp.normi.fr/mcp"
}
}
}Pour un seul projet, utilisez .devin/mcp_config.json à la racine du dépôt (ou .devin/mcp_config.local.json, ignoré par Git).
Variante avec clé API
Exportez NORMI_API_KEY dans votre environnement, puis référencez-la avec ${env:…} : la clé n'apparaît jamais en clair dans le fichier.
{
"mcpServers": {
"normi": {
"url": "https://mcp.normi.fr/mcp",
"headers": {
"Authorization": "Bearer ${env:NORMI_API_KEY}"
}
}
}
}Ancien format Windsurf (Cascade)
Les installations encore sous le nom Windsurf lisent ~/.codeium/windsurf/mcp_config.json et attendent le champ serverUrl. Ouvrez-le depuis le menu … du panneau Cascade → section MCPs → « Open MCP config file ».
Fichier : ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"normi": {
"serverUrl": "https://mcp.normi.fr/mcp",
"headers": {
"Authorization": "Bearer ${env:NORMI_API_KEY}"
}
}
}
}Alternative : paquet STDIO
Si les serveurs distants sont bloqués, lancez le paquet npm @normi/mcp-dvf en local. Il relaie les appels vers le même serveur Normi.
{
"mcpServers": {
"normi": {
"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": {
"A": { "count": 329, "median_prix_m2": 3571, "vs_median_pct": 4 },
"C": { "count": 2474, "median_prix_m2": 3526, "vs_median_pct": 2.7 },
"D": { "count": 4671, "median_prix_m2": 3395, "vs_median_pct": -1.1 },
"F": { "count": 1103, "median_prix_m2": 3303, "vs_median_pct": -3.8 },
"G": { "count": 418, "median_prix_m2": 3440, "vs_median_pct": 0.2 }
},
"summary": "Class A homes sell at +4% vs. median; class F at -3.8%"
}À Nantes centre, l'écart entre classes est net : +4 % au-dessus de la médiane pour la classe A, -3,8 % pour la classe F. Ces médianes décrivent le marché, elles ne sont pas corrigées de l'emplacement ni de l'année de vente.