M MCP모아
튜토리얼 · 2026.06.20 업데이트

Claude에서 교통 공공데이터 조회하기: data-go-mcp로 도로·버스 API 연결

공공데이터포털 교통 API를 data-go-mcp 패턴으로 Claude에 연결하는 방법. 교통 전용 MCP가 없을 때 범용 서버로 우회하는 현실적인 설정과, args 패키지 선택·인증키·오류 해결까지 정리했습니다.

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

공공데이터포털(data.go.kr)에는 도로 소통, 버스 운행, 고속도로 여행시간 같은 교통 데이터가 무료 오픈 API로 공개돼 있습니다. 이 데이터를 MCP 서버로 연결하면 Claude에게 “지금 올림픽대로 막히나요?”처럼 자연어로 물어보고, 실제 공공데이터를 근거로 답을 받을 수 있습니다.

다만 한 가지 짚고 넘어갈 점이 있습니다. 현재 국내 커뮤니티에는 교통만 전담하는 별도 MCP 서버가 따로 정리돼 있지 않습니다. 그래서 이 가이드는 data.go.kr의 여러 API를 같은 구조로 감싸는 범용 서버인 data-go-mcp-servers를 사용해, 교통 관련 엔드포인트를 연결하는 현실적인 방법을 다룹니다. 키 발급부터 설정, 첫 조회, 오류 해결까지 순서대로 안내합니다.

이 가이드가 다루는 것 / 다루지 않는 것

먼저 기대치를 맞추겠습니다.

  • 다루는 것: 공공데이터포털 교통 API 키 발급, data-go-mcp 범용 서버로 data.go.kr API를 Claude에 연결하는 설정, args에 들어갈 패키지를 직접 고르는 방법, 연결 확인과 오류 해결.
  • 다루지 않는 것: “교통 전용” 원클릭 MCP 패키지. 그런 패키지는 아직 이 디렉토리에 없으므로, 교통 데이터는 범용 data-go 서버에 맞는 엔드포인트 패키지를 골라 연결합니다.

이 점만 이해하면 나머지는 다른 공공데이터 연동과 똑같은 패턴입니다.

동작 구조 한눈에 보기

Claude는 외부 인터넷을 직접 호출하지 않습니다. 로컬에서 실행되는 MCP 서버가 Claude와 공공데이터 API 사이의 브리지 역할을 합니다.

사용자 질문


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


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


                            JSON 응답 반환


                        Claude가 자연어로 정리 후 답변

이 구조 덕분에 보고서 작성이나 경로 검토 같은 업무 중에, 화면을 따로 열지 않고도 대화 안에서 교통 상황을 확인할 수 있습니다.

어떤 교통 API를 연결할까

공공데이터포털과 국가교통정보센터(TIMS)에는 성격이 다른 교통 API가 여러 개 있습니다. 먼저 목적에 맞는 API를 정하고, 그 API의 인증키와 엔드포인트를 기준으로 서버를 설정하는 순서가 깔끔합니다.

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

API마다 제공 기관과 갱신 주기, 신청 절차가 조금씩 다릅니다. 어떤 API를 고르든 연결 방법(키 발급 → data-go 서버 등록 → 재시작)은 동일하므로, 아래 단계는 그대로 적용할 수 있습니다.

준비물

  • 공공데이터포털 계정 및 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 > 인증키 발급 현황에서 발급된 키를 확인합니다.

발급된 인증키는 코드나 채팅에 그대로 붙여넣지 말고, 환경 변수나 설정 파일의 env 블록으로만 관리하세요.

2단계 — data-go-mcp 서버 준비

data.go.kr API를 MCP로 연결하는 서버로 data-go-mcp-servers 프로젝트가 활발히 개발되고 있습니다. 이 서버는 uvx로 실행하므로 별도 클론 없이 바로 쓸 수 있습니다.

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

# 설치 확인
uvx --version

uvx는 패키지를 미리 전역 설치하지 않고 실행 시점에 가져오기 때문에, 4단계 설정 파일에 args만 정확히 적으면 됩니다.

3단계 — 인증키를 환경 변수로 관리

API 키를 안전하게 다루기 위해 환경 변수를 사용합니다. 셸 설정 파일에 넣어두거나, 4단계 설정 파일의 env 블록에 직접 넣을 수 있습니다.

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

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

Claude 설정 파일을 열어 mcpServers 블록을 추가합니다.

