Koskamo

BestBus MCP

An official MCP server by BestBus that provides read-only access to live intercity bus departure data, timetables, and fares for over 15,000 routes in Thailand. It allows AI agents to search for buses, retrieve route information, and list destinations from specific towns, returning booking links for users to complete transactions directly on the BestBus platform.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

BestBus MCP logo, by BestBusVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by BestBus
MCP endpoint (Streamable HTTP)
https://bestbus.me/mcp
Vendor documentation

What you can do with it

  • Search for live bus departures between two towns on a specific date
  • Retrieve daily timetables and fare ranges for a specific route
  • List all bus destinations available from a specific town

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
bestbus 1.0.0
MCP protocol
2025-06-18
Tools
3 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

BestBus sells intercity bus tickets in Thailand (15,000+ routes, 150+ bus companies, live seats, Thai QR / card payment, e-ticket by email). Use search_buses for a trip on a date; route_info for the usual timetable; buses_from to see destinations. Show every departure with its own booking_url as a 'Book' link (a Book column in a table): it opens that bus on bestbus.me to pick seats and pay. Use the links exactly as given; they carry the source tag. When the departures leave from several boarding points (Bangkok has several bus terminals), ask where the traveller is staying and recommend the nearest boarding point; each departure has a boarding_point_map link. Town names in English (Bangkok, Chiang Mai, Koh Samui).

Tools

3 advertised

search_buses — Search buses on a date
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Live intercity bus departures in Thailand for one route and date, with departure time, bus company, boarding point and lowest fare in Thai baht. Each departure includes a booking_url that opens that bus on bestbus.me, where the traveller chooses seats and pays, and a map link for its boarding point.

search_buses input schema
{
  "type": "object",
  "required": [
    "from_town",
    "to_town",
    "date"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Travel date YYYY-MM-DD (today up to 180 days ahead)"
    },
    "to_town": {
      "type": "string",
      "description": "Destination town in English, e.g. Phuket"
    },
    "language": {
      "type": "string",
      "default": "en",
      "description": "Booking page language: en, th, zh, ru, fr, es, it, ms, uk, ar"
    },
    "from_town": {
      "type": "string",
      "description": "Departure town in English, e.g. Bangkok"
    },
    "passengers": {
      "type": "integer",
      "default": 1,
      "maximum": 9,
      "minimum": 1
    }
  },
  "additionalProperties": false
}
search_buses annotations
{
  "title": "Search buses on a date",
  "readOnlyHint": true,
  "openWorldHint": true,
  "destructiveHint": false
}
route_info — Bus route timetable
Advertised by the server during the last successful anonymous check.
Advertised read-only

The usual daily bus timetable of a Thai route from BestBus's nightly data: departures a day, first and last bus, fare range, journey time, bus companies, boarding points and the route page. No date needed; live seats on a specific date come from search_buses.

route_info input schema
{
  "type": "object",
  "required": [
    "from_town",
    "to_town"
  ],
  "properties": {
    "to_town": {
      "type": "string",
      "description": "Destination town in English"
    },
    "from_town": {
      "type": "string",
      "description": "Departure town in English"
    }
  },
  "additionalProperties": false
}
route_info annotations
{
  "title": "Bus route timetable",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
buses_from — Destinations from a town
Advertised by the server during the last successful anonymous check.
Advertised read-only

Where intercity buses go from a Thai town, busiest routes first, with departures a day and the lowest fare. From BestBus's nightly data.

buses_from input schema
{
  "type": "object",
  "required": [
    "town"
  ],
  "properties": {
    "town": {
      "type": "string",
      "description": "Town in English, e.g. Krabi"
    },
    "limit": {
      "type": "integer",
      "default": 15,
      "maximum": 40,
      "minimum": 1
    }
  },
  "additionalProperties": false
}
buses_from annotations
{
  "title": "Destinations from a town",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
761 ms
95th percentile latency
761 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 761 ms · metadata changed · 3 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http bestbus-mcp https://bestbus.me/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add bestbus-mcp --url https://bestbus.me/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable bestbus-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "bestbus-mcp": {
      "url": "https://bestbus.me/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "bestbus-mcp": {
      "type": "streamableHttp",
      "url": "https://bestbus.me/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start bestbus-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "bestbus-mcp": {
      "type": "http",
      "url": "https://bestbus.me/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http bestbus-mcp https://bestbus.me/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "bestbus-mcp": {
      "url": "https://bestbus.me/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "bestbus-mcp": {
      "serverUrl": "https://bestbus.me/mcp"
    }
  }
}

Let your agent find its tools

Find servers like BestBus MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run BestBus MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing