China travel MCP with real-time Trip.com data — hotels, flights, attractions & instant booking links
All 5 tools have basic descriptions and parameter schemas, but quality is inconsistent. Tool names follow verb_noun convention (search_*, plan_*, get_). However, descriptions lack actionable detail for LLM selection, they state WHAT but not WHEN or WHY to use each tool. Parameters have types and basic descriptions, but lack constraints (enums, ranges, patterns). No output schemas documented. Error handling is absent, the query_tripgenie() function returns raw strings on failure with no recovery guidance. The server delegates all logic to an external TripGenie API, making it a thin wrapper that doesn't validate inputs or structure responses.
Get travel tips and practical information for traveling in China.
Plan a complete multi-day itinerary for visiting a Chinese city.
Search top attractions and things to do in Chinese cities.
Search flights to/from/within China with real-time pricing.
Search hotels in China with real-time pricing and booking links.
No output schemas documented. Tools return raw strings from external API with no structure. LLMs cannot parse results reliably or chain outputs to downstream tools.
No input validation or error recovery guidance. query_tripgenie() catches RequestException and returns 'Request failed: <error>', LLM has no actionable next step. No retry logic, timeout handling, or user-fixable error messages.
Parameters lack constraints. 'budget' accepts free-form strings (e.g. 'budget', 'mid-range', 'luxury', '$50-100/night'), should be an enum. 'cabin' in search_flights has no enum constraint. 'interests' is unbounded free text. No min/max for 'days', 'guests', 'travelers'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Descriptions are generic and lack WHEN/WHY guidance. 'Search hotels in China with real-time pricing and booking links' does not explain when to call this vs plan_itinerary. No dependency hints or prerequisites stated.
PROXY_TOKEN hardcoded in source code ('tp_8k2mX9vQ4z'). Credentials must use server-side secret injection via environment variables only. Current code falls back to hardcoded default if env var missing.