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
https://immoapi.app/api/mcpx-api-key: YOUR_API_KEYInstructions 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.
| Outil | Description |
|---|---|
search_mutations | Rechercher des transactions DVF par commune, code postal, année, type de bien et fourchette de prix. |
search_nearby_mutations | Trouver des ventes comparables autour de coordonnées GPS ou du centre d'un code postal. |
get_market_stats | Calculer 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.
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ètre | Type | Statut | Description |
|---|---|---|---|
commune | string | optionnel | Nom exact de la commune (ex : Paris, Lyon, Marseille) |
code_postal | string | optionnel | Code postal (ex : 75001, 69001) |
annee | integer | optionnel | Année de mutation (ex : 2024) |
type_local | string | optionnel | Type de bien : Appartement, Maison, Local industriel. commercial ou assimilé, Dépendance |
prix_min | number | optionnel | Valeur foncière minimale en euros |
prix_max | number | optionnel | Valeur foncière maximale en euros |
limit | integer | optionnel | Nombre maximal de résultats (défaut : 20, max : 100) |
offset | integer | optionnel | Dé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
}
]
}
}
}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ètre | Type | Statut | Description |
|---|---|---|---|
lat | number | optionnel | Latitude du point central. Requis si code_postal est absent. |
lng | number | optionnel | Longitude du point central. Requis si code_postal est absent. |
code_postal | string | optionnel | Code postal pour calculer un centre automatique (alternative à lat/lng) |
radius_km | number | optionnel | Rayon de recherche en km (défaut : 5, min : 0.1, max : 50) |
type_local | string | optionnel | Type de bien : Appartement, Maison, Local industriel, Dépendance |
annee | integer | optionnel | Année de mutation |
limit | integer | optionnel | Nombre 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
}
]
}
}
}
}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ètre | Type | Statut | Description |
|---|---|---|---|
commune | string | optionnel | Nom exact de la commune |
code_postal | string | optionnel | Code 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.
| Version | Statut |
|---|---|
2025-11-25 | recommandée |
2025-06-18 | supportée |
2025-03-26 | supportée |
2024-11-05 | supporté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).
| Header | Description |
|---|---|
X-RateLimit-Remaining | Nombre de requêtes restantes dans la fenêtre courante |
X-RateLimit-Reset | Secondes 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-RPC | HTTP | Signification |
|---|---|---|
-32700 | 400 | Erreur de parsing JSON |
-32600 | 400 | Requête JSON-RPC invalide ou version protocole non supportée |
-32602 | 200 | Paramètres invalides (outil inconnu, type incorrect) |
-32601 | 200 | Méthode non trouvée |
-32001 | 401 | Clé API manquante |
-32003 | 403 | Clé API invalide ou abonnement inactif |
-32029 | 429 | Rate limit dépassé |
-32603 | 500 | Erreur 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.