An MCP server that combines Airbnb listing search and booking with weather forecasting to help users plan stays in Lahore, Pakistan. Uses Pydantic AI with Google Gemini to orchestrate travel planning.
5 tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names follow verb_noun convention (search_listings, get_listing_details, book_listing, get_coordinates, get_weather_forecast). Descriptions exist but are brief (10-80 chars) and lack actionable context for LLM selection. Input schemas present with type definitions, but parameter descriptions are minimal or missing. No output schemas documented. Error handling absent. Security concern: book_listing is a WRITE operation with no confirmation pattern or dry-run support.
Simulate booking a specific listing and returning a booking confirmation.
Get the latitude and longitude for a city name.
Retrieve detailed information about a specific Airbnb listing.
Get the weather forecast for a location given its latitude and longitude.
Search for Airbnb listings in a specific location matching stay details.
book_listing lacks confirmation/dry-run pattern for irreversible WRITE operation. No error guidance or recovery instructions. Agents may book unintentionally.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., listing_id from search_listings for get_listing_details).
Parameter descriptions are minimal or absent. 'location' in search_listings has a description, but 'checkin', 'checkout', 'guests' lack format/constraint details. LLMs may pass invalid dates or negative guest counts.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Tool descriptions are too brief (10-80 chars) and lack WHEN/WHY context. 'Get the weather forecast for a location given its latitude and longitude' does not explain when to call this vs alternatives or what the LLM should do with the result.
No error handling or recovery guidance. If search_listings returns no results, or book_listing fails due to unavailable dates, the agent has no actionable next step.