Universal MCP Server for SkyBuddy flight tracking and booking system. Provides Model Context Protocol interface for flight search, price monitoring, route tracking, loyalty program management, passenger profiles, and booking intents. Works with Hermes, OpenClaw, Claude, and any MCP-compatible client.
SkyBuddy exhibits significant definition quality gaps. Tool names follow verb_noun convention (good), but parameter schemas are severely underdeveloped. The source code shows tool definitions with only string descriptions for parameters, no JSON Schema types, no enums, no constraints. For example, 'cabin_class' accepts 'economy/business/first' but is not declared as an enum; 'gender' accepts 'M/F/X' but lacks type info. Output schemas are completely undocumented. Error handling is absent, no recovery guidance, no categorization. Descriptions are present but generic (avg ~100 chars), lacking WHEN-to-use context and prerequisites. 23 tools with inconsistent quality; many lack parameter descriptions entirely (e.g., 'hours' in get_alerts has no description in the code snippet). No security patterns visible (no permission gates, no audit trails). Composition is reasonable (single responsibility per tool), but broken chains are likely, e.g., prepare_booking requires 'passengers' as array of names, but add_passenger returns no structured ID for chaining.
Add a credit card for points tracking
Add loyalty program balance
Add traveler profile for bookings
Add a route to monitor for price changes
Check all routes for price changes and trigger alerts
Approve a booking intent after a human OK. Re-checks the price ceiling and returns the agent playbook for the booking link.
No JSON Schema type definitions for parameters. All 23 tools declare parameters as bare strings with descriptions only. Missing 'type', 'enum', 'minimum', 'maximum', 'pattern' constraints. LLMs cannot validate input or select from constrained options.
Output schemas completely undocumented. No tool describes what fields it returns, their types, or structure. Agents cannot plan downstream calls or extract required IDs for chaining.
No error handling or recovery guidance. Tools provide no actionable error messages, categorization (retryable vs fatal), or next-step hints. Agents cannot self-correct on failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Create a traveller workspace with its own preferences, watched routes, passengers, cards, bookings and price history.
Delete a traveller workspace
Estimate points earned from a flight
Get recent price alerts
Get the step-by-step instructions the agent executes on the booking link
Describe the active traveller and the files their data lives in
Get current user preferences
List all credit cards
List all passenger profiles
List all monitored routes and their prices
List every traveller workspace and which one is active
Record the outcome of a booking the agent carried out
Create a booking intent for a specific flight link. Executes nothing: the intent must be confirmed by a human before the agent may act on it.
Search for flights with AI recommendations
Update user preferences
Make a traveller active; every later tool call uses their workspace
Update a traveller profile
Enum constraints embedded in descriptions instead of declared formally. E.g., 'cabin_class' says 'economy/business/first' but is not an enum type. LLMs may hallucinate invalid values like 'premium' or 'coach'.
Tool chaining broken by missing IDs in responses. prepare_booking requires 'passengers' as array of names, but add_passenger tool definition does not show what ID it returns for chaining. Agents cannot compose these tools reliably.