integrations.sh
← all integrations

Figaro Immobilier

MCP server openai

Search the Figaro Immobilier database to find properties that match your search criteria (location, budget, property type, size, buy/rent).

Homepage
https://immobilier.lefigaro.fr/
Remote URL
https://immobilier.lefigaro.fr/mcp
Auth
NONE

Tools (2)

Extracted live via the executor SDK.

  • listings

    Recherche d'annonces immobilières sur Figaro Immobilier avec des critères détaillés.

    WORKFLOW OBLIGATOIRE:

    1. TOUJOURS appeler search_locations d'abord pour obtenir typeID, insee, et id de la localisation
    2. Utiliser les valeurs retournées par search_locations dans cet outil
    3. Pour utiliser radiusKm, réutiliser aussi search_locations.coordinates dans le paramètre coordinates
    4. SI l'utilisateur demande un rayon ou une distance autour d'une localisation ("autour de", "dans un rayon de", "à moins de X km de", "within X km"), l'appel à listings DOIT inclure radiusKm ET coordinates. Pour une recherche par rayon, ne pas restreindre en plus avec insee/legacyID, sinon la recherche devient "dans cette ville ET dans le rayon" au lieu de "autour de cette ville"
    5. SI l'utilisateur veut des biens "autour de", "près de", "near" une localisation mais sans distance explicite, utiliser radiusKm=10 par défaut

    Types de biens (utiliser ces termes français exacts):

    • Appartements: 'appartement' (inclut studio, loft, duplex)
    • Maisons: 'maison' (inclut villa, manoir, chalet, ferme)
    • Terrain: 'terrain'
    • Parking: 'parking'
    • Château: 'château'
    • Commercial: 'locaux professionnels' Utiliser get_estate_types pour la liste complète.

    UTILISATION DES PARAMÈTRES DE LOCALISATION:

    • typeID: OBLIGATOIRE - provient de search_locations
    • Pour VILLES (typeID 4 ou 6):
      • Utiliser le champ 'inseeCode' de search_locations dans le paramètre 'insee'
      • Ne PAS utiliser legacyID pour les villes
    • Pour RÉGIONS (typeID 2):
      • Utiliser le champ 'id' de search_locations dans le paramètre 'legacyID'
      • Ne PAS utiliser insee pour les régions
    • Pour DÉPARTEMENTS (typeID 3):
      • Utiliser le champ 'id' de search_locations dans le paramètre 'legacyID'
      • Ne PAS utiliser insee pour les départements
    • Pour QUARTIERS (typeID 7):
      • Utiliser le champ 'id' de search_locations dans le paramètre 'legacyID'
      • Le quartier doit avoir un champ 'district' non vide dans search_locations

    EXEMPLES COMPLETS: Exemple 1 - Ville: User: "appartement à Paris"

    1. Appeler search_locations(locationName="paris") → {typeID: 6, inseeCode: "75056", id: "123", coordinates: {lat: 48.8566, lon: 2.3522}}
    2. Appeler listings(typeID=6, insee="75056", estateTypes=["appartement"])

    Exemple 1 bis - Ville avec rayon, chambres et DPE: User: "appartement 2 chambres min à 10 km de Paris, DPE A ou B"

    1. Appeler search_locations(locationName="paris") → {typeID: 6, inseeCode: "75056", id: "123", coordinates: {lat: 48.8566, lon: 2.3522}}
    2. Appeler listings(typeID=6, coordinates={lat: 48.8566, lon: 2.3522}, radiusKm=10, minimumBedrooms=2, dpeCategories=["A","B"], estateTypes=["appartement"])

    Exemple 1 ter - Comportement interdit puis correct: User: "biens à 5 km de Lattes" Interdit: listings(typeID=6, insee="34129") Correct:

    1. search_locations(locationName="lattes") → {typeID: 6, inseeCode: "34129", coordinates: {lat: 43.57, lon: 3.9}}
    2. listings(typeID=6, coordinates={lat: 43.57, lon: 3.9}, radiusKm=5)

    Exemple 1 quater - Rayon par défaut: User: "biens autour de Lattes"

    1. search_locations(locationName="lattes") → {typeID: 6, inseeCode: "34129", coordinates: {lat: 43.57, lon: 3.9}}
    2. listings(typeID=6, coordinates={lat: 43.57, lon: 3.9}, radiusKm=10)

    Exemple 2 - Département: User: "maison dans le Var"

    1. Appeler search_locations(locationName="var", departmentCode="83") → {typeID: 3, id: "83"}
    2. Appeler listings(typeID=3, legacyID="83", estateTypes=["maison"])

    Exemple 2 bis - Région: User: "maison en Bretagne"

    1. Appeler search_locations(locationName="bretagne") → {typeID: 2, id: "Bretagne"}
    2. Appeler listings(typeID=2, legacyID="Bretagne", estateTypes=["maison"])

    Exemple 3 - Quartier: User: "appartement Bastille"

    1. Appeler search_locations(locationName="bastille") → {typeID: 7, id: "bastille", district: "bastille"}
    2. Appeler listings(typeID=7, legacyID="bastille", estateTypes=["appartement"])

    AFFICHAGE DES RÉSULTATS: Chaque annonce retournée contient un champ 'url' avec le lien direct vers l'annonce sur Figaro Immobilier. OBLIGATOIRE: Toujours afficher l'URL sous forme de lien Markdown cliquable pour chaque annonce. Format: Voir l'annonce [blocked] Exemple de rendu pour une annonce:

    • 📍 Paris 75001 - Appartement 3 pièces - 65m² - 450 000€
  • search_locations

    Recherche de localisations (villes, quartiers, départements, régions) pour obtenir les informations nécessaires à l'outil listings.

    RETOURNE: Liste de localisations avec typeID, inseeCode, id, district, departmentCode Toujours remonter les coordonnées pour les villes et quartiers. Le rayon kilométrique est à utiliser dans l'outil listings pas dans l'outil search_locations. SI l'utilisateur demande un rayon, l'étape suivante DOIT réutiliser coordinates dans listings avec radiusKm. Si l'utilisateur demande des biens autour d'une localisation sans préciser de distance, utiliser 10 km par défaut.

    UTILISATION:

    • VILLES: search_locations(locationName="nom_ville") Exemple: search_locations(locationName="paris")

    • VILLES DANS UN DÉPARTEMENT SPÉCIFIQUE: search_locations(locationName="nom_ville", departmentCode="XX") Exemple: search_locations(locationName="saint-maximin", departmentCode="30") Important: Utiliser departmentCode quand plusieurs villes ont le même nom

    • DÉPARTEMENTS: search_locations(locationName="nom_dept", departmentCode="XX") Exemple: search_locations(locationName="var", departmentCode="83") OBLIGATOIRE: Toujours fournir departmentCode pour les départements

    • RÉGIONS: search_locations(locationName="nom_region") Exemple: search_locations(locationName="bretagne")

    • QUARTIERS: search_locations(locationName="nom_quartier") Exemple: search_locations(locationName="bastille")

    DÉSAMBIGUÏSATION: Si plusieurs localisations retournées, demander à l'utilisateur de préciser le département ou la région. Exemple: "Saint-Denis" existe dans le 93 et à La Réunion.