Skip to main content
Glama
NOTE

vibe-coded ✨

hafasmcp

MCP server for real-time German public transport data via HAFAS. Lets Claude (or any MCP client) query departures, arrivals, journeys, and nearby stops — currently configured for the VBN network (Lower Saxony / Bremen).

No API key needed. Uses the same public HAFAS API as fahrplaner.vbn.de.

Tools

Tool

Description

locations

Search stops, addresses, or POIs by name

departures

Upcoming departures from a stop

arrivals

Upcoming arrivals at a stop

journeys

Route planning between two locations

nearby

Find stops near a coordinate

Related MCP server: db-mcp

Quick Start

With Claude Code (stdio)

Add to your MCP config:

{
  "mcpServers": {
    "hafas": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "/path/to/hafasmcp"
    }
  }
}

With Docker (HTTP + OAuth 2.1)

cp .env.example .env
docker compose up -d

This starts the HTTP server on port 3000 with a Cloudflare quick tunnel for remote access.

Local Development

npm install
npm run build
npm start              # stdio mode
npm run start:http     # HTTP mode with OAuth 2.1

Environment Variables

Variable

Default

Description

PORT

3000

HTTP server port

ISSUER_URL

http://localhost:$PORT

OAuth 2.1 issuer URL

How It Works

The server wraps hafas-client with the VBN profile and exposes it as MCP tools. Two transport modes:

  • Stdio — for local MCP clients like Claude Code, zero config

  • HTTP — for remote access, with full OAuth 2.1 (dynamic client registration, PKCE, auto-approve)

Example

Ask Claude:

"Wann fährt die nächste Straßenbahn vom Hauptbahnhof Bremen?"

Claude will use locations to find the stop ID, then departures to get real-time data — all in under a second.

Stack

TypeScript, Node.js, hafas-client, @modelcontextprotocol/sdk, Express 5

License

ISC

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    An MCP server for interacting with the Berlin Public Transport (BVG) API to search for locations and plan journeys. It provides real-time access to departures, arrivals, trip details, and vehicle tracking within Berlin's transit network.
    Last updated
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that exposes the Deutsche Bahn public transport API to any MCP-compatible client (Claude Desktop, Cursor, Cline, Continue, etc.). Five tools cover station search, departures, journey planning, trip details, and nearby stations.
    Last updated
    6
    MIT

View all related MCP servers

Related MCP Connectors

  • Geo-based flight search MCP server. Find more flights between any two places on earth

  • MCP server wrapping the Tesla Fleet API and TeslaMate API

  • MCP server for AI dialogue using various LLM models via AceDataCloud

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mchristoffers/hafasmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server