homeexchange-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| he_get_homeA | Get full details of a HomeExchange property (name, location, GPS, features, photos, owner info, descriptions, amenities). Descriptions include every language the owner wrote; pass locale to keep only one and save tokens. |
| he_get_home_descriptionsA | Get a property's description texts by language, compact (title, good_feature, good_place, other per locale). Flags is_fallback when a requested language has no translation. Single API call — cheaper than he_get_home for comparing languages. |
| he_get_calendarA | Get availability calendar for a single property. ⚠️ For multiple homes, use he_get_calendar_batch instead to avoid repeated calls. |
| he_get_calendar_batchA | Get availability calendars for multiple properties in one call. Prefer this over calling he_get_calendar repeatedly. Max 20 homes. |
| he_get_ratingsB | Get reviews and ratings for a HomeExchange property (cleanliness, expectations, communication scores, feedback text) |
| he_get_favoritesA | Get the list of property IDs saved as favorites by the authenticated user |
| he_get_conversationsA | Get the user's conversations list with pagination. Returns conversation metadata, last message preview, exchange details |
| he_get_messagesA | Get messages from a specific conversation. Supports pagination via limit/offset. |
| he_get_userB | Get a HomeExchange user's profile (name, verified status, number of exchanges, response rate, images) |
| he_get_user_achievementsB | Get a user's GuestPoints loyalty level and achievements |
| he_get_user_ratingsB | Get reviews/ratings about a user (as host and guest) |
| he_get_my_homesA | Get all properties owned by the authenticated user |
| he_get_my_exchangesA | Get the user's exchanges (upcoming, ongoing, or past) with pagination |
| he_get_conversationA | Get detailed info about a single conversation (participants, exchanges, stay requests) |
| he_get_conversation_statsA | Get conversation statistics (unread count, total count) |
| he_translate_messageC | Translate a message to a target language |
| he_search_conversationsC | Search through conversations by keyword |
| he_search_homesA | Search for homes/properties. Returns slimmed results (id, location, bedrooms, rating, owner, cover image). ⚠️ IMPORTANT: If you pass calendar.date_ranges in filters, results are ALREADY filtered by availability — do NOT call he_get_calendar on each result, it is redundant and wastes tokens. Only call he_get_calendar when you need the full availability breakdown of a specific home. Full example with all filter categories: { "location": { "bounds": { "sw": { "lat": 36.0, "lon": -9.5 }, "ne": { "lat": 43.8, "lon": 4.3 } } }, "guests_nb": 4, "home": { "type": "home", "size": { "bedrooms": 2, "bathrooms": 1 }, "amenities": ["swimming-pool", "a-c", "wifi"], "surrounding": ["seaside"], "is_primary": true, "is_private_room": false, "exclude_animals": ["cat", "dog"] }, "calendar": { "date_ranges": [{ "from": "2026-08-05", "to": "2026-08-19" }] }, "exchange_type": "reciprocal", "filters": ["home-verified", "response-rate-above-threshold"] } Filter referencelocation: bounds {sw/ne with lat/lon} or location_id (Jawg polygon) home.type: "home" (maison) | "flat" (appartement) home.is_private_room: false (logement entier) | true (chambre privée) home.is_primary: true (résidence principale) | false (résidence secondaire) home.surrounding (array): "countryside" | "mountains" | "seaside" | "lakes" | "cities" | "villages" | "isolated" | "island" home.amenities (array):
home.exclude_animals (array): "cat" | "dog" | "other" home.eco_level: 4 (maisons durables uniquement) exchange_type: "available" (all) | "reciprocal" | "guest-wanted" (GuestPoints only) filters (array): "home-verified" | "response-rate-above-threshold" ← prefer this over min_response_rate param calendar.date_ranges: [{ "from": "YYYY-MM-DD", "to": "YYYY-MM-DD" }] calendar.duration: { "kind": "week-end" | "week" | "month" } guestpoint_range: { "min": 0, "max": 250 } (GP per night) |
| he_get_subscriptionA | Get the user's subscription plan info (type, expiry, auto-renew status) |
| he_get_favorites_fullA | Get favorites with full property details (not just IDs). Paginated. |
| he_get_wishlistsB | Get favorite folders (wishlists) with pagination |
| he_add_favoriteA | Add a property to favorites. Optionally specify a wishlist folder. IMPORTANT: ask user confirmation. |
| he_remove_favoriteA | Remove a property from favorites. IMPORTANT: ask user confirmation. |
| he_create_wishlistA | Create a new favorites folder (wishlist). IMPORTANT: ask user confirmation. |
| he_archive_conversationA | Archive a conversation. IMPORTANT: ask user confirmation. |
| he_unarchive_conversationB | Unarchive a conversation. IMPORTANT: ask user confirmation. |
| he_favorite_conversationA | Mark or unmark a conversation as favorite (star). IMPORTANT: ask user confirmation. |
| he_pre_approve_exchangeA | Pre-approve an exchange request. IMPORTANT: ask user confirmation. |
| he_cancel_exchangeA | Cancel an exchange with a reason. IMPORTANT: ask user confirmation. |
| he_change_exchange_typeA | Confirm/switch an exchange to reciprocal. Only needs the conversation ID: the correct home is auto-derived from the home already attached to your side of the conversation (passing a wrong home ID returns HTTP 500). senderHomeId is an optional hint, only used as a fallback when no home of yours is attached yet (pure GuestPoints conversation). IMPORTANT: ask user confirmation. |
| he_change_exchange_homeA | Change which home is proposed in an exchange. Use the exchange ID (not conversation ID) where you are the host. Get the exchange ID from conversation details (all_exchanges array, find the one where host=you). IMPORTANT: ask user confirmation. |
| he_rate_homeA | Rate a home after an exchange (clean, expectation, communication: 1-5). IMPORTANT: ask user confirmation. |
| he_send_messageB | Send a message in an existing HomeExchange conversation. IMPORTANT: ask user confirmation before sending. |
| he_send_first_messageA | Send a first contact message to a property owner, creating a new conversation. exchange_type: 1=reciprocal, 2=guestpoints (omit to let API decide based on calendar). IMPORTANT: ask user confirmation before sending. |
| he_update_calendarB | Update availability calendar periods for a property. Status: 1=available, 2=unavailable, 3=maybe. IMPORTANT: ask user confirmation. |
| he_update_homeA | Update property details (capacity, min_nights, features, etc.). IMPORTANT: ask user confirmation. |
| he_update_descriptionA | Update property description texts (title, good_feature, good_place, other). Omitted fields are preserved: current values of the target locale are merged in before the PUT. Use locale to create or update a specific language version. IMPORTANT: ask user confirmation. |
| he_get_who_favorited_meB | Get users/homes that have favorited one of your properties (homecards). Useful to find potential exchange partners. |
| he_get_saved_searchesA | Get all saved searches |
| he_get_saved_searchB | Get details of a specific saved search |
| he_create_saved_searchA | Create a saved search from search filters. IMPORTANT: ask user confirmation. |
| he_delete_saved_searchA | Delete a saved search. IMPORTANT: ask user confirmation. |
| he_get_last_searchesB | Get search history (last searches performed) |
| he_get_cancellation_reasonsA | Get the list of valid exchange cancellation reasons |
| he_get_messages_configA | Get messages configuration (templates, auto-messages settings) |
| he_batch_archiveA | Archive multiple conversations at once. IMPORTANT: ask user confirmation. |
| he_translate_messages_batchC | Translate multiple messages at once |
| he_update_exchange_datesA | Update exchange dates for a conversation. IMPORTANT: ask user confirmation. |
| he_auth_statusA | Check the current authentication status (logged in, token expiry, token source) |
| he_set_tokensA | Inject access_token (and optionally refresh_token) for authentication. Get these from browser DevTools → Application → Cookies → homeexchange.fr |
| he_refresh_tokenA | Manually trigger a token refresh using the stored PHPSESSID session cookie. Useful to test auto-renewal or force a new token before expiry. Only works if HE_COOKIES was used with a PHPSESSID value. |
| he_set_cookiesA | Inject a raw cookie string from the browser. Must contain oidc_access_token (or access_token). Include PHPSESSID to enable automatic token renewal. Get all cookies from DevTools → Application → Cookies → homeexchange.fr |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/homeexchange-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server