# Tube Hound > 24/7 London Tube status, instant routes, a natural-language travel desk, and station-anchored discovery of places and events open when you would arrive. People and agents read the same warehouse. The page posts to /hound/chat. An MCP client posts to /hound/mcp. Both URLs are on https://tubehound.co.uk. Nothing a visitor or an agent asks triggers a live TfL call: every answer is read from the Tube Hound warehouse (line status, 7-day planned works, lift notes, live arrivals, learned ride and headway medians, a venue catalogue with weekday hours, and a rolling events window) in a few milliseconds. Verdicts stay spaced words: blocked, partly blocked, running, stopped, noted, unresolved. Fares, last trains, and buses are not tracked: the assistant says so and answers the rail part. A burst past the cap returns 429. The default cap is 30 questions a minute for one client. The browser stays on this origin. The page's Content-Security-Policy allows connections to 'self' only. Do not call another host for these doors. ## Chat - [Chat](https://tubehound.co.uk/hound/chat): POST JSON `{"text": "...", "session": "optional"}`. `text` is required. Omit `session` and the reply mints one. A session is 1 to 64 characters from `A-Za-z0-9_-`. The reply is `verdict`, `sentence` (natural English), `session`, `kind`, `model`, and, when a tool filled one, `route` (origin, destination, minutes, `fast` and `calm` legs with line, from, to, stops, minutes, notes) or `station` (lines, next arrivals, typical waits, lifts) or `network` (line rows) or `places` plus `events` (each place with rating, review count, cuisine, price, open_state at arrival, closes_at, hours, walk minutes, and the route from the origin). When the text says here or near me, the body may include `here` as `{"lat", "lon"}` for that message only. - [Thread](https://tubehound.co.uk/hound/chat/{session}): GET `{"session", "messages": [{"role", "message"}]}`. Roles are user and assistant. Tool rows are left out. An unknown session is 404. A bad session is 400. - [Route](https://tubehound.co.uk/hound/route): POST `{"origin", "destination", "when": "now", "step_free": false}` for the raw warehouse route without the assistant. - [Station](https://tubehound.co.uk/hound/station?station=Bank): GET the station dossier without the assistant. - [Discover](https://tubehound.co.uk/hound/discover): POST `{"origin"?, "area"?, "query"?, "kind"?, "when": "now", "clock"?, "max_minutes": 25, "max_changes"?, "step_free": false, "here"?}` for places and events open at arrival, ranked by a Bayesian rating, the words asked, and the Tube minutes from origin. `verdict` is running, partly blocked, noted (area only, or disruption unchecked), or unresolved. ## MCP - [Server card](https://tubehound.co.uk/.well-known/mcp/server-card.json): name, version, the remote URL, and a tool summary. The live list comes from `tools/list` after connect. - [MCP door](https://tubehound.co.uk/hound/mcp): POST one JSON-RPC 2.0 message and read one JSON-RPC message (Streamable HTTP). Methods that work are `initialize`, `ping`, `tools/list`, and `tools/call`. `notifications/initialized` returns 202 and no body. `initialize` answers with protocol version `2025-06-18`, or `2024-11-05` when the request names it. Server name `tubehound`, version `0.3.0`. A `tools/call` past the cap is a JSON-RPC error, code 429, not an HTTP 429. `tools/call` names: `ask_tubehound` (`question`, `session?`), `plan_tube_route` (`origin`, `destination`, `when?`, `step_free?`), `discover_places` (`origin?`, `area?`, `query?`, `kind?`, `when?`, `clock?`, `max_minutes?`, `max_changes?`, `step_free?`), `trip_check` (`origin`, `destination`, `when?`), `tube_network_status` (`line?`, `when?`), `tube_station_board` (`station`), `resolve_place` (`query`), `ask` (`text`), `network_now`, `service_status`, `disruptions`, `planned`, `lifts`, `arrivals` (`stop`), `stop_search` (`query`). `plan_route`, `station_board`, and `network_status` are accepted as aliases. `when` is now, later, tomorrow, weekend, or day:YYYY-MM-DD within the 7-day planned pack. Each tool reads the warehouse. None of them call TfL. `trip_check` decides the verdict before any sentence is written; `plan_tube_route` keeps that verdict and adds the steps. `discover_places` checks each place's weekday hours at departure plus ride plus walk, so a bar open until 02:00 counts as open at 00:45, and a Sunday-only market says when it next opens. ## Optional - [ARD manifest](https://tubehound.co.uk/.well-known/ard.json): one entry for the MCP card and one entry for the chat door.