M MCP모아
튜토리얼

국가교통정보 MCP 연동 — 실시간 버스·도로 데이터를 Claude에서 조회

국가교통정보센터 API를 MCP 서버로 연결해 Claude에서 실시간 버스·도로 교통 데이터를 바로 조회하는 방법을 단계별로 안내합니다. 교통 공공데이터 AI 활용의 첫걸음.

국가교통정보센터 API와 Claude MCP 서버가 실시간 버스·도로 데이터를 주고받는 데이터 흐름 표지 이미지

국가교통정보센터 및 공공데이터포털의 교통 API를 MCP 서버에 연결하면 Claude에서 실시간 버스 위치, 도로 소통 정보, 도착 예정 시간 같은 교통 데이터를 자연어로 바로 조회할 수 있습니다. API 키 발급 후 설정 파일에 MCP 서버를 등록하고 클라이언트를 재시작하면, “지금 올림픽대로 막히나요?” 같은 질문에 Claude가 실제 공공데이터를 근거로 답합니다. 이 가이드는 키 발급부터 설정 완료, 첫 조회까지 순서대로 안내합니다.

왜 교통 공공데이터를 MCP로 연결하나요

도로 소통 현황, 버스 실시간 위치, 대중교통 환승 정보는 모두 정부가 무료로 공개한 데이터입니다. 문제는 이 데이터가 수십 개의 API 엔드포인트에 흩어져 있고, 매번 직접 호출하거나 전용 앱을 열어야 한다는 점입니다.

MCP(Model Context Protocol)를 쓰면 이 과정이 달라집니다. MCP 서버가 교통 API와 Claude 사이의 브리지가 되어, 자연어 질문 한 번에 여러 엔드포인트를 조합해 데이터를 가져옵니다. 보고서 작성, 경로 최적화, 물류 분석 같은 업무에서 “현재 교통 상황을 스스로 파악하는 AI”를 만들 수 있습니다.

사용자 질문


Claude (LLM) ──도구 호출──▶ MCP 서버 (로컬 프로세스)


                        교통 공공데이터 API
                    (국가교통정보센터 / data.go.kr)


                            JSON 응답 반환


                        Claude가 자연어로 정리 후 답변

교통 공공데이터 API 종류

국가교통정보센터(TIMS)와 공공데이터포털은 다양한 교통 API를 제공합니다. 대표적인 것들을 정리했습니다.

API 이름제공 기관주요 데이터
실시간 도시도로 소통 정보국가교통정보센터구간별 속도·혼잡도
버스 실시간 운행 정보각 지자체버스 위치·도착 예정
고속도로 소통 정보한국도로공사구간 여행시간·사고
주차장 실시간 정보공공데이터포털잔여 주차면
열차 실시간 운행 정보한국철도공사출발·도착·지연 여부

이 중 어떤 API를 쓸지는 사용 목적에 따라 달라집니다. 이 가이드에서는 공공데이터포털(data.go.kr) 을 통해 키를 발급하고, 오픈소스 MCP 서버로 연결하는 범용적인 방법을 다룹니다.

준비물

  • 공공데이터포털 계정 및 API 키: data.go.kr 가입 후 원하는 교통 API를 신청합니다.
  • Claude Desktop 또는 Claude Code: MCP 클라이언트 역할을 합니다.
  • Node.js 18 이상 또는 Python 3.10 이상: 서버 실행 환경.
  • Git: 서버 소스 클론 시 필요.

단계별 연동 방법

1단계 — 공공데이터포털 API 키 발급

  1. data.go.kr에 접속해 회원가입 또는 로그인합니다.
  2. 상단 검색창에서 원하는 교통 API를 검색합니다. 예를 들어 “실시간 교통 정보” 또는 “버스 도착 정보”로 검색합니다.
  3. 원하는 API 상세 페이지에서 활용신청 버튼을 클릭합니다.
  4. 신청 양식을 작성하면 즉시 또는 수일 내로 인증키가 발급됩니다.
  5. 마이페이지 > 오픈 API > 인증키 발급 현황에서 발급된 키를 확인합니다.

발급된 인증키는 외부에 노출하지 않도록 주의하세요.

2단계 — MCP 서버 준비

현재 국내 개발자 커뮤니티에서 공공데이터포털 API를 MCP로 연결하는 서버로 data-go-mcp-servers 프로젝트가 활발히 개발되고 있습니다. 이 서버는 uvx로 설치할 수 있습니다.

# uvx가 없다면 먼저 설치 (pip 또는 pipx 필요)
pip install uv

# 설치 확인
uvx --version

특정 교통 데이터에 특화된 MCP 서버가 필요하다면 GitHub에서 관련 저장소를 검색하거나, 아래 3단계에서 설명하는 방식으로 직접 서버를 구성할 수도 있습니다.

3단계 — 환경 변수 설정

API 키를 안전하게 관리하기 위해 환경 변수를 사용합니다. macOS/Linux라면 셸 설정 파일에 추가하거나, 설정 파일의 env 블록에 직접 넣는 방법을 씁니다.

# .zshrc 또는 .bashrc에 추가하는 예시 (선택사항)
export DATA_GO_API_KEY="여기에_발급받은_인증키_입력"

4단계 — Claude 설정 파일에 MCP 서버 등록

Claude Desktop 또는 Claude Code의 설정 파일을 열어 MCP 서버 블록을 추가합니다.

Claude Desktop 설정 파일 경로

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Claude Code 설정 파일 경로

  • ~/.claude/settings.json

