Skip to main content
Glama

πŸ‡°πŸ‡· K-Targo Subway MCP Server

ν•œκ΅­ μ§€ν•˜μ²  정보λ₯Ό μ œκ³΅ν•˜λŠ” MCP (Model Context Protocol) μ„œλ²„μž…λ‹ˆλ‹€.

πŸš‡ μ£Όμš” κΈ°λŠ₯

  • μ§€ν•˜μ² μ—­ 검색: μ—­λͺ…μœΌλ‘œ μ§€ν•˜μ² μ—­ 정보 검색

  • μ—΄μ°¨ μ‹œκ°„ν‘œ 쑰회: νŠΉμ • μ—­μ˜ μ—΄μ°¨ μ‹œκ°„ν‘œ 쑰회

  • μ‹€μ‹œκ°„ μ§€ν•˜μ²  정보: Tago APIλ₯Ό ν†΅ν•œ μ‹€μ‹œκ°„ 데이터 제곡

  • MCP ν‘œμ€€ μ€€μˆ˜: Model Context Protocol ν‘œμ€€μ„ λ”°λ₯΄λŠ” 도ꡬ 제곡

πŸ› οΈ μ„€μΉ˜ 및 μ‚¬μš©

Installing via Smithery

To install k-targo-subway-mcp-server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @slicequeue/k-targo-subway-mcp-server --client claude

1. 곡곡데이터 API ν‚€ μ„€μ •

이 μ„œλ²„λŠ” ꡭ토ꡐ톡뢀_(TAGO)_μ§€ν•˜μ² μ •λ³΄ APIλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. μ‚¬μš©ν•˜κΈ° 전에 API ν‚€λ₯Ό μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

API 정보

  • API λͺ…: ꡭ토ꡐ톡뢀_(TAGO)_μ§€ν•˜μ² μ •λ³΄

  • API URL: https://www.data.go.kr/data/15098554/openapi.do

  • μ œκ³΅κΈ°κ΄€: ꡭ토ꡐ톡뢀

  • 데이터 ν˜•μ‹: JSON

API ν‚€ λ°œκΈ‰

  1. 곡곡데이터포털에 κ°€μž…

  2. "ꡭ토ꡐ톡뢀_(TAGO)_μ§€ν•˜μ² μ •λ³΄" API μ‹ μ²­

  3. 승인 ν›„ λ°œκΈ‰λ°›μ€ API ν‚€λ₯Ό ν™˜κ²½λ³€μˆ˜λ‘œ μ„€μ •

ν™˜κ²½λ³€μˆ˜ μ„€μ •

# Windows
set GOV_API_KEY=your_api_key_here

# macOS/Linux
export GOV_API_KEY=your_api_key_here

# .env 파일 μ‚¬μš© (ꢌμž₯)
echo "GOV_API_KEY=your_api_key_here" > .env

2. npx둜 μ¦‰μ‹œ μ‹€ν–‰ (ꢌμž₯)

npx k-targo-subway-mcp-server

3. npm으둜 μ„€μΉ˜

npm install k-targo-subway-mcp-server

4. κΈ€λ‘œλ²Œ μ„€μΉ˜

npm install -g k-targo-subway-mcp-server

πŸ“¦ MCP 도ꡬ

1. μ§€ν•˜μ² μ—­ 검색 (search_subway_station)

μ§€ν•˜μ² μ—­λͺ…μœΌλ‘œ μ—­ 정보λ₯Ό κ²€μƒ‰ν•©λ‹ˆλ‹€.

μž…λ ₯ νŒŒλΌλ―Έν„°:

  • stationName (string): 검색할 μ—­λͺ…

μ‚¬μš© μ˜ˆμ‹œ:

// "강남" μ—­ 검색
const result = await searchSubwayStationTool.handler({
  stationName: "강남"
}, {});

2. μ—΄μ°¨ μ‹œκ°„ν‘œ 쑰회 (get_station_timetable)

νŠΉμ • μ—­μ˜ μ—΄μ°¨ μ‹œκ°„ν‘œλ₯Ό μ‘°νšŒν•©λ‹ˆλ‹€.

μž…λ ₯ νŒŒλΌλ―Έν„°:

  • stationCode (string): μ—­ μ½”λ“œ

  • direction (string): λ°©ν–₯ (상행/ν•˜ν–‰)

