homeexchange-mcp
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., "@homeexchange-mcpSearch homes in Paris for 2 guests in June."
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.
๐ homeexchange-mcp
An unofficial MCP server for HomeExchange
Search homes ยท Read messages ยท Manage favourites ยท All from your AI client
Unofficial project. Not affiliated with or endorsed by HomeExchange SAS. Personal use only โ see disclaimer.
What you can do
Once connected, ask your AI client things like:
"Find homes in Lisbon for 2 guests in July, GuestPoints only"
"Show me my unanswered messages"
"Send a message to conversation 12345 asking about parking"
"What homes have I favourited?"
"Show the availability calendar for home 1950607"
14 tools across two categories:
Category | Tools |
๐ Search & discovery |
|
๐ฌ Messaging |
|
Related MCP server: Homey MCP Server
How it works
npm run login
โ
Browser opens โ you log in once
โ
session.json (token + cookies, stays local)
โ
npm run mcp
โ
MCP Server (local, stdio)
โ
โโโโโโดโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
search & discovery messaging
(10 tools) (4 tools)
โ โ
โโโโโโโโโโโฌโโโโโโโโโโโโโ
โ
api.homeexchange.com
bff.homeexchange.comAuth is captured once via your real browser session โ no credentials stored in code. The MCP server runs locally and makes direct API calls on your behalf. Works with any MCP-compatible client.
Quick start
1. Install
npm install
npx playwright install chromium2. Capture your session
npm run loginA browser opens. Log in to HomeExchange, then press Ctrl+C. Your session is saved locally to session.json (git-ignored).
Tokens expire after a few days. Re-run
npm run loginwhen tools start returning 401s.
3. Start the MCP server
npm run mcpClient setup
Works with any MCP client that supports stdio transport.
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"homeexchange": {
"command": "npx",
"args": ["ts-node", "src/mcp.ts"],
"cwd": "/path/to/homeexchange-mcp"
}
}
}Claude Code
claude mcp add homeexchange -- npx ts-node src/mcp.tsCursor
~/.cursor/mcp.json:
{
"mcpServers": {
"homeexchange": {
"command": "npx",
"args": ["ts-node", "src/mcp.ts"],
"cwd": "/path/to/homeexchange-mcp"
}
}
}Zed
.zed/settings.json:
{
"context_servers": {
"homeexchange": {
"command": { "path": "npx", "args": ["ts-node", "src/mcp.ts"] }
}
}
}Tool reference
๐ Search & discovery
search_homes
Search listings by location, dates, guests, and exchange type.
Parameter | Type | Required | Default | Description |
| string | No | โ | City, region, or country |
| string | No | โ |
|
| string | No | โ |
|
| number | No | โ | Number of guests |
| string | No | โ |
|
| string | No | โ |
|
| number | No |
| Results per page (max 36) |
| number | No |
| Pagination offset |
get_home
Full details for a listing.
Parameter | Type | Required | Description |
| string | Yes | Numeric home ID |
get_home_calendar
Availability calendar โ blocked and open dates for a home.
Parameter | Type | Required | Description |
| string | Yes | Numeric home ID |
get_recommendations
Personalised picks based on your profile and history.
Parameter | Type | Required | Default | Description |
| number | No |
| Number of results |
list_my_homes
Your own listings. No parameters.
list_favorites
Your saved homes.
Parameter | Type | Required | Default | Description |
| number | No |
| Number of results |
add_favorite
Save a home to your favourites.
Parameter | Type | Required | Description |
| string | Yes | Home ID |
remove_favorite
Remove a home from your favourites.
Parameter | Type | Required | Description |
| string | Yes | Home ID |
list_saved_searches
Your saved search filters.
Parameter | Type | Required | Default | Description |
| number | No |
| Number of results |
get_user_profile
A member's public profile.
Parameter | Type | Required | Description |
| string | Yes | Numeric user ID |
๐ฌ Messaging
list_conversations
Your conversation inbox.
Parameter | Type | Required | Default | Description |
| string | No |
|
|
| number | No |
| Threads to return |
| string | No | โ | Pagination cursor from previous response |
get_conversation
All messages in a thread.
Parameter | Type | Required | Description |
| string | Yes | Conversation ID |
send_message
Reply in an existing conversation.
Parameter | Type | Required | Description |
| string | Yes | Conversation ID |
| string | Yes | Message text |
start_conversation
Open a new conversation about a home.
Parameter | Type | Required | Description |
| string | Yes | The home you're enquiring about |
| string | Yes | Opening message |
Scripts
Script | Description |
| Capture auth session via browser โ start here |
| Start the local MCP server |
| Full network recorder with HAR capture (API exploration) |
| Analyze a |
| Compile TypeScript |
| Typecheck + lint |
Project layout
src/
login.ts browser auth capture
record.ts full network recorder with HAR output
analyze.ts HAR โ api-map.json analysis
api.ts authenticated HTTP client
mcp.ts MCP stdio server
tools/
search.ts 10 search & discovery tools
messaging.ts 4 messaging toolsRoadmap
Tracked as GitHub Issues โ upvote or comment to influence priority:
#9 Calendar integration โ query and update availability, surface conflicts across requests
#10 Remote MCP โ hosted endpoint, no local setup required
#11 Token expiry detection โ auto-prompt on 401 (good first issue)
#12 Saved search alerts โ notify when new homes match your saved searches
Contributing
Ideas, bug reports, and pull requests are welcome.
Got a feature idea or found a bug? Open an issue โ describe what you were trying to do and what happened (or didn't).
Want to contribute code?
Fork the repo and create a branch from
mainMake your changes โ keep commits conventional (
fix:,feat:,chore:etc.)Open a pull request โ CI must pass before merge
Good first issues are tagged good first issue โ start there if you're new to the codebase.
Note: This project reverse-engineers a private API. New tools may break if HomeExchange changes their endpoints. Please check existing issues before reporting an API breakage.
Disclaimer
This is an unofficial, community project with no affiliation with HomeExchange SAS.
Uses your own HomeExchange account credentials, exactly as your browser does
Personal, non-commercial use only โ not for scraping, reselling, or commercial exploitation of HomeExchange data
Subject to HomeExchange's Terms of Service
The HomeExchange API is private and undocumented โ endpoints may change without notice
The intent is to build a genuinely useful tool for the HomeExchange community, and ideally to partner with HomeExchange to do this officially. If you work at HomeExchange and are interested in collaborating on a proper integration, please open an issue or get in touch.
License
MIT โ personal and non-commercial use.
HomeExchangeยฎ is a registered trademark of HomeExchange SAS. This project is independent and not endorsed by HomeExchange SAS.
This server cannot be installed
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/tn819/homeexchange-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server