KoreaSeoulSubwayStatusLABSCO SUMMARY
Two real Seoul datasets, and a template for the rest of them.
Seoul publishes a great deal through one open data API, and this shows the shape of wrapping it: one module per dataset, each declaring its endpoint and its tool. Useful as-is for ridership and events, and more useful as the thing you copy when you want the next dataset.
What it is
A worked example of an MCP server over the Seoul open data API. Two datasets are wired up: boarding and alighting counts per subway station by line, and the city's cultural event listings. The README is in Korean and presents the project as a sample to build on.
What you get
- Subway ridership figures, broken down by line and by station
- Seoul cultural event information from the city's own feed
- Two modules you can read as a pattern:
modules/KoreaSeoulSubwayStatus.tsandmodules/KoreaSeoulCulturalEventInfo.ts - Paged access — the open data endpoint takes a start and end index per request
Requirements
A Seoul open data API key, which you paste into the API_KEY constant in each of the two module files before building — there is no environment variable for it, so the key ends up in your working copy. Then npm i; npm run build and point your client at node with the path to dist/index.js. Version 0.0.1.
Setup effort
Build from source — git clone https://github.com/pinnaclesoft-ko/be-node-seoul-data-mcp.git
USE CASES
Asking which stations are busiest on a line
Query ridership by line and station instead of downloading and pivoting the open data file.
Finding what is on in Seoul
Pull the city's cultural event listings straight into the conversation.
Wrapping another Seoul dataset
Copy one of the two module files, swap the endpoint, and you have the next one.
2 tools
Listed in project code.
CulturalEventInfoBEFORE YOU INSTALL
What to know first
Tools you get
2 tools registered in the project's code.
Requires
node on PATH
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/pinnaclesoft-ko/be-node-seoul-data-mcp.git
cd be-node-seoul-data-mcpBefore building, paste your Seoul open-data API key into the API_KEY constant in modules/KoreaSeoulSubwayStatus.ts and in modules/KoreaSeoulCulturalEventInfo.ts (const API_KEY = "";).
npm i
npm run buildMCP Clients
Claude Desktop
{
"mcpServers": {
"KoreaSeoulData": {
"command": "node",
"args": [
"<YOUR_PATH_TO_BE_NODE_SEOUL_DATA>/dist/index.js"
]
}
}
}The Seoul open-data API key is pasted into the API_KEY constant inside each of the two module files (modules/KoreaSeoulSubwayStatus.ts and modules/KoreaSeoulCulturalEventInfo.ts) before building — it is not an environment variable.