μ‚¬μš© μ˜ˆμ‹œ:

// 강남역 상행 μ‹œκ°„ν‘œ 쑰회
const result = await getStationTimetableTool.handler({
  stationCode: "0222",
  direction: "상행"
}, {});

πŸ—οΈ ν”„λ‘œμ νŠΈ ꡬ쑰

src/
β”œβ”€β”€ config/           # μ„€μ • 파일
β”‚   └── index.ts
β”œβ”€β”€ external/         # μ™ΈλΆ€ API 연동
β”‚   β”œβ”€β”€ common/       # 곡톡 μœ ν‹Έλ¦¬ν‹°
β”‚   └── tago-subway/  # Tago μ§€ν•˜μ²  API
β”‚       β”œβ”€β”€ api.ts    # API ν΄λΌμ΄μ–ΈνŠΈ
β”‚       β”œβ”€β”€ service.ts # λΉ„μ¦ˆλ‹ˆμŠ€ 둜직
β”‚       β”œβ”€β”€ dtos/     # 데이터 전솑 객체
β”‚       └── types/    # νƒ€μž… μ •μ˜
β”œβ”€β”€ tools/           # MCP 도ꡬ듀
β”‚   β”œβ”€β”€ subway.ts    # μ§€ν•˜μ²  κ΄€λ ¨ 도ꡬ
β”‚   β”œβ”€β”€ index.ts     # 도ꡬ듀 톡합
β”‚   └── types.ts     # 도ꡬ νƒ€μž… μ •μ˜
β”œβ”€β”€ utils/           # μœ ν‹Έλ¦¬ν‹°
β”‚   β”œβ”€β”€ PackageJsonUtil.ts
β”‚   └── ResponseUtil.ts
└── index.ts         # 메인 μ§„μž…μ 

πŸ”§ 개발 ν™˜κ²½ μ„€μ •

1. μ˜μ‘΄μ„± μ„€μΉ˜

npm install

2. API ν‚€ μ„€μ •

# .env 파일 생성
echo "GOV_API_KEY=your_api_key_here" > .env

# λ˜λŠ” ν™˜κ²½λ³€μˆ˜λ‘œ μ„€μ •
export GOV_API_KEY=your_api_key_here  # macOS/Linux
set GOV_API_KEY=your_api_key_here     # Windows

.env 파일 μ˜ˆμ‹œ

# ꡭ토ꡐ톡뢀_(TAGO)_μ§€ν•˜μ² μ •λ³΄ API ν‚€
# 곡곡데이터포털(https://www.data.go.kr/)μ—μ„œ λ°œκΈ‰λ°›μ€ API ν‚€λ₯Ό μ„€μ •ν•˜μ„Έμš”
# API URL: https://www.data.go.kr/data/15098554/openapi.do
GOV_API_KEY=your_public_data_api_key_here

# μ˜ˆμ‹œ:
# GOV_API_KEY=abc123def456ghi789jkl012mno345pqr678stu901vwx234yz567

3. 개발 μ„œλ²„ μ‹€ν–‰

npm run dev

4. λΉŒλ“œ

npm run build

5. ν…ŒμŠ€νŠΈ

# 전체 ν…ŒμŠ€νŠΈ
npm test

# API ν…ŒμŠ€νŠΈ
npm run test:api

# νŠΉμ • μ—­ ν…ŒμŠ€νŠΈ
npm run test:api:station

πŸ“‘ API 연동

ꡭ토ꡐ톡뢀_(TAGO)_μ§€ν•˜μ² μ •λ³΄ API

  • API λͺ…: ꡭ토ꡐ톡뢀_(TAGO)_μ§€ν•˜μ² μ •λ³΄

  • API URL: https://www.data.go.kr/data/15098554/openapi.do

  • μ œκ³΅κΈ°κ΄€: ꡭ토ꡐ톡뢀

  • κΈ°λ³Έ URL: https://api.tago.go.kr

  • 인증: 곡곡데이터 API ν‚€ 기반 인증 (GOV_API_KEY ν™˜κ²½λ³€μˆ˜)

  • 데이터 ν˜•μ‹: JSON

  • API ν‚€ λ°œκΈ‰: κ³΅κ³΅λ°μ΄ν„°ν¬ν„Έμ—μ„œ "ꡭ토ꡐ톡뢀_(TAGO)_μ§€ν•˜μ² μ •λ³΄" μ‹ μ²­

