homeexchange-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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