설정 파일 경로

  • Claude Desktop (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json
  • Claude Desktop (Windows): %APPDATA%\Claude\claude_desktop_config.json
  • Claude Code: ~/.claude/settings.json

아래는 data-go-mcp-serversuvx로 실행하는 설정의 형태입니다.

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

중요 — args 값은 반드시 교체하세요. 위 예시의 data-go-mcp.nps-business-enrollment는 패키지 작성 형식을 보여주기 위한 샘플 패키지명일 뿐 교통 API가 아닙니다. 실제로는 연결하려는 교통 엔드포인트에 해당하는 패키지명으로 바꿔야 합니다. data-go-mcp-servers가 어떤 엔드포인트를 패키지로 제공하는지, 그리고 교통 API 패키지가 포함돼 있는지는 공공데이터포털 MCP 서버 모음의 README에서 확인하세요. README에 맞는 교통 패키지가 없다면, 원하는 교통 API는 직접 서버를 구성하거나 다른 공공데이터 패키지로 우회해야 합니다.

command, args, env의 키 이름과 JSON 구조는 그대로 두고, 따옴표·쉼표가 빠지지 않았는지 저장 전에 한 번 더 확인합니다.

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

설정을 저장한 뒤 Claude를 완전히 종료하고 다시 시작합니다.

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

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

6단계 — 자연어로 조회

연결이 끝나면 Claude에게 자연어로 물어볼 수 있습니다. 단, 연결한 패키지가 실제로 노출하는 도구 범위 안에서만 답이 돌아온다는 점을 기억하세요.

활용 예시 프롬프트

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

Claude가 연결된 MCP 서버의 도구를 호출해 공공데이터를 가져온 뒤 읽기 쉽게 정리합니다. 도구가 데이터를 반환하지 못하면, 해당 패키지가 그 엔드포인트를 지원하는지 README에서 다시 확인하세요.

흔한 오류와 해결

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

연결 전 체크리스트

설정에 들어가기 전에 아래 4가지가 준비됐는지 확인하면 시행착오를 줄일 수 있습니다.

  • data.go.kr에서 목표 교통 API를 신청하고 인증키를 발급받았다.
  • uvx --version이 정상 출력된다.
  • data-go-mcp-servers README에서 연결하려는 엔드포인트의 정확한 패키지명을 확인했다.
  • 설정 파일의 args를 샘플 대신 실제 패키지명으로 교체했고, env에 키를 넣었다.

더 많은 공공데이터 MCP 서버

교통 데이터 외에도 같은 패턴으로 연결할 수 있는 한국 공공데이터가 많습니다.

/category/public-data에서 더 많은 한국 공공데이터 MCP 서버를 찾아보세요.

자주 묻는 질문

교통 전용 MCP 서버가 따로 있나요?

이 디렉토리 기준으로 교통만 전담하는 별도 패키지는 아직 정리돼 있지 않습니다. 그래서 data.go.kr API를 범용으로 감싸는 data-go-mcp-servers를 쓰되, README에서 교통 관련 엔드포인트 패키지를 골라 연결하는 방식을 권합니다. 적합한 패키지가 없다면 직접 서버를 구성해야 합니다.

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

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

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

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

Windows에서도 쓸 수 있나요?

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

args에 무엇을 넣어야 할지 모르겠어요.

args는 연결할 엔드포인트에 해당하는 data-go-mcp.* 형식의 패키지명입니다. 본문 예시의 nps-business-enrollment는 교통이 아닌 샘플이므로 그대로 두면 교통 데이터가 나오지 않습니다. 공공데이터포털 MCP 서버 모음 README에서 사용하려는 API에 맞는 패키지명을 찾아 교체하세요.

교통 외 다른 공공데이터도 같은 방식으로 되나요?

네. args만 해당 API 패키지명으로 바꾸면 부동산 실거래가, 사업자등록 조회 등도 동일한 구조로 연결됩니다.

다음 단계

연결에 성공했다면 같은 패턴으로 다른 공공데이터도 AI에 붙여 보세요. /guides에서 Claude Code·Cursor 등 클라이언트별 설정 가이드를 확인할 수 있습니다. 아직 MCP모아에 없는 교통 특화 MCP 서버를 알고 있다면 /submit으로 제보해 주시면 디렉토리에 반영합니다.

이 글과 관련된 MCP 서버