Model Context Protocol server for Hostex property management API - supports stdio and streamable HTTP
Server defines 13 tools with explicit Zod schemas and descriptions. Naming is verb-first and consistent (list_, create_, cancel_, update_, get_, send_). Most tools have moderate descriptions (50-200 chars). However, schema completeness varies: several parameters lack descriptions, return types are not documented, and error handling guidance is minimal. Tool composition is reasonable, each tool has a single responsibility, but output documentation is weak, making it harder for LLMs to plan multi-step workflows. The server uses the Smithery SDK for both STDIO and HTTP transports; configuration injection for access tokens is correct. Overall, this is a solid mid-tier server with room for improvement in output documentation and error guidance.
Cancel a direct booking reservation (channel bookings not supported)
Create a direct booking reservation in Hostex
Get conversation details including all messages
Get custom fields for a stay
Query property availability for date ranges
List guest conversations and inquiries
Output schemas not documented. None of the 13 tools document what fields are returned by the API or what structure LLMs should expect when parsing responses. This forces LLMs to guess field names and types when chaining tools (e.g., after create_reservation, what field contains the reservation_code to pass to update_availabilities?).
Error handling lacks recovery guidance. No tool documents what errors might occur (e.g., 'property not found', 'invalid dates', 'quota exceeded') or how to recover. Error responses are not shown in the code; LLMs will receive raw API errors with no actionable next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 74 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 26 | - | v1 |
List properties from your Hostex account. Returns property details including ID, title, address, channels, and location coordinates.
List and search reservations with filters like status, dates, property ID, etc.
List room types from your Hostex account
Send a text or image message to a guest
Update property availability status for specific dates or date ranges
Update custom fields for a stay. Custom fields can be used in automated messages using {{cf.field_name}} syntax.
Update the lock code for a stay
Destructive operations lack confirmation or dry-run. hostex_cancel_reservation is marked DESTRUCTIVE, but no confirmation flow or dry-run mode is offered. An agent mistake will permanently cancel a reservation without warning.
Some parameter descriptions are missing. 'hostex_list_room_types' has no description for its offset and limit params. 'hostex_list_conversations' lacks descriptions. These gaps force LLMs to infer parameter meaning.
Tool composition could be simplified. Retrieving a single conversation requires two calls: hostex_list_conversations (paginated) then hostex_get_conversation. Consider adding a conversation_id filter to list_conversations or renaming get_conversation to reflect that it's the only way to fetch details.