Unofficial local-first ClickBus MCP for place search, trip prices and booking history. Never pays unless CLICKBUS_ALLOW_MUTATIONS and explicit_user_intent are both set.
14 tools with consistent naming (verb_noun pattern: search_, clickbus_), good descriptions (100-200 chars typical), and explicit input schemas with enums. All tools declare risk levels and annotations. However, parameter descriptions are sparse or missing for many inputs, output schemas are undocumented, and error handling lacks recovery guidance. Privacy-mode and response_format parameters appear on most tools but lack descriptions explaining their effects. No documented return types or field mappings for chaining.
Terminals from live trip JSON. Dedicated boarding URLs 404/500.
Fail-closed. Needs CLICKBUS_ALLOW_MUTATIONS and explicit_user_intent. Guest tokens cannot charge. Default examples never enable this.
Past consumer bookings. Read-only. Street/phone/GPS redacted.
Fail-closed. Needs CLICKBUS_ALLOW_MUTATIONS and explicit_user_intent. Guest tokens cannot charge.
What this unofficial MCP can read and which writes stay gated.
Local doctor: token present, mutations off by default, unofficial ClickBus consumer surface.
Output schemas undocumented. No tool describes what fields it returns, their types, or how to chain results. LLMs cannot plan multi-step workflows or extract required IDs for downstream calls.
Parameter descriptions missing or incomplete. 'privacy_mode' and 'response_format' appear on 11+ tools but lack descriptions explaining what each enum value does or when to use them. LLMs cannot reason about parameter selection.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2025-06-18+ | v2 |
Deletes ~/.clickbus-mcp/tokens.json. Requires explicit_user_intent.
Prices and installments from live GET /api/v4/trips. Dedicated preview URL 404/405.
Shows redaction defaults (street/phone/GPS) and that book is off unless both gates are set.
Read-only place search (terminals/cities). Does not book a ticket.
Read-only trip search on /api/v4/trips. Does not book. GPS/street redacted.
Read-only GET /api/v5/trips (JSON 200). Does not book.
availableSeats/totalSeats from live trip JSON. Full seat map HTTP 500 is an honest gap.
Status only. Does not return GPS polylines or passenger documents.
Error handling lacks recovery guidance. Smoke test shows mutation gates return errors with 'USER_ACTION_REQUIRED|CLICKBUS_ALLOW_MUTATIONS|explicit_user_intent' but no structured error classification (retryable vs user-fixable vs fatal) or next-step guidance.
No pagination or result-limit documentation. Tools like clickbus_search_trips and clickbus_booking_history may return large result sets, but no limit, offset, or cursor parameters are visible. Risk of context window exhaustion.
Destructive tools (clickbus_book, clickbus_cancel, clickbus_logout) lack dry-run or confirmation step. Agents can trigger irreversible actions (booking, cancellation, token deletion) without explicit user confirmation beyond explicit_user_intent flag.