PeopleLikeUs MCP Server
The PeopleLikeUs MCP Server lets you interact with the PeopleLikeUs home exchange platform via an AI assistant, covering authentication, property browsing, calendar management, messaging, exchange tracking, and search.
Authentication
Check login status, log in with email/password, or inject browser cookies
Automatically handles CSRF protection and session caching
Properties
Get details for any property by ID
List your own properties
(Property creation/editing is not supported)
Calendar Management
Add or delete availability periods (simultaneous, non-simultaneous, non-reciprocal, or hospitality types)
Add or delete unavailability periods
View existing availability and unavailability periods
Conversations & Messaging
List conversations with filters (unread, exchanges, flagged, sent, received, trash)
Read messages in a conversation thread
Send, delete messages, or delete/trash entire conversations
Exchange Management
List and view details for exchanges
Propose new exchanges
Update exchange dates or type (simultaneous, non-reciprocal, etc.)
Cancel exchanges
Search
Search homes by location, country, dates, or number of guests
Quick search by listing number
User Info & Notifications
Retrieve authenticated user information
Get notifications
Technical notes: Supports automatic retry/backoff for rate limiting (HTTP 429/503) and uses both JSON API and HTML parsing for data.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PeopleLikeUs MCP Serverfind homes in Paris for July"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PeopleLikeUs MCP Server
A Model Context Protocol (MCP) server for interacting with the PeopleLikeUs home exchange platform directly from your AI assistant.
Browse properties, manage conversations, update your availability calendar, track exchanges — all with natural language.
Features
28 MCP tools covering read and write operations
Search properties by country, location, dates
Messaging: read conversations, send messages, delete threads
Calendar management: add/remove availability and unavailability periods
Exchange tracking: create, update dates/type, cancel
Auto-login with email/password — no manual token extraction needed
Session cache (
~/.peoplelikeus-mcp-session.json, 1h TTL)CSRF protection handled automatically
Rate limiting with configurable delay + automatic retry/backoff on HTTP 429
Related MCP server: Hostaway MCP Server
Prerequisites
Node.js >= 18
A PeopleLikeUs account (Premium recommended)
A MCP-compatible client: any host supporting the Model Context Protocol
Quick Start
# 1. Clone and build
git clone https://github.com/your-username/peoplelikeus-mcp
cd peoplelikeus-mcp
npm install && npm run build
# 2. Add to your MCP client config (see Configuration below)Authentication
PeopleLikeUs uses standard Laravel session authentication — no CAPTCHA, no Auth0. Automated login works out of the box.
Option 1 — Auto-login (recommended)
Set PLU_EMAIL and PLU_PASSWORD in your config. The server handles login, CSRF tokens, and session management automatically.
Option 2 — Browser cookies
Open peoplelikeus.world and log in
Open browser DevTools → Application → Cookies
Copy the
laravel_sessionandXSRF-TOKENcookie valuesSet as
PLU_COOKIESor callplu_set_cookiesat runtime
Note:
laravel_sessionis httpOnly — it's not visible viadocument.cookie. You must copy it from the DevTools Cookies panel.
Option 3 — Runtime login
Call plu_login with your email and password at runtime.
Authentication priority
Priority | Method | Description |
1 |
| Auto-login (recommended) |
2 |
| Raw cookie string from DevTools |
3 | Disk cache |
|
4 | Runtime | Call |
Configuration
.mcp.json (project-level config)
{
"mcpServers": {
"peoplelikeus": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/peoplelikeus-mcp/dist/index.js"],
"env": {
"PLU_EMAIL": "your@email.com",
"PLU_PASSWORD": "yourpassword"
}
}
}
}Environment Variables
Variable | Required | Default | Description |
| No* | — | Login email |
| No* | — | Login password |
| No* | — | Raw cookie string from browser DevTools |
| No |
| Delay between requests (ms) |
| No |
| Retries on HTTP 429/503 (0 = fail immediately) |
| No |
| Exponential backoff base (ms) when no |
* At least one auth method required (PLU_EMAIL + PLU_PASSWORD, PLU_COOKIES, or runtime plu_login)
Tools (28)
Auth (3)
Tool | Parameters | Description |
| — | Check authentication status |
|
| Login with credentials |
|
| Inject raw browser cookies |
Properties (2)
Tool | Parameters | Description |
|
| Property details (public page) |
| — | List your own properties |
Calendar (6)
Tool | Parameters | Description |
|
| Get availability periods (JSON API) |
|
| Get unavailability periods (JSON API) |
|
| Add an availability period |
|
| Delete an availability period |
|
| Add an unavailability period |
|
| Delete an unavailability period |
Conversations & Messages (5)
Tool | Parameters | Description |
|
| List conversations (filters: |
|
| Get messages in a conversation thread |
|
| Send a message |
|
| Delete a message |
|
| Delete/trash a conversation |
Exchanges (6)
Tool | Parameters | Description |
| — | List your exchanges |
|
| Exchange details (dates, type, guests) |
|
| Propose a new exchange |
|
| Update exchange dates |
|
| Change type: |
|
| Cancel an exchange |
Search (2)
Tool | Parameters | Description |
|
| Search properties |
|
| Search by listing number |
Misc (2)
Tool | Parameters | Description |
| — | Get notifications |
| — | Get authenticated user info |
Usage Examples
Search for homes in Portugal
Show my conversations
Send a message to user 12345 about property 67890: "Hello, we love your place..."
Add availability for my property 40646 from July 4 to August 29
Show my exchanges
Cancel exchange 22076Architecture
src/
├── index.ts — Entry point, StdioServerTransport
├── server.ts — 28 MCP tool definitions + request dispatch
├── api.ts — HTTP client (JSON API + HTML parsing for server-rendered pages)
├── auth.ts — Laravel session auth (login, CSRF, cookies, disk cache)
└── types.ts — TypeScript interfacesDual API approach:
JSON API:
/api/availables,/api/unavailables,/notifications,/authuserHTML parsing: conversations, exchanges, properties, search results (Laravel Blade templates)
Limitations
HTML parsing: some pages are server-rendered (Blade templates) — data extraction relies on HTML structure which may change
No image upload: multipart upload for property photos not yet implemented
No property creation/editing: only reading is implemented
Search: uses
country_longparameter; location-based search requires coordinates (Google Places integration not available server-side)Rate limiting: default 1500ms between requests (configurable via
PLU_REQUEST_DELAY); automatic retry with exponential backoff on HTTP 429/503 (respectsRetry-After)
Contributing
Contributions are welcome! Feel free to open an issue or submit a pull request.
npm run dev # Watch mode for development
npm run build # Build for productionLicense
MIT
PeopleLikeUs MCP Server
Un serveur Model Context Protocol (MCP) pour interagir avec la plateforme d'échange de maisons PeopleLikeUs directement depuis votre assistant IA.
Parcourez des propriétés, gérez vos conversations, mettez à jour votre calendrier de disponibilité, suivez vos échanges — le tout en langage naturel.
Fonctionnalités
28 outils MCP couvrant les opérations de lecture et d'écriture
Recherche de propriétés par pays, localisation, dates
Messagerie : lire les conversations, envoyer des messages, supprimer des fils
Gestion du calendrier : ajouter/supprimer des périodes de disponibilité et d'indisponibilité
Suivi des échanges : créer, modifier dates/type, annuler
Connexion automatique avec email/mot de passe — pas d'extraction manuelle de token
Cache de session (
~/.peoplelikeus-mcp-session.json, durée de vie 1h)Protection CSRF gérée automatiquement
Rate limiting avec délai configurable entre les requêtes
Prérequis
Node.js >= 18
Un compte PeopleLikeUs (Premium recommandé)
Un client compatible MCP : tout hôte supportant le Model Context Protocol
Démarrage rapide
# 1. Cloner et compiler
git clone https://github.com/your-username/peoplelikeus-mcp
cd peoplelikeus-mcp
npm install && npm run build
# 2. Ajouter à la config de votre client MCP (voir Configuration ci-dessous)Authentification
PeopleLikeUs utilise une authentification Laravel par session standard — pas de CAPTCHA, pas d'Auth0. La connexion automatique fonctionne directement.
Option 1 — Connexion automatique (recommandé)
Renseignez PLU_EMAIL et PLU_PASSWORD dans votre config. Le serveur gère la connexion, les tokens CSRF et la gestion de session automatiquement.
Option 2 — Cookies navigateur
Ouvrez peoplelikeus.world et connectez-vous
Ouvrez les DevTools → Application → Cookies
Copiez les valeurs des cookies
laravel_sessionetXSRF-TOKENRenseignez dans
PLU_COOKIESou appelezplu_set_cookiesau runtime
Note :
laravel_sessionest httpOnly — il n'est pas visible viadocument.cookie. Vous devez le copier depuis le panneau Cookies des DevTools.
Option 3 — Connexion runtime
Appelez plu_login avec votre email et mot de passe au runtime.
Priorité d'authentification
Priorité | Méthode | Description |
1 |
| Connexion auto (recommandé) |
2 | Variable | Chaîne de cookies brute depuis DevTools |
3 | Cache disque |
|
4 | Runtime | Appeler l'outil |
Configuration
.mcp.json (config au niveau du projet)
{
"mcpServers": {
"peoplelikeus": {
"type": "stdio",
"command": "node",
"args": ["/chemin/absolu/vers/peoplelikeus-mcp/dist/index.js"],
"env": {
"PLU_EMAIL": "votre@email.com",
"PLU_PASSWORD": "votremotdepasse"
}
}
}
}Variables d'environnement
Variable | Requis | Défaut | Description |
| Non* | — | Email de connexion |
| Non* | — | Mot de passe |
| Non* | — | Chaîne de cookies brute depuis DevTools |
| Non |
| Délai entre les requêtes (ms) |
| Non |
| Tentatives sur HTTP 429/503 (0 = échec immédiat) |
| Non |
| Base du backoff exponentiel (ms) sans header |
* Au moins une méthode d'auth requise (PLU_EMAIL + PLU_PASSWORD, PLU_COOKIES, ou plu_login au runtime)
Outils (28)
Auth (3)
Outil | Paramètres | Description |
| — | Vérifier le statut d'authentification |
|
| Se connecter avec ses identifiants |
|
| Injecter des cookies bruts du navigateur |
Propriétés (2)
Outil | Paramètres | Description |
|
| Détails d'une propriété (page publique) |
| — | Lister ses propres propriétés |
Calendrier (6)
Outil | Paramètres | Description |
|
| Périodes de disponibilité (API JSON) |
|
| Périodes d'indisponibilité (API JSON) |
|
| Ajouter une période de disponibilité |
|
| Supprimer une période de disponibilité |
|
| Ajouter une période d'indisponibilité |
|
| Supprimer une période d'indisponibilité |
Conversations et messages (5)
Outil | Paramètres | Description |
|
| Liste des conversations (filtres : |
|
| Messages d'un fil de conversation |
|
| Envoyer un message |
|
| Supprimer un message |
|
| Supprimer/mettre à la corbeille une conversation |
Échanges (6)
Outil | Paramètres | Description |
| — | Lister ses échanges |
|
| Détails d'un échange (dates, type, voyageurs) |
|
| Proposer un nouvel échange |
|
| Modifier les dates d'un échange |
|
| Changer le type : |
|
| Annuler un échange |
Recherche (2)
Outil | Paramètres | Description |
|
| Rechercher des propriétés |
|
| Recherche par numéro d'annonce |
Divers (2)
Outil | Paramètres | Description |
| — | Récupérer les notifications |
| — | Info de l'utilisateur connecté |
Exemples d'utilisation
Rechercher des maisons au Portugal
Afficher mes conversations
Envoyer un message à l'utilisateur 12345 à propos de la propriété 67890 : "Bonjour, nous adorons votre logement..."
Ajouter une disponibilité pour ma propriété 40646 du 4 juillet au 29 août
Afficher mes échanges
Annuler l'échange 22076Architecture
src/
├── index.ts — Point d'entrée, StdioServerTransport
├── server.ts — 28 définitions d'outils MCP + dispatch des requêtes
├── api.ts — Client HTTP (API JSON + parsing HTML pour pages server-rendered)
├── auth.ts — Auth session Laravel (login, CSRF, cookies, cache disque)
└── types.ts — Interfaces TypeScriptDouble approche API :
API JSON :
/api/availables,/api/unavailables,/notifications,/authuserParsing HTML : conversations, échanges, propriétés, résultats de recherche (templates Laravel Blade)
Limitations
Parsing HTML : certaines pages sont rendues côté serveur (templates Blade) — l'extraction des données repose sur la structure HTML qui peut changer
Pas d'upload d'images : l'upload multipart pour les photos n'est pas encore implémenté
Pas de création/édition de propriété : seule la lecture est implémentée
Recherche : utilise le paramètre
country_long; la recherche par localisation nécessite des coordonnées (l'intégration Google Places n'est pas disponible côté serveur)Rate limiting : 1500ms par défaut entre les requêtes (configurable via
PLU_REQUEST_DELAY) ; retry automatique avec backoff exponentiel sur HTTP 429/503 (respecteRetry-After)
Contribuer
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou soumettre une pull request.
npm run dev # Mode watch pour le développement
npm run build # Compiler pour la productionLicence
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/manganate006/peoplelikeus-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server