Bahn Transfer

io.github.citizen01-sidPublished by GitHub account citizen01-sidv1.0.0Updated Nov 6, 2026

Re-plan a delayed rail journey: onward options, transfer buffers, one recommendation

VerifiedStreamable HTTPWeb executableLocation & LifestyleFinance

Overview

AI-generated overview

Remote MCP server for rail travel: resolves stations, lists departures, and re-plans a delayed journey with onward connections and one recommendation.

What you can do
  • Resolve station or city names to a stop_id, with a resolution object naming the rule used and rejected alternatives
  • List upcoming departures at a stop, including trip_id, line, scheduled and actual times, and current delay
  • Re-plan a journey for a traveller already on a delayed train, with per-stop transfer buffers, onward connections and arrival times, and one safe recommendation
When to use it
Useful when a traveller is already on a delayed train and needs onward connections, transfer buffers and a single safe recommendation, or when an assistant needs station IDs and live departure delays for a rail journey.
Requirements
Remote streamable HTTP endpoint; no authentication, environment variables or headers declared. The paid tool requires an x402 payment payload (EVM, Base) passed in params._meta; a wallet capable of paying 1 USDC-cent per call is needed.
Before you install
plan_transfer is paid: 1 USDC-cent per call via x402 on Base, so calls spend real funds and require a payment payload. The first unpaid call returns a PaymentRequired object. Station and departure lookups are free and read-only.

Installation

In SourceWeft

  1. Open Bahn Transfer 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/io.github.citizen01-sid%2Fbahn-transfer/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": {
    "bahn-transfer": {
      "type": "http",
      "url": "https://bahn.1f916.de/mcp"
    }
  }
}

Tools

3

search_stations

Free. Resolve a station or city name to a stop_id. A bare city name resolves to that city's main rail hub only when exactly one candidate exists; the answer then carries a 'resolution' object naming the rule, the chosen station and the rejected alternatives. Use the returned stop_id as 'to' in plan_transfer.

Parametersqrequiredlimit

departures

Free. Upcoming departures at a stop_id, with trip_id, line, scheduled/actual time and current delay. Use trip_id as 'trip_id' in plan_transfer for the train the traveller is already on.

Parameterslimitstationrequired

plan_transfer

PAID (x402 exact/EVM, 1 USDC-cent per call). Re-plan a journey for a traveller already on a delayed train: per-stop transfer buffer, onward connections with arrival times, and one safe recommendation. Call it without payment to receive the PaymentRequired object; retry with the payment payload in params._meta['x402/payment'].

Parameterstorequiredtrip_idrequiredmin_buffermanual_delay

Version history

1
  1. v1.0.0LatestNov 6, 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.