World Monitor
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 97 tools.
GB (National Rail) train times: live departures, platforms, timetables and journey planning.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 4/5 통과 · 내가 묻는 내용은 제작자 서버(traintrackr.live)를 거쳐요 · ✓ 명령 확인 2026년 11월 13일
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음 · claude.ai나 데스크톱 앱에서 한 번 설정하면 채팅에서 쓸 수 있어요 · 무료 계정은 1개까지 · Team/Enterprise는 소유자(Owner)가 추가
CustomizeConnectors
여기서 복사해 Claude의 같은 이름 칸에 붙여 넣고 Continue를 누르세요
Traintrackrhttps://traintrackr.live/mcpClaude가 찾은 로그인 설정 화면에서 Continue를 누르고 · Authentication은 제작자 안내대로(Sign in now, Sign in when needed, No sign in) 고른 뒤 Add를 누르세요
+ConnectorsTraintrackr
Traintrackr을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude가 Traintrackr을 쓰고 있다고 하거나 답에 Traintrackr 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
ChatGPT 연결은 요금제에 따라 달라요
전체 MCP: 웹 ChatGPT Business, Enterprise, Edu · Pro: 읽기/가져오기 권한으로 연결, 데이터를 바꾸는 도구는 안 될 수 있어요 · Plus: 공식 문서 미확인, 플러그인 화면에 사용자 지정 MCP 추가 항목이 보이면 시도해 볼 수 있어요 · 웹만
Plugins+Add custom MCP server
이름을 넣고 Connection에 주소를 붙여 넣은 뒤 경고에 체크하고 Create as a plugin을 누르세요
Traintrackrhttps://traintrackr.live/mcp새 채팅을 열고 입력 전에 플러그인 목록에서 Traintrackr을 고르세요
Traintrackr을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ ChatGPT가 Traintrackr을 쓰고 있다고 하거나 답에 Traintrackr 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 OpenAI 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Claude Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기
claude mcp add --transport http --scope user traintracker https://traintrackr.live/mcpTraintrackr이 목록에 있고 연결됨으로 보이면 돼요
Traintrackr을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude Code가 Traintrackr을 쓰고 있다고 하거나 답에 Traintrackr 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Cursor에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Traintrackr을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Cursor가 Traintrackr을 쓰고 있다고 하거나 답에 Traintrackr 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
VS Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Traintrackr을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ VS Code가 Traintrackr을 쓰고 있다고 하거나 답에 Traintrackr 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요
웹으로 연결하는 앱용 주소
https://traintrackr.live/mcpJSON 설정은 아래 “개발자용”에 있어요
Claude Code
claude mcp add --transport http --scope user traintracker https://traintrackr.live/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"traintracker": {
"url": "https://traintrackr.live/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"traintracker": {
"type": "http",
"url": "https://traintrackr.live/mcp"
}
}
}이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
인터넷으로 연결하는 앱
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
서버가 도구 목록을 보여 주기 전에 로그인을 요구해요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 15일 점검
게시자(traintrackr.live)가 저장소 소유자(hugorodgerbrown)가 아니에요. 다른 사람이 등록했을 수 있어요
코드 마지막 변경: 어제
MIT 사용
83ms 만에 응답(HTTP 401)
OAuth 로그인을 지원한다고 밝혀서, AI 앱이 로그인 화면으로 안내해 줘요
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
아직 리뷰가 없어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 5개 중 4개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 어제 변경됐고, 최신 버전(0.1.0)은 2개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되므로 원격 MCP를 받는 앱에서도 쓸 수 있어요. 예: 웹 ChatGPT(Business 이상은 전체 MCP, Pro는 읽기 전용).
같은 카테고리에는: World Monitor, openstatus, Oh My Posh Validator, Strata, Jitsu
같은 카테고리, 다른 제작자, 명령 확인 완료. 공식이 먼저, 그다음 스타 순.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 97 tools.
Manage monitors, status pages, incidents and maintenances in your openstatus workspace.
Validate oh-my-posh configurations and segment snippets against the official schema.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Manage Jitsu data pipelines: destinations, streams, connections, functions, live events.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
An MCP server that lets Claude and ChatGPT answer questions about GB (National Rail) trains: *"when's the next train to Sudbury?"*, *"is the 13:00 from Liverpool Street on time?"*, *"how do I get from Cambridge to Sudbury next Saturday morning?"*
The public service runs at traintrackr.live. It is free, and you sign in with an email address; there is no password. The connector address is:
https://traintrackr.live/mcp
Claude. Traintrackr is listed in Claude's connector directory: open claude.ai/directory/traintrackr, or in claude.ai open Customize → Connectors, choose the + next to Connectors and find *Traintrackr* in the directory. Choose Connect: Claude opens the Traintrackr sign-in page, where you enter your email address and then open the link, or type the six-digit code, in the email it sends. A connector added in claude.ai also works in Claude Desktop and the mobile apps. To add it by address instead, choose Add custom connector, name it *Traintrackr* and paste the connector address.
ChatGPT. ChatGPT adds it through developer mode, on the web, in Plus, Pro, Business, Enterprise and Edu plans; in a workspace, an admin may have to allow developer mode first. Turn on Settings → Security and login → Developer mode, then at chatgpt.com/plugins choose +, name it *Traintrackr*, paste the connector address and choose OAuth. Sign in with your email address as above. In a new chat, choose + → Developer mode and select Traintrackr.
Then ask about trains. traintrackr.live/docs shows what each answer contains, and the limits. The privacy policy and terms of use are on the site too. The server is listed in the MCP Registry as live.traintrackr/traintracker.
The rest of this README describes how the server works and how to run your own copy: locally over stdio for the Claude desktop app, or hosted over HTTP (see Deploy to Render). The timetable is stored in Postgres.
flowchart LR
Claude[Claude] <-->|stdio or HTTP| TT[traintracker]
subgraph Live["Live, next ~2 hours"] D[Darwin Rail Data Marketplace] end subgraph Timetable["Timetable, any future date"] NR[Network Rail SCHEDULE feed] -->|daily download| DB[(Postgres timetable schema)] end TT --> D TT --> DB
| Tool | Answers | Data |
|---|---|---|
find_station | "Which Sudbury?" Station names ↔ CRS codes | Bundled station list |
live_departures | Next trains, expected times, platforms, delays, cancellations | Darwin, going on with scheduled timetable trains where fewer than rows run in its two hours; if it's not set up, scheduled times; if it's offline, scheduled times with a note saying so |
departure_platform | "Which platform is the 13:00 to Colchester?" One train's platform, flagged live or scheduled | Darwin (paged); scheduled platform from the timetable until the live one is announced |
platform_departures | "What are the next three trains from platform 7?" | Same as departure_platform |
live_arrivals | Trains arriving in the next ~2 hours | Darwin arrivals, going on with scheduled trains where short; if not set up, scheduled times; if offline, scheduled times with a note saying so |
show_board | "Show me the departures board for Liverpool Street." The same live departures or arrivals, drawn as a departure board | Same as live_departures and live_arrivals |
timetable | Scheduled departures/arrivals at a station on any date | Local timetable |
service_details | Every stop for one train | Whichever source issued the ID |
plan_journey | A to B with changes (up to max_changes, default 4), incl. cross-London links | Local timetable + Darwin live overlay |
data_status | What's configured, timetable freshness, what's missing; with DJANGO_DEBUG=1 (a server you run yourself), also the timetable schema, the last refresh error and the Darwin allowance used | — |
privacy_policy | "What do you keep about me?" The privacy policy as text, with the page's address | The /privacy page |
Every tool accepts station names or CRS codes. Ambiguous names ("Sudbury", "Harrow") return the candidates so Claude can ask which one you meant.
show_board comes with an MCP App: a client that supports MCP Apps draws its result as a split-flap departure board next to the answer. A client draws the board for every call of a tool that has one, so it is on a tool of its own, which the assistant is told to use only when someone asks to see a board. live_departures and live_arrivals return the same trains and draw nothing. A client without MCP Apps gets show_board's result as it would theirs.
The board is one page, apps/rail/ui/board.html, served as the resource ui://traintracker/board.html. Its style and script are inline and it loads nothing from anywhere. The client hands it the tool's result; it shows up to 12 trains, the station's notices and the data credit. Refresh asks the client to call show_board again with the same arguments, which counts against the rate limit like any other call. The flaps don't turn for someone who has asked their system for reduced motion, and a screen reader gets the trains as a table.
Everything from here on is for running the server yourself. The public service at traintrackr.live is this code, deployed as described in Deploy to Render.
Set TRAINTRACKER_DEMO=1 to test every tool before your accounts are approved. The server then uses generated example data and makes no network requests:
timetable_demo), apart from the real timetable, and rebuilt each day. Demo mode still needs DATABASE_URL.Every board and plan carries a note that the data is generated, and data_status reports demo_mode. Ask for stations outside the demo network and you get an empty board.
"env": { "TRAINTRACKER_DEMO": "1" }
Add that to the traintracker entry in the Claude desktop config (see Add to the Claude desktop app), or put TRAINTRACKER_DEMO=1 in .env. Remove it once your keys are in place. Things to try: *"next trains from Liverpool Street"*, *"which platform is the next train from Cambridge to Kings Cross?"*, *"how do I get from Cambridge to Sudbury tomorrow at 9?"*
| # | Account | Needed? | Cost | What it provides | Used for |
|---|---|---|---|---|---|
| 1 | Rail Data Marketplace — *Live Departure Board* product | Yes for live times | Free | Darwin: National Rail's real-time feed. Departure boards for the next 2 hours with expected times, platforms, delay/cancellation reasons, calling points, station alerts. The same data as station screens. | live_departures, live overlay in plan_journey |
| 2 | Network Rail Open Data (NTROD) — *SCHEDULE* feed | Yes for timetables and planning | Free | The full GB passenger timetable from Network Rail's planning system, including short-term changes (engineering works, extra trains, cancellations) once published. Refreshed daily. | timetable, plan_journey, service_details for tt: IDs, offline fallback for the live tools |
| 3 | Rail Data Marketplace — *Service Details* product | Optional | Free | Full live calling pattern for a train seen on a Darwin board. | service_details for darwin: IDs |
| 4 | Rail Data Marketplace — *Live Arrival Board* product | Optional | Free | Darwin arrivals boards. Without it, arrivals show scheduled times. | live_arrivals |
DARWIN_API_KEY.DARWIN_DEPARTURES_URL in .env.example. If it differs, set DARWIN_DEPARTURES_URL to your value (everything before /GetDepBoardWithDetails).DARWIN_SERVICE_API_KEY / DARWIN_SERVICE_URL and DARWIN_ARRIVALS_API_KEY / DARWIN_ARRIVALS_URL.NR_USERNAME and NR_PASSWORD.NR_SCHEDULE_URL in .env.example, set NR_SCHEDULE_URL to it.The server downloads the feed in the background when the timetable is missing or older than 26 hours. It checks this on start-up and on every tool call, so a server left running for days stays current. If a download fails it keeps serving the old timetable, and data_status shows the error. You can also run manage.py refresh_timetable --commit by hand (see Commands). Set TIMETABLE_AUTO_REFRESH=0 where a separate job runs refresh_timetable, as on Render.
The timetable lives in one schema (timetable by default) of the database in DATABASE_URL. The role needs to create schemas in that database; the owner of the database can. On a shared server, give traintracker its own database and role:
CREATE ROLE traintracker LOGIN PASSWORD '…';
CREATE DATABASE traintracker OWNER traintracker; REVOKE CONNECT ON DATABASE traintracker FROM PUBLIC;
Put that role in DATABASE_URL, not the server's own user. The server's user owns every database on it, so a fault in traintracker would reach the other applications' data; the traintracker role reaches its own database only.
The full GB timetable takes about 475 MB (4.3 million stops), and about twice that while a refresh builds the new copy. A refresh takes about 40 seconds plus the download. It builds the new timetable in a staging schema and swaps it in with a rename, so readers never see a half-built timetable, and an advisory lock stops two refreshes running at once.
The tables are UNLOGGED: they are rebuilt from the feed every day, so they skip the write-ahead log and don't add to the server's WAL or point-in-time-recovery storage. The cost is that Postgres empties them after a crash; the tools then report "No timetable yet" until the next refresh.
flowchart TD
Q{What's being asked?} Q -->|next ~2 hours| L[live_departures / live_arrivals]