A MCP server to get the current status(es) of TFL lines using the TfL Unified API. Built with FastMCP for easy deployment with streamable HTTP transport.
pip install -r requirements.txt
python src/server.pyClick the button above to deploy your own instance to Render. Your server will be available at https://your-service-name.onrender.com/mcp
Add this to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"tfl-line-status": {
"command": "python3",
"args": ["/path/to/TfL-line-status-mcp/src/server.py"]
}
}
}Replace /path/to/ with the absolute path where you cloned this repository.
Restart the Claude Desktop app and then ask the status of a TfL line. You should get something like this...
Get disruptions for specific TfL lines (e.g., district, windrush, victoria, northern).
Parameters:
lines(string): Comma-separated list of line IDs (e.g., 'district,windrush' or 'victoria')
Example:
get_line_disruptions("district,victoria")Get disruptions for TfL transport modes (tube, overground, dlr, elizabeth-line, tram, bus).
Parameters:
modes(string): Comma-separated list of modes (e.g., 'tube,dlr' or 'overground')
Example:
get_mode_disruptions("tube,overground")