Serveur MCP Immo API : connectez vos agents IA aux données DVF

Dernière mise à jour :

Immo API expose un serveur MCP (Model Context Protocol) natif qui permet à vos agents IA d'interroger directement les transactions immobilières DVF en France. Le serveur MCP immobilier est compatible Claude Code, Cursor, VS Code, Windsurf et tout client MCP supportant le transport Streamable HTTP.

Référence rapide

Endpoint : https://immoapi.app/api/mcp
Transport : Streamable HTTP (POST JSON-RPC)
Authentification : x-api-key: YOUR_API_KEY
Rate limit : 60 requêtes/minute par clé API
Outils : 3 (search_mutations, search_nearby_mutations, get_market_stats)
Protocole : MCP 2025-11-25 (recommandé)

Instructions pour votre agent IA

Copiez ce fichier dans le contexte de votre agent (CLAUDE.md, system prompt, etc.)

# Immo API - Instructions MCP

Tu as accès au serveur MCP Immo API qui te permet d'interroger les données officielles DVF (Demandes de Valeurs Foncières) en France. Ces données couvrent toutes les transactions immobilières depuis 2014.

## Outils disponibles

### search_mutations
Recherche des transactions immobilières DVF.
- `commune` (string) : nom de la commune (ex: "Paris", "Lyon")
- `code_postal` (string) : code postal (ex: "75001")
- `annee` (integer) : année de mutation (ex: 2024)
- `type_local` (string) : "Appartement", "Maison", "Local industriel. commercial ou assimilé", "Dépendance"
- `prix_min` / `prix_max` (number) : fourchette de prix en euros
- `limit` (integer, max 100) : nombre de résultats
- `offset` (integer) : pagination

### search_nearby_mutations
Trouve des ventes comparables autour d'un point géographique.
- `lat` / `lng` (number) : coordonnées GPS (requis si pas de code_postal)
- `code_postal` (string) : alternative aux coordonnées GPS
- `radius_km` (number, 0.1-50, défaut 5) : rayon de recherche en km
- `type_local` (string) : type de bien
- `annee` (integer) : année
- `limit` (integer, max 100) : nombre de résultats

### get_market_stats
Statistiques agrégées du marché : nombre de mutations, prix moyen, prix min/max, surface moyenne.
- `commune` (string) : nom de la commune
- `code_postal` (string) : code postal

## Bonnes pratiques
- Utilise `search_nearby_mutations` pour les estimations (comparables par proximité)
- Utilise `get_market_stats` pour contextualiser un prix par rapport au marché local
- Utilise `search_mutations` pour des analyses de marché ou des recherches ciblées
- Combine plusieurs outils pour des analyses complètes (ex: comparables + stats)
- Les données couvrent la France métropolitaine et DOM-TOM (hors Alsace-Moselle et Mayotte)

Qu'est-ce que le protocole MCP ?

Le Model Context Protocol (MCP) est un standard ouvert qui permet aux modèles de langage (LLM) d'interagir avec des sources de données externes via des outils structurés. Au lieu de copier-coller des données dans un prompt, un agent IA équipé d'un serveur MCP peut directement interroger une API, lire les résultats et les utiliser dans son raisonnement.

Immo API implémente le transport Streamable HTTP du protocole MCP, ce qui signifie que le serveur est stateless : chaque requête est indépendante, sans session à maintenir. C'est l'approche recommandée pour les serveurs MCP distants (remote MCP servers) déployés sur le web. Pour en savoir plus sur l'utilisation de MCP avec les données immobilières, consultez notre article MCP et agents IA : interroger le DVF avec des agents intelligents.

Installation rapide

Le serveur MCP Immo API est accessible à l'adresse https://immoapi.app/api/mcp. Voici comment le connecter selon votre client.

Claude Code

claude mcp add --transport http immoapi \
  https://immoapi.app/api/mcp \
  --header "x-api-key: YOUR_API_KEY"

Cursor

Dans les settings Cursor, ajoutez un serveur MCP avec la configuration suivante :

