ClickBus MCP
The server is an unofficial ClickBus MCP that lets AI agents search places, trips, prices, boarding points and seat availability, view booking history/status, and optionally perform fail-closed booking/cancellation while keeping credentials local and redacting private data.
Search places:
clickbus_search_placesfinds terminals/cities.Search trips & prices:
clickbus_search_trips(v4),clickbus_search_trips_v5(v5), andclickbus_price_previewreturn trip options and pricing.Trip details:
clickbus_boarding_pointsandclickbus_seat_availabilityexpose terminal and seat-count info (full seat maps are not supported).Account reads:
clickbus_booking_historylists past bookings;clickbus_track_bookingshows booking status without GPS polylines or passenger documents.Meta/status:
clickbus_connection_status,clickbus_capabilities, andclickbus_privacy_auditdescribe token state, available actions, and privacy defaults.Gated writes:
clickbus_bookandclickbus_cancelare fail-closed — they requireCLICKBUS_ALLOW_MUTATIONSandexplicit_user_intent=true; guest tokens cannot charge.Logout:
clickbus_logoutclears the local token, also requiring explicit user intent.Privacy/security: street, phone, GPS/latlng and passenger documents are redacted; tokens are stored locally in
~/.clickbus-mcp/tokens.jsonwith 0600 permissions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ClickBus MCP search bus trips from Sao Paulo to Rio de Janeiro this Friday"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Unofficial. Not affiliated with, endorsed by, or supported by ClickBus. The consumer JSON at
api.clickbus.comcan change without notice. Partner/api/v3/trips403 HTML is not shipped.
Never pays by default.
clickbus_bookandclickbus_canceldo nothing unlessCLICKBUS_ALLOW_MUTATIONSis enabled andexplicit_user_intentis true. Guest tokens cannot charge. Street, phone, email and GPS/latlng polylines are redacted.
Setup in 60 seconds
npx -y clickbus-mcp-unofficial setup
npx -y clickbus-mcp-unofficial auth --from-header "Bearer eyJ…"
npx -y clickbus-mcp-unofficial doctorToken is not OAuth. Capture a consumer request to api.clickbus.com → copy the Authorization header. Place/trip search still run without a token; pay tools stay blocked.
Stdio snippet (Claude Desktop, Cursor, Grok Bot). Do not set mutations in the snippet:
{
"mcpServers": {
"clickbus": {
"command": "npx",
"args": ["-y", "clickbus-mcp-unofficial"]
}
}
}See examples/claude-desktop.json and examples/grok-bot.md.
Related MCP server: 99 MCP
Skill or MCP
Same package, two doors. MCP registers tools on stdio/HTTP. The skill is the workflow (places → trips → stop before book) and can drive the same tools through the CLI when the client has no MCP:
npx -y clickbus-mcp-unofficial call clickbus_search_places --json '{"query":"fortaleza"}'Gates are identical. Copy skill/SKILL.md into your agent skills dir (~/.agents/skills/clickbus/ or Claude/Grok equivalent).
Tools
Kind | Tools |
Read · search |
|
Read · account |
|
Meta |
|
Gated pay (mutations and intent) |
|
Intent only |
|
HTTP (optional, loopback)
Default transport is stdio. Streamable HTTP binds 127.0.0.1 and checks Origin against http://127.0.0.1:<port> (override with CLICKBUS_MCP_ALLOWED_ORIGIN). This is DNS-rebinding mitigation, not a public server.
npx -y clickbus-mcp-unofficial --http
# GET http://127.0.0.1:3000/health
# POST http://127.0.0.1:3000/mcpSecurity
Tokens live in ~/.clickbus-mcp/tokens.json (0600). They are not in git, the npm tarball, or default examples. Full notes: SECURITY.md. Agents: llms.txt.
Tests
npm testNo live ClickBus login required.
Available Tools
14 toolsclickbus_boarding_pointsClickBus boarding pointsBRead-onlyIdempotent
Terminals from live trip JSON. Dedicated boarding URLs 404/500.
Inputs: to (required), from (required), departure_date (required), privacy_mode, +1 more.
clickbus_bookBook a ClickBus ticket (gated)ADestructive
Fail-closed. Needs CLICKBUS_ALLOW_MUTATIONS and explicit_user_intent. Guest tokens cannot charge. Default examples never enable this.
Inputs: to (required), from (required), departure_date (required), trip_id, +2 more.
clickbus_booking_historyClickBus booking historyBRead-onlyIdempotent
Past consumer bookings. Read-only. Street/phone/GPS redacted.
Inputs: privacy_mode, response_format.
clickbus_cancelCancel a ClickBus booking (gated)ADestructive
Fail-closed. Needs CLICKBUS_ALLOW_MUTATIONS and explicit_user_intent. Guest tokens cannot charge.
Inputs: booking_id (required), response_format, explicit_user_intent.
clickbus_capabilitiesClickBus capabilitiesBRead-onlyIdempotent
What this unofficial MCP can read and which writes stay gated.
Inputs: response_format.
clickbus_connection_statusClickBus connection statusCRead-onlyIdempotent
Local doctor: token present, mutations off by default, unofficial ClickBus consumer surface.
Inputs: response_format.
clickbus_logoutClear local ClickBus tokenADestructiveIdempotent
Deletes ~/.clickbus-mcp/tokens.json. Requires explicit_user_intent.
Inputs: response_format, explicit_user_intent.
clickbus_price_previewClickBus price/tax previewCRead-onlyIdempotent
Prices and installments from live GET /api/v4/trips. Dedicated preview URL 404/405.
Inputs: to (required), from (required), departure_date (required), privacy_mode, +1 more.
clickbus_privacy_auditClickBus privacy auditARead-onlyIdempotent
Shows redaction defaults (street/phone/GPS) and that book is off unless both gates are set.
Inputs: response_format.
clickbus_search_placesSearch ClickBus placesARead-onlyIdempotent
Read-only place search (terminals/cities). Does not book a ticket.
Inputs: query (required), privacy_mode, response_format.
clickbus_search_tripsSearch ClickBus trips and pricesARead-onlyIdempotent
Read-only trip search on /api/v4/trips. Does not book. GPS/street redacted.
Inputs: to (required), from (required), departure_date (required), privacy_mode, +1 more.
clickbus_search_trips_v5Search ClickBus trips v5BRead-onlyIdempotent
Read-only GET /api/v5/trips (JSON 200). Does not book.
Inputs: to (required), from (required), departure_date (required), privacy_mode, +1 more.
clickbus_seat_availabilityClickBus seat countsBRead-onlyIdempotent
availableSeats/totalSeats from live trip JSON. Full seat map HTTP 500 is an honest gap.
Inputs: to (required), from (required), departure_date (required), privacy_mode, +1 more.
clickbus_track_bookingTrack a ClickBus bookingBRead-onlyIdempotent
Status only. Does not return GPS polylines or passenger documents.
Inputs: booking_id (required), privacy_mode, response_format.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 14 tools
Several tools overlap or could be confused: clickbus_search_trips and clickbus_search_trips_v5 appear to do nearly the same thing, clickbus_price_preview overlaps with trip search pricing, and clickbus_boarding_points vs clickbus_search_places both relate to terminals/cities. The descriptions help, but the boundaries are not always crisp.
All tools share the clickbus_ prefix and snake_case style, but the naming pattern is mixed: some are verb_noun (search_trips, track_booking), some are noun-only (boarding_points, seat_availability), and some are bare verbs (book, cancel, logout). Consistent prefix helps, but the overall convention is not uniform.
14 tools is within a reasonable range for a travel/booking domain covering search, pricing, availability, booking, cancellation, history, and account/status operations. A few tools are diagnostic or meta-oriented (connection_status, capabilities, privacy_audit), but they do not make the count feel bloated.
The set covers the core ClickBus workflow: place search, trip search, pricing, boarding points, seat availability, booking, cancellation, history, and tracking. There are notable gaps such as full seat map selection and detailed booking document access, but the main lifecycle is present and usable.
Maintenance
Related MCP Connectors
Travel tools for AI agents: plan and edit real trips, search stays and tours, import travel videos.
Booking gateway for AI agents — discover events, movies & hotels, hand off to partner checkout.
Brazil-first flight price search for AI agents: Portuguese place names, BRL, disclosed affiliate
Airbnb, hotel and TripAdvisor search as agent tools.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to plan trips by searching flights, accommodations, and activities, and managing itineraries collaboratively with role-based permissions.205 npm1MIT
- AlicenseBqualityBmaintenanceEnables AI agents to get 99Pop and 99Moto fare estimates, ride history, and live tracking while keeping credentials local and ride requests fail-closed by default.1432 npm1MIT
- AlicenseCqualityBmaintenanceProvides AI agents with access to Zé Delivery's product catalog, search, and order tracking, with order placement and cancellation available only after explicit user consent and opt-in.2235 npmMIT
- AlicenseBqualityBmaintenanceProvides AI agents with a structured API for travel planning, enabling them to read trip data, search places, calculate routes, and create/validate itinerary change proposals that require explicit human approval before being applied.15MIT