An AI-powered packing list generator that uses weather forecasts, user profiles, and trip archetypes to build personalized packing lists. Includes a weather MCP server for fetching forecasts via Open-Meteo.
Three tools with complete input schemas and descriptions, but quality varies. get_weather and build_packing_list have detailed, LLM-optimized descriptions (120-180 chars) with well-typed parameters including optional fields with clear semantics. select_skill is simpler but adequate. All tools are READ_ONLY (good for safety). However, output schemas are not documented, LLMs cannot plan downstream calls or extract structured results. Parameter descriptions are good but lack explicit constraints (e.g., date format validation, skill enum values). No error handling guidance provided.
Build a deterministic packing list from weather, profile, skills, and agent suggestions. Merges items from five sources (base essentials, weather-driven, profile preferences, trip-archetype skills, and agent-authored suggestions) with a fixed precedence order and deduplication logic.
Get the weather forecast for a destination over a date range.
Load the trip-archetype skill the agent has chosen for this trip. This is the agent-facing progressive-disclosure tool: the agent decides which archetype fits the forecast/purpose, calls select_skill with its name, and gets back the skill's guidance (so the model can reason about it) and the list of item labels it contributes.
Output schemas not documented. LLMs cannot infer what fields to expect from tool responses, blocking downstream tool chaining and result extraction.
select_skill accepts 'name' parameter but enum values (cold_weather, beach) are only documented in the description text, not as a formal enum constraint. LLMs may hallucinate other skill names.
Date parameters (start_date, end_date) lack explicit format validation rules in descriptions. Should state 'ISO 8601 YYYY-MM-DD format, e.g. 2025-01-15' to prevent LLM date parsing errors.
No error handling guidance. Tools do not document what happens on invalid input (bad dates, unknown skills, geocoding failures) or how LLMs should recover.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
build_packing_list accepts 'weather' as an object but does not document its expected structure (§4.3 reference is opaque to LLMs). Should include inline schema or link to a weather response example.