{
  "mcpServers": {
    "immoapi": {
      "url": "https://immoapi.app/api/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

VS Code (Copilot)

Ajoutez à votre fichier .vscode/mcp.json :

{
  "servers": {
    "immoapi": {
      "type": "http",
      "url": "https://immoapi.app/api/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

Windsurf

{
  "mcpServers": {
    "immoapi": {
      "serverUrl": "https://immoapi.app/api/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

Client générique (mcp-remote, Python, etc.)

Tout client MCP supportant le transport Streamable HTTP peut se connecter. Le serveur accepte les requêtes POST JSON-RPC à https://immoapi.app/api/mcp avec le header x-api-key pour l'authentification.

Authentification

Le serveur MCP utilise la même clé API que les endpoints REST. Passez votre clé dans le header x-api-key de chaque requête.

curl -X POST "https://immoapi.app/api/mcp" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'

Obtenez votre clé API en créant un compte sur Immo API. La clé est disponible immédiatement dans votre tableau de bord. Toutes les communications transitent exclusivement via HTTPS. Ne partagez jamais votre clé API dans un dépôt public ou du code côté client.

Outils MCP disponibles

Le serveur MCP Immo API expose 3 outils que vos agents IA DVF peuvent appeler pour interroger les données immobilières. Chaque outil est en lecture seule (readOnly) et idempotent. Ils correspondent aux endpoints REST équivalents de l'API.

OutilDescription
search_mutationsRechercher des transactions DVF par commune, code postal, année, type de bien et fourchette de prix.
search_nearby_mutationsTrouver des ventes comparables autour de coordonnées GPS ou du centre d'un code postal.
get_market_statsCalculer les statistiques de marché : nombre de mutations, prix moyen, prix min/max, surface moyenne.

Les outils sont découverts automatiquement par les clients MCP via la méthode tools/list.

TOOL

search_mutations

Recherche des transactions immobilières DVF en France par commune, code postal, année, type de bien et fourchette de prix. Pagination incluse.

Paramètres

ParamètreTypeStatutDescription
communestringoptionnelNom exact de la commune (ex : Paris, Lyon, Marseille)
code_postalstringoptionnelCode postal (ex : 75001, 69001)
anneeintegeroptionnelAnnée de mutation (ex : 2024)
type_localstringoptionnelType de bien : Appartement, Maison, Local industriel. commercial ou assimilé, Dépendance
prix_minnumberoptionnelValeur foncière minimale en euros
prix_maxnumberoptionnelValeur foncière maximale en euros
limitintegeroptionnelNombre maximal de résultats (défaut : 20, max : 100)
offsetintegeroptionnelDécalage de pagination (défaut : 0)

Exemple d'appel JSON-RPC

curl -X POST "https://immoapi.app/api/mcp" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "search_mutations",
      "arguments": {
        "commune": "Paris",
        "type_local": "Appartement",
        "annee": 2024,
        "prix_min": 200000,
        "prix_max": 600000,
        "limit": 5
      }
    }
  }'

Exemple de réponse

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "[{\n  \"date_mutation\": \"2024-03-15\",\n  ...}]"
      }
    ],
    "structuredContent": {
      "result": [
        {
          "date_mutation": "2024-03-15",
          "valeur_fonciere": 485000,
          "adresse": "12 Rue de Rivoli, 75001 Paris",
          "type_local": "Appartement",
          "surface_reelle_bati": 65,
          "nombre_pieces": 3,
          "prix_m2": 7461
        }
      ]
    }
  }
}
TOOL

search_nearby_mutations

Recherche les ventes comparables DVF autour de coordonnées GPS ou du centre moyen d'un code postal. Idéal pour les estimations immobilières par proximité.

Paramètres

ParamètreTypeStatutDescription
latnumberoptionnelLatitude du point central. Requis si code_postal est absent.
lngnumberoptionnelLongitude du point central. Requis si code_postal est absent.
code_postalstringoptionnelCode postal pour calculer un centre automatique (alternative à lat/lng)
radius_kmnumberoptionnelRayon de recherche en km (défaut : 5, min : 0.1, max : 50)
type_localstringoptionnelType de bien : Appartement, Maison, Local industriel, Dépendance
anneeintegeroptionnelAnnée de mutation
limitintegeroptionnelNombre maximal de résultats (défaut : 20, max : 100)

Au moins un des paramètres code_postal ou la paire lat/lng est requis.

Exemple d'appel JSON-RPC

curl -X POST "https://immoapi.app/api/mcp" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "search_nearby_mutations",
      "arguments": {
        "lat": 48.8566,
        "lng": 2.3522,
        "radius_km": 1,
        "type_local": "Appartement",
        "annee": 2024,
        "limit": 10
      }
    }
  }'

Exemple de réponse

{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "content": [{ "type": "text", "text": "..." }],
    "structuredContent": {
      "result": {
        "center": { "lat": 48.8566, "lng": 2.3522 },
        "radius_km": 1,
        "mutations": [
          {
            "date_mutation": "2024-02-20",
            "valeur_fonciere": 520000,
            "adresse": "5 Place du Chatelet, 75001 Paris",
            "type_local": "Appartement",
            "surface_reelle_bati": 55,
            "prix_m2": 9454,
            "distance_km": 0.12
          }
        ]
      }
    }
  }
}
TOOL

