ThemeParks.wiki MCP — live theme park wait times, schedules, and attraction data.
ThemeParks.wiki MCP has clear, action-verb naming (list_, get_) and well-structured schemas with proper types and required fields. Descriptions are present and contextual (avg ~180 chars), guiding LLMs on discovery flow (list_destinations first, then feed IDs to other tools). However, parameter descriptions are minimal (single short phrases), output schemas are undocumented, and error handling lacks recovery guidance. No pagination support despite potential for large result sets. Tool composition is sound but lacks idempotency guarantees and per-item error reporting.
Metadata for any theme park entity (destination, park, attraction, restaurant, or show): name, type, location, timezone, and parent ids.
Park operating hours — opening and closing times for a theme park over the coming weeks. Pass a PARK entity_id from list_destinations.
Live theme park wait times — how long is the wait for an attraction right now. Returns standby and single-rider ride queue minutes plus operating status for every attraction in a park (e.g. Disney / Universal ride queues). Pass a PARK entity_id from list_destinations.
List all theme park destinations (Disney, Universal, Six Flags, SeaWorld, etc.) and their parks. Use this first to discover the PARK entity id, then feed that id to get_wait_times / get_schedule / get_entity.
Output schemas not documented. LLMs cannot predict response structure (fields, types, nesting) for downstream planning. get_wait_times returns {park, attractions[]} but this is invisible in tool definition.
Parameter descriptions are single phrases ('A PARK entity id from list_destinations') lacking format/constraint details. No guidance on valid ID format, length, or character restrictions.
No pagination support. get_wait_times and get_schedule may return large result sets (100+ attractions, 30+ schedule dates) without limit/offset parameters or cursor guidance, risking context window exhaustion.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Error handling returns raw API errors ({error: status, message: text}) without recovery guidance. LLM cannot determine if error is retryable, user-fixable, or fatal.
No idempotency guarantees documented. Tools calling external API (tpGet) may have side effects on retry (e.g., rate limit hits, partial state changes) but this is not disclosed.