아래는 data-go-mcp-servers를 uvx로 실행하는 설정 예시입니다.

{
  "mcpServers": {
    "data-go": {
      "command": "uvx",
      "args": ["data-go-mcp.nps-business-enrollment@latest"],
      "env": {
        "DATA_GO_API_KEY": "여기에_발급받은_인증키_입력"
      }
    }
  }
}

설정 파일에서 args 배열의 값은 연결하려는 API 서버에 따라 달라질 수 있습니다. 공공데이터포털 MCP 서버 모음 GitHub 저장소의 README에서 사용하려는 엔드포인트에 맞는 정확한 명령어를 확인하세요.

5단계 — 클라이언트 재시작 및 연결 확인

설정 파일을 저장한 뒤 Claude Desktop 또는 Claude Code를 완전히 종료하고 다시 시작합니다.

  • Claude Code: 터미널에서 /mcp 명령을 입력해 서버 목록과 연결 상태를 확인합니다. connected 표시가 나타나면 성공입니다.
  • Claude Desktop: 대화창 하단 도구 아이콘에서 MCP 도구 목록이 보이면 연결된 것입니다.

연결에 실패하면 아래 흔한 오류와 해결 섹션을 참고하세요.

6단계 — 자연어로 교통 데이터 조회

연결이 완료되면 Claude에게 자연어로 교통 정보를 물어볼 수 있습니다.

활용 예시 프롬프트

  • “지금 서울 강변북로 교통 상황이 어때?”
  • “강남역 근처 실시간 버스 도착 정보 알려줘”
  • “오늘 오전 9시 기준 올림픽대로 소통 상황을 정리해줘”
  • “현재 경부고속도로 서울~수원 구간 예상 소요 시간은?”

Claude가 연결된 MCP 서버의 도구를 호출해 실제 공공데이터를 가져온 뒤 읽기 쉽게 정리해 답합니다.

흔한 오류와 해결

오류 증상원인해결 방법
MCP 서버가 disconnected 상태command 경로 오류 또는 uvx 미설치which uvx 명령으로 경로 확인, 없으면 pip install uv
API 키 인증 오류 (HTTP 401)키를 env에 잘못 입력설정 파일의 env 값과 발급된 키를 다시 대조
API 호출 한도 초과 (HTTP 429)일일 트래픽 초과data.go.kr 마이페이지에서 사용량 확인, 다음날 재시도
서버 시작 시 모듈 오류Python 버전 불일치Python 3.10 이상인지 확인 (python --version)
교통 데이터가 오래된 값일부 API는 실시간 갱신 주기가 다름해당 API의 갱신 주기를 공식 문서에서 확인

더 많은 공공데이터 MCP 서버

교통 데이터 외에도 다양한 한국 공공데이터를 MCP로 연결할 수 있습니다.

/category/public-data 카테고리에서 더 많은 한국 공공데이터 MCP 서버를 찾아보실 수 있습니다.

자주 묻는 질문

국가교통정보센터 API는 유료인가요?

공공데이터포털(data.go.kr)을 통해 신청하는 교통 관련 오픈 API는 기본적으로 무료입니다. 다만 일부 API는 일일 트래픽 한도가 있으며, 초과 시 유료 계약이 필요할 수 있습니다. 신청 전 각 API 상세 페이지에서 이용조건을 확인하세요.

MCP 서버 없이 직접 교통 API를 호출할 수는 없나요?

Claude는 외부 인터넷을 직접 호출하지 않습니다. MCP 서버가 Claude와 외부 API 사이의 브리지 역할을 합니다. MCP 서버를 로컬에서 실행하면 Claude가 도구를 호출하고, 서버가 실제 API 요청을 대신 수행합니다.

Windows에서도 교통 MCP 서버를 쓸 수 있나요?

Node.js(npx) 또는 Python(uvx) 기반 서버 모두 Windows에서 동작합니다. Claude Desktop의 설정 파일 경로가 macOS와 다르므로, %APPDATA%\Claude\claude_desktop_config.json 파일을 편집해야 합니다.

실시간 버스 위치와 도착 정보를 함께 받을 수 있나요?

국가교통정보센터 및 각 지자체 교통 API는 버스 실시간 위치, 도착 예정 시간, 도로 소통 정보 등 다양한 엔드포인트를 제공합니다. 연결된 MCP 서버가 해당 엔드포인트를 도구로 노출하면 한 번의 대화에서 복합 조회가 가능합니다.

API 키가 없어도 테스트할 수 있나요?

공공데이터포털에서 API 신청 즉시 인증키가 발급되며, 승인 대기 없이 바로 사용할 수 있는 API도 있습니다. 다만 키 없이 호출하면 인증 오류가 발생하므로 반드시 키를 먼저 발급받으세요.

교통 데이터 외에 다른 공공데이터도 같은 방식으로 연결할 수 있나요?

네, 공공데이터포털 MCP 서버 모음처럼 data.go.kr의 다양한 API를 같은 패턴으로 연결할 수 있습니다. 부동산 실거래가, 사업자등록 조회 등도 동일한 구조입니다.

다음 단계

교통 MCP 연동에 성공했다면, 같은 방식으로 더 많은 한국 공공데이터를 AI에 연결해 보세요. /guides 페이지에서 Claude Code, Cursor, 기타 MCP 클라이언트별 상세 설정 가이드를 찾아보실 수 있습니다. 또한 아직 MCP모아에 등록되지 않은 교통 특화 MCP 서버가 있다면 /submit 페이지를 통해 제보해 주세요.

이 글과 관련된 MCP 서버