get_market_stats

Retourne des agrégats DVF simples : nombre de mutations, prix moyen, prix min/max et surface moyenne pour une commune ou un code postal.

Paramètres

ParamètreTypeStatutDescription
communestringoptionnelNom exact de la commune
code_postalstringoptionnelCode postal à analyser

Exemple d'appel JSON-RPC

curl -X POST "https://immoapi.app/api/mcp" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -d '{
    "jsonrpc": "2.0",
    "id": 4,
    "method": "tools/call",
    "params": {
      "name": "get_market_stats",
      "arguments": {
        "code_postal": "75001"
      }
    }
  }'

Exemple de réponse

{
  "jsonrpc": "2.0",
  "id": 4,
  "result": {
    "content": [{ "type": "text", "text": "..." }],
    "structuredContent": {
      "result": {
        "nombre_mutations": 842,
        "prix_moyen": 685000,
        "prix_min": 125000,
        "prix_max": 3200000,
        "surface_moyenne": 52
      }
    }
  }
}

Versions du protocole MCP

Le serveur MCP Immo API supporte plusieurs versions du protocole MCP. Envoyez le header MCP-Protocol-Version pour spécifier la version souhaitée. La version 2025-11-25 ajoute le support de structuredContent dans les réponses d'outils et les annotations de tools. Les versions antérieures restent compatibles mais ne bénéficient pas de ces fonctionnalités.

VersionStatut
2025-11-25recommandée
2025-06-18supportée
2025-03-26supportée
2024-11-05supportée

Limites de requêtes MCP

Le serveur MCP Immo API applique un rate limit dédié de 60 requêtes par minute par clé API. Ce compteur est indépendant des limites des endpoints REST (1 000 requêtes/jour pour le plan Starter, illimité pour le plan Pro).

HeaderDescription
X-RateLimit-RemainingNombre de requêtes restantes dans la fenêtre courante
X-RateLimit-ResetSecondes avant réinitialisation du compteur

En cas de dépassement, le serveur retourne un code JSON-RPC -32029 avec un HTTP 429 et un header Retry-After. Attendez le nombre de secondes indiqué avant de renvoyer une requête.

Gestion des erreurs

Le serveur MCP retourne des erreurs au format JSON-RPC 2.0 standard. Voici les codes d'erreur spécifiques :

Code JSON-RPCHTTPSignification
-32700400Erreur de parsing JSON
-32600400Requête JSON-RPC invalide ou version protocole non supportée
-32602200Paramètres invalides (outil inconnu, type incorrect)
-32601200Méthode non trouvée
-32001401Clé API manquante
-32003403Clé API invalide ou abonnement inactif
-32029429Rate limit dépassé
-32603500Erreur interne du serveur

Exemple d'erreur

{
  "jsonrpc": "2.0",
  "id": null,
  "error": {
    "code": -32003,
    "message": "Invalid API key"
  }
}

Cas d'usage pour agents IA

Le serveur MCP Immo API permet à vos agents IA de réaliser des tâches immobilières complexes en autonomie. Voici des exemples concrets d'utilisation :

Estimation immobilière automatisée

