
Bus and metro journeys, departures, routes, fares and service changes in Pakistani cities.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Finds bus stops, stations and the places around them by name, in one city or in every city. Accepts common English spellings of Pakistani place names, such as Faizabad or Faiz Abad. Returns the place_id and city each other tool needs. When nothing matches in a city, it lists the stops in that city served by the most routes.
Place name in English letters, such as Liberty Chowk or Saddar.
Search one city network. Leave out to search every city.
Finds bus stops, stations and the places around them by name, in one city or in every city. Accepts common English spellings of Pakistani place names, such as Faizabad or Faiz Abad. Returns the place_id and city each other tool needs. When nothing matches in a city, it lists the stops in that city served by the most routes.
| Argument | Type | Description |
|---|---|---|
| city | string | Search one city network. Leave out to search every city. |
| query* | string | Place name in English letters, such as Liberty Chowk or Saddar. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"city": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Search one city network. Leave out to search every city."
},
"query": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Place name in English letters, such as Liberty Chowk or Saddar."
}
},
"additionalProperties": false
}Lists the Pakistani cities with PakBus routes, the number of routes in each and the city name in Urdu.
No arguments.
{
"type": "object",
"properties": {}
}Lists the next three departures today from a place for each route and direction that boards there, soonest first, with the minutes until each, the last bus of the day, the fare and the stops each direction serves after the place.
| Argument | Type | Description |
|---|---|---|
| city* | string | City network from find_places or list_cities, such as Lahore, Attock or Rawalpindi. |
| place* | string | place_id from find_places. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"city",
"place"
],
"properties": {
"city": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "City network from find_places or list_cities, such as Lahore, Attock or Rawalpindi."
},
"place": {
"type": "string",
"pattern": "^[a-z0-9]{1,16}$",
"description": "place_id from find_places."
}
},
"additionalProperties": false
}Plans bus and metro journeys between two places in one city network. Returns the first journey leaving at or after the departure time as numbered steps with boarding stops, changes, walking, times and fare, a link that opens it in PakBus, and up to two later departures on one line. Apps that show interactive views also get a map of the journey.
| Argument | Type | Description |
|---|---|---|
| to* | string | place_id of the destination, from find_places. |
| city* | string | City network from find_places or list_cities, such as Lahore, Attock or Rawalpindi. |
| from* | string | place_id of the start, from find_places. |
| depart | string | Departure date and time in Pakistan local time, as YYYY-MM-DDTHH:MM. Leave out to leave now. Search again with a later time for later journeys. |
| max_changes | integer | Most changes between buses, 0 for direct journeys only. Defaults to 2. When none are found within the limit, journeys with up to 5 changes are returned. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"city",
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"pattern": "^[a-z0-9]{1,16}$",
"description": "place_id of the destination, from find_places."
},
"city": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "City network from find_places or list_cities, such as Lahore, Attock or Rawalpindi."
},
"from": {
"type": "string",
"pattern": "^[a-z0-9]{1,16}$",
"description": "place_id of the start, from find_places."
},
"depart": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}$",
"description": "Departure date and time in Pakistan local time, as YYYY-MM-DDTHH:MM. Leave out to leave now. Search again with a later time for later journeys."
},
"max_changes": {
"type": "integer",
"maximum": 5,
"minimum": 0,
"description": "Most changes between buses, 0 for direct journeys only. Defaults to 2. When none are found within the limit, journeys with up to 5 changes are returned."
}
},
"additionalProperties": false
}Lists a city's routes with fares, or shows one route: its stops in order in each direction, its fare and the day’s departure times from the first stop. Finds a route by code such as EV5701, by name such as Orange Line, or by service such as Green Electric Bus.
| Argument | Type | Description |
|---|---|---|
| city* | string | City network from find_places or list_cities, such as Lahore, Attock or Rawalpindi. |
| route | string | Route code, name or service. Leave out to list every route in the city. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"city"
],
"properties": {
"city": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "City network from find_places or list_cities, such as Lahore, Attock or Rawalpindi."
},
"route": {
"type": "string",
"maxLength": 80,
"description": "Route code, name or service. Leave out to list every route in the city."
}
},
"additionalProperties": false
}Lists current and announced service changes in a city network, such as closed stations, skipped stops or diversions, for every route or for one route by code, name or service. plan_journey, place_departures and route_details already include the changes on the routes they use.
| Argument | Type | Description |
|---|---|---|
| city* | string | City network from find_places or list_cities, such as Lahore, Attock or Rawalpindi. |
| route | string | Route code, name or service. Leave out for every change in the city. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"city"
],
"properties": {
"city": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "City network from find_places or list_cities, such as Lahore, Attock or Rawalpindi."
},
"route": {
"type": "string",
"maxLength": 80,
"description": "Route code, name or service. Leave out for every change in the city."
}
},
"additionalProperties": false
}