ν™˜κ²½λ³€μˆ˜ μ„€μ •

# ν•„μˆ˜ ν™˜κ²½λ³€μˆ˜
GOV_API_KEY=your_public_data_api_key_here

μ£Όμš” μ—”λ“œν¬μΈνŠΈ

  • GET /subway-station/search: μ§€ν•˜μ² μ—­ 검색

  • GET /subway-station/{stationCode}/timetable: μ—΄μ°¨ μ‹œκ°„ν‘œ 쑰회

🎯 μ‚¬μš© 예제

MCP ν΄λΌμ΄μ–ΈνŠΈ μ„€μ •

MCP ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ 이 μ„œλ²„λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ λ‹€μŒκ³Ό 같이 μ„€μ •ν•˜μ„Έμš”:

{
  "mcpServers": {
    "k-targo-subway": {
      "command": "npx",
      "args": ["k-targo-subway-mcp-server"],
      "env": {
        "GOV_API_KEY": "your_targo_api_key_here"
      }
    }
  }
}

MCP ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μ‚¬μš©

// μ§€ν•˜μ² μ—­ 검색
const searchResult = await mcpClient.callTool('search_subway_station', {
  stationName: '강남'
});

// μ‹œκ°„ν‘œ 쑰회
const timetableResult = await mcpClient.callTool('get_station_timetable', {
  stationCode: '0222',
  direction: '상행'
});

CLIμ—μ„œ 직접 μ‹€ν–‰

# npx둜 μ‹€ν–‰ (ꢌμž₯)
npx k-targo-subway-mcp-server

# κΈ€λ‘œλ²Œ μ„€μΉ˜ ν›„ μ‹€ν–‰
k-targo-subway-mcp-server

# λ˜λŠ” npm 슀크립트둜 μ‹€ν–‰
npm start

πŸ”„ 개발 μ›Œν¬ν”Œλ‘œμš°

  1. μƒˆ κΈ°λŠ₯ μΆ”κ°€: src/tools/에 μƒˆ 도ꡬ 파일 생성

  2. API 연동: src/external/에 μ™ΈλΆ€ API ν΄λΌμ΄μ–ΈνŠΈ μΆ”κ°€

  3. νƒ€μž… μ •μ˜: ν•„μš”ν•œ νƒ€μž…λ“€μ„ μ •μ˜

  4. ν…ŒμŠ€νŠΈ: test/ 디렉토리에 ν…ŒμŠ€νŠΈ μ½”λ“œ μž‘μ„±

  5. λΉŒλ“œ 및 배포: npm run build ν›„ 배포

πŸ“š μ£Όμš” κ°œλ…

MCP Tool

μ‚¬μš©μžκ°€ ν˜ΈμΆœν•  수 μžˆλŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€. μž…λ ₯ μŠ€ν‚€λ§ˆμ™€ ν•Έλ“€λŸ¬ ν•¨μˆ˜λ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€.

TAGO API

κ΅­ν† κ΅ν†΅λΆ€μ—μ„œ μ œκ³΅ν•˜λŠ” μ§€ν•˜μ²  정보 APIμž…λ‹ˆλ‹€. 곡곡데이터포털을 톡해 μ œκ³΅λ©λ‹ˆλ‹€.

μ§€ν•˜μ² μ—­ μ½”λ“œ

각 μ§€ν•˜μ² μ—­μ€ κ³ μœ ν•œ μ½”λ“œλ₯Ό κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€ (예: 강남역 = "0222").

πŸš€ 배포

# λΉŒλ“œ
npm run build

# npm 배포
npm publish

# μ‹€ν–‰
node dist/index.js

πŸ“„ λΌμ΄μ„ μŠ€

MIT License

🀝 κΈ°μ—¬ν•˜κΈ°

  1. Fork the Project

  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)

  3. Commit your Changes (git commit -m 'Add some AmazingFeature')

  4. Push to the Branch (git push origin feature/AmazingFeature)

  5. Open a Pull Request

πŸ“ž 문의

πŸ™ κ°μ‚¬μ˜ 말

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/slicequeue/k-targo-subway-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server