Un agent IA utilise search_nearby_mutations pour trouver les ventes comparables dans un rayon de 500m autour d'un bien, puis get_market_stats pour contextualiser le prix au m² local. Il produit une estimation argumentée avec les comparables et les statistiques de marché.

Analyse de marché par quartier

Un agent interroge search_mutations sur plusieurs codes postaux pour comparer les prix moyens, les volumes de transactions et les tendances entre quartiers d'une même ville. Idéal pour les rapports d'investissement.

Due diligence immobilière

Lors d'un investissement, un agent IA analyse l'historique des transactions sur une commune, identifie les tendances de prix sur plusieurs années et compare avec les communes voisines pour valider la cohérence d'un prix d'achat.

Chatbot immobilier intelligent

Un chatbot répond aux questions des utilisateurs sur les prix immobiliers en temps réel, en s'appuyant sur les données DVF officielles via les outils MCP Immo API.

FAQ

Qu'est-ce qu'un serveur MCP et pourquoi l'utiliser pour les données immobilières ?

Un serveur MCP (Model Context Protocol) est une interface standard qui permet aux agents IA comme Claude, GPT ou Gemini d'accéder à des données externes de manière structurée. Pour les données immobilières DVF, cela signifie que votre agent IA peut rechercher des transactions, comparer des prix et calculer des statistiques sans intervention humaine, directement depuis votre IDE ou votre application.

Le serveur MCP Immo API supporte-t-il le transport SSE ?

Non. Le serveur MCP Immo API utilise le transport Streamable HTTP (POST JSON-RPC) et est entièrement stateless. Les requêtes GET avec Accept: text/event-stream retournent une erreur 405. Ce choix de design garantit la scalabilité et la fiabilité du serveur.

Puis-je utiliser la même clé API pour le MCP et l'API REST ?

Oui. La même clé API fonctionne pour le serveur MCP et les endpoints REST classiques. Les rate limits sont cependant séparés : 60 requêtes/minute pour le MCP, et les limites de votre plan tarifaire (1 000/jour pour Starter, illimité pour Pro) pour l'API REST.

Quels clients MCP sont compatibles avec Immo API ?

Tout client supportant le transport Streamable HTTP du protocole MCP est compatible. Cela inclut Claude Code, Cursor, VS Code (Copilot), Windsurf, le bridge mcp-remote, et les SDK Python/TypeScript MCP.

Les données DVF accessibles via MCP sont-elles les mêmes que via l'API REST ?

Oui, exactement. Le serveur MCP interroge la même base de données DVF que les endpoints REST. Les données sont issues des Demandes de Valeurs Foncières publiées par la DGFiP, couvrant les transactions immobilières en France depuis 2014 (hors Alsace-Moselle et Mayotte).

Comment tester le serveur MCP sans client MCP ?

Vous pouvez tester directement avec curl ou tout outil HTTP. Envoyez des requêtes POST JSON-RPC à https://immoapi.app/api/mcp avec votre clé API dans le header x-api-key. Les exemples de cette documentation montrent les commandes curl pour chaque outil.

Pourquoi connecter un agent IA aux données immobilières DVF via MCP ?

Le Model Context Protocol (MCP) transforme la manière dont les agents IA accèdent aux données structurées. En connectant un agent IA au serveur MCP d'Immo API, vous donnez à votre assistant une capacité d'analyse immobilière basée sur les données officielles DVF publiées par la DGFiP.

Contrairement à une intégration API classique qui nécessite du code applicatif, le serveur MCP immobilier d'Immo API permet à un agent IA d'appeler les outils disponibles en autonomie. L'agent décide quand interroger les mutations DVF, calculer des statistiques de marché ou chercher des comparables géographiques, en fonction du contexte de la conversation.

Cette approche est particulièrement utile pour les estimations immobilières automatisées, les analyses de marché par quartier, la due diligence et les chatbots immobiliers intelligents. Les trois outils MCP couvrent les cas d'usage les plus fréquents : recherche de transactions, comparables par proximité GPS, et statistiques agrégées. Consultez notre comparatif des API DVF pour comprendre les avantages d'Immo API face aux alternatives.

Connectez votre agent IA aux données DVF

Créez votre compte et obtenez votre clé API en 30 secondes. 2 jours d'essai gratuit.