Skip to main content
Glama
alisonborba

mcp-tfl-journey

by alisonborba
README.md
# TFL Journey MCP Server

šŸš‡ A Model Context Protocol (MCP) server for Transport for London journey data. Get real-time routes, alerts, and disruptions via AI assistants like Claude.

## Quick Start

```bash
# Demo mode (limited requests)
TFL_API_KEY="6674e72d9f3d4678a3539ffbb24d5c92" npx mcp-tfl-journey

# With your own API key
TFL_API_KEY="your-api-key" npx mcp-tfl-journey
```

**Get your free API key**: https://api-portal.tfl.gov.uk/signup

## Claude Configuration

Add to your Claude MCP config:

```json
{
  "mcpServers": {
    "tfl-journey": {
      "command": "npx",
      "args": ["mcp-tfl-journey"],
      "env": {
        "TFL_API_KEY": "6674e72d9f3d4678a3539ffbb24d5c92"
      }
    }
  }
}
```

## Features

- šŸ” **Journey Search**: Find routes between TFL stations
- 🚨 **Real-time Alerts**: Get service alerts and disruptions
- šŸ“ **Stop Points**: Detailed station information
- šŸ“Š **Journey Summaries**: Duration, timing, and statistics

## Usage

The `search_journey` tool accepts:
- `from`: Source station code (e.g., "9400ZZLUKSX" for Kings Cross)
- `to`: Destination station code (e.g., "9400ZZLULVT" for Liverpool Street)

## Local Development

```bash
npm install
export TFL_API_KEY="your-api-key"
npm start
```

## Station Codes

| Code | Station |
|------|---------|
| 9400ZZLUKSX | Kings Cross |
| 9400ZZLULVT | Liverpool Street |
| 9400ZZLUPAD | Paddington |
| 9400ZZLUVIC | Victoria |

TDQS

B3.1/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap. The tool's purpose is unique.

Naming Consistency5/5

The single tool uses a clear verb_noun pattern (search_journey), establishing a consistent naming convention by default.

Tool Count2/5

One tool is too few for a journey planning domain, which typically requires multiple operations like station lookup or route details.

Completeness2/5

The tool surface is severely limited, covering only journey search and missing other essential TfL operations such as station information or service status updates.

Maintenance

ActivityInactive
ResponsivenessNo issues