Skip to main content

korea-transit-mcp-server

License: MIT Python 3.11+

한국어 문서 (Korean)

MCP server for Korean public transit — route search, real-time bus/subway arrival, congestion data, and more for the Seoul metropolitan area.

Combines ODsay LAB (nationwide route search) with Seoul Open Data (real-time arrivals & congestion) so AI assistants can answer questions like "How do I get from Gangnam to Pangyo right now?"

Tools

Tool Description
transit_route Search transit routes between two locations
station_search Search for bus stops and subway stations by name
line_info Get route/line details (stops, schedule)
nearby_stations Find nearby stations by coordinates
bus_arrival Real-time bus arrival times at a stop
bus_location Real-time GPS tracking of buses on a route
subway_arrival Real-time subway arrival times at a station
subway_congestion Subway congestion statistics by time slot
first_last_train First/last train schedule for a station

Prerequisites

You need API keys from three providers (all free tier):

Provider Sign Up Purpose
ODsay LAB lab.odsay.com Route search, station/stop lookup
Seoul Bus API data.go.kr Real-time bus arrival & position
Seoul Subway API data.seoul.go.kr Real-time subway arrival & congestion

Installation

Claude Code / Claude Desktop

Option 1: Published Package

Add to your MCP configuration:

{
  "mcpServers": {
    "korea-transit": {
      "command": "uvx",
      "args": ["korea-transit-mcp-server"],
      "env": {
        "ODSAY_API_KEY": "your_odsay_key",
        "SEOUL_BUS_API_KEY": "your_data_go_kr_key",
        "SEOUL_SUBWAY_API_KEY": "your_data_seoul_key"
      }
    }
  }
}

Option 2: Local Repository (Development)

Clone the repository and run locally:

1. Clone and Install

git clone https://github.com/SimDaSong/korea-transit-mcp-server.git
cd korea-transit-mcp-server
uv pip install -e .

2. Configure MCP

Copy .mcp.json.example to .mcp.json and add your API keys:

{
  "mcpServers": {
    "korea-transit": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "korea-transit-mcp-server"],
      "env": {
        "ODSAY_API_KEY": "your_odsay_key",
        "SEOUL_BUS_API_KEY": "your_data_go_kr_key",
        "SEOUL_SUBWAY_API_KEY": "your_data_seoul_key"
      }
    }
  }
}

Local Development

# Install with dev dependencies
uv sync --group dev

# Run tests
uv run pytest -v

# Run the server manually
ODSAY_API_KEY="your_key" \
SEOUL_BUS_API_KEY="your_key" \
SEOUL_SUBWAY_API_KEY="your_key" \
uv run korea-transit-mcp-server

Usage Examples

"How do I get from Gangnam Station to Pangyo Station?"

Calls transit_route(start="강남역", end="판교역")

Real-time Bus Arrival

"When is the next bus at stop 22009?"

Calls bus_arrival(ars_id="22009")

Subway Arrival

"When is the next train at Gangnam Station?"

Calls subway_arrival(station_name="강남")

Congestion

"How crowded is Gangnam Station on Line 2?"

Calls subway_congestion(line_num="2", station_name="강남")

API Rate Limits

  • ODsay: 1,000 calls/day on free tier (auto-tracked with warnings)
  • Seoul Bus/Subway: Public data, generally generous limits

Tech Stack

  • Python 3.11+ / FastMCP (official MCP SDK)
  • httpx (async HTTP client)
  • uv (package management)

License

MIT

Metadata

Release files for korea-transit-mcp-server 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for korea-transit-mcp-server 0.1.0
File Size Uploaded Provenance
korea_transit_mcp_server-0.1.0.tar.gz 20.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for korea-transit-mcp-server 0.1.0
File Interpreter ABI Platform
korea_transit_mcp_server-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 40.0 kB

Release files / korea_transit_mcp_server-0.1.0.tar.gz

Download URL korea_transit_mcp_server-0.1.0.tar.gz
Size 20.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c506b4fcc2bccd88da757d1f8b328035659096b4f624c88b4ec401b8de6c914e
BLAKE2b-256 checksum
How to use checksums
c17d840146ea455ddf6dd9579e91168182a5c0d9c49e6e0d093123574853a9fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / korea_transit_mcp_server-0.1.0-py3-none-any.whl

Download URL korea_transit_mcp_server-0.1.0-py3-none-any.whl
Size 19.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8ef50f1c21180e7af5a65b4cfb6fcadcee71f39133b4b96daef65e27e179fad0
BLAKE2b-256 checksum
How to use checksums
d552d81b6cf900fd7ebfa8a9cf1bdd5487002d459b4a794137d7ab8f611a8bb1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for korea-transit-mcp-server 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page