RailRoute journey planner

in.railroutePublished by railroute.inOfficial publisherv1.3.0Updated Oct 24, 2026

Plan intercity journeys in India by train, flight or both, with a fare for every travel class.

VerifiedStreamable HTTPWeb executableLocation & LifestyleData & Analytics

Overview

AI-generated overview

Lets an assistant plan intercity journeys in India by train, flight or bus, with fares, timetables and seat availability.

What you can do
Resolves typed place names into RailRoute place ids, then plans every practical way between two places: direct trains with fares per class, one-change train journeys, flights, mixed train-and-flight itineraries, and government state bus services. It also checks live seat availability for one train and date, lists a train's full stop schedule, shows a station's departure board, maps day-by-day service over a date range, and finds nearby stations.
When to use it
Use it when someone wants to plan an intercity trip in India, check train or bus fares and seats, or find out which days a route runs. It also helps when a traveller is flexible about dates and the requested date is waitlisted.
Requirements
A remote MCP endpoint reached over HTTP; no local package or runtime is needed. The input declares no accounts, API keys, environment variables or headers, but network access to the remote service is required.
Before you install
Some tools spend a metered upstream call, and next_confirmed_date is described as expensive because it checks seats across dozens of trains, so use it sparingly. Queries are sent to a third-party service. The input does not say whether booking or payment is involved.

Installation

In SourceWeft

  1. Open RailRoute journey planner in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/in.railroute%2Fjourney-planner/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "railroute-journey-planner": {
      "type": "http",
      "url": "https://www.railroute.in/api/mcp"
    }
  }
}

Tools

8

find_place

Find a place

Turn what somebody typed into RailRoute place ids. ALWAYS call this before plan_journey. A place is a city with all of its stations and airports — Mumbai covers CSMT, LTT, Dadar, Bandra Terminus and the airport — so the planner can choose the right terminal rather than making the traveller do it. Typing a station code ("CSMT") finds the city and says which terminal matched.

Parameterslimitqueryrequired

plan_journey

Plan a journey

Every practical way to get from one place to another: direct trains with their fares per class, journeys with one change of train, flights, mixed train-and-flight itineraries, and GOVERNMENT BUSES from the state road transport corporations, priced from their own reservation systems. This is the whole answer in one call. Place ids come from find_place. Use it for bus questions too. On a large share of the corridors these corporations serve there is no through train at all — Mysuru to Mangaluru runs twenty-five buses a day and not one direct train — so a journey this tool answers with a bus is often the only through service that exists, not a second-best. Pass `train_class` when the traveller has named one ("3A", "sleeper") and every train is priced in it; leave it out and each train is priced in every class we have evidence it carries. Pass `modes: "trains_only"` when they have said train — do not ask them to choose otherwise, because the point of this planner is that they do not have to. Pass `arrive_by: true` when they named a time they must BE somewhere rather than a time they want to leave.

Parameterstorequireddaterequiredfromrequiredlimitmodesquotaarrive_bytrain_classask_preferencesinclude_connections

check_train_options

Check seats and booking options for a train

Live seat availability per class for one train on one date, plus every other way to book it when the through ticket will not confirm: a split at an intermediate station, boarding earlier, alighting later. This is the tool that rescues a waitlisted train. It spends a metered upstream call, so ask it about trains the traveller is actually considering rather than sweeping a list.

Parameterstorequireddaterequiredfromrequiredquotainclude_ractrain_numberrequired

train_schedule

Train timetable

Every stop of one train with its scheduled arrival and departure, in order. Scheduled times only — this says nothing about where the train is today.

Parameterstrain_numberrequired

station_departures

Departures from a station

Every train scheduled to call at a station, in departure order — the enquiry board, not a journey plan. Use plan_journey when somebody wants to get somewhere; use this when they are asking what leaves from here. Scheduled times only.

Parametersafterlimitstation_coderequired

journey_calendar

Which days a route runs

Day-by-day service over a span of dates for a station pair: which days have a direct train and which have none, plus the weekly pattern. Use this when somebody is flexible about when they travel, or asks 'does it run on Sundays'. Timetable only — it says nothing about seats.

Parameterstorequireddaysfromrequiredstart_daterequired

nearby_stations

Stations near a station

Other railway stations within a radius of one station, nearest first. Useful when a place has no service of its own and the traveller needs to know what is reachable — the planner already does this internally, so reach for it only when somebody asks the question directly.

Parameterslimitradius_kmstation_coderequired

next_confirmed_date

The next date with a confirmed seat

Search forward up to a month for the first date this route can actually be travelled with a confirmed berth — direct trains and one-change journeys together. Use it when a traveller is flexible about WHEN and the date they asked for is waitlisted. EXPENSIVE: it checks seats across dozens of trains and dates, so it is limited to a few calls an hour; for a single date use check_train_options instead.

Parameterstorequireddaterequiredfromrequiredquota

Version history

1
  1. v1.3.0LatestSep 16, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.