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

공공데이터포털(data.go.kr) MCP 서버를 Claude에 연결하기 — 인증키 발급부터 다중 API 연결까지

data.go.kr 인증키 발급부터 uvx 실행, Claude Desktop 등록, 여러 공공 API 동시 연결, Encoding/Decoding 키 함정과 실제 오류 해결까지 검증된 절차를 한 편에 정리했습니다.

공공데이터포털 MCP 서버를 Claude에 연결하는 설치 흐름을 보여주는 표지 이미지

공공데이터포털 MCP 서버를 설치하면 Claude가 data.go.kr의 공공 API를 직접 호출해 부동산 실거래가 조회, 사업자 정보 확인, 나라장터 입찰 현황 파악 등을 대화 흐름 안에서 처리할 수 있습니다. API 키 발급부터 Claude Desktop 설정까지 10~15분이면 충분하며, 설치 후에는 “최근 강남구 아파트 실거래가 알려줘”처럼 자연어로 공공데이터를 활용할 수 있습니다. 이 가이드는 단일 서버 연결에서 그치지 않고, 실무에서 자주 필요한 여러 공공 API 동시 연결인증키 관련 함정까지 순서대로 다룹니다. 대표적인 두 서버인 한국 부동산 MCP공공데이터포털 MCP 서버 모음을 중심으로 설명합니다.


왜 공공데이터포털을 MCP로 연결해야 하나요?

한국 공공데이터포털(data.go.kr)은 행정안전부가 운영하는 국가 공식 오픈데이터 허브로, 6만 건이 넘는 공공데이터셋과 API가 공개되어 있습니다. 문제는 각 API마다 문서를 찾고, 인증키를 발급받고, REST 호출 코드를 직접 작성하고, JSON 응답을 파싱해야 한다는 점입니다. MCP(Model Context Protocol)를 사용하면 이 과정을 Claude가 대신 처리합니다.

아래 흐름을 보면 구조가 명확합니다.

사용자(대화) → Claude Desktop → MCP 서버 → data.go.kr API → 결과 반환

Claude가 MCP 서버를 통해 API 요청을 구성하고, 응답을 파싱해 자연어로 요약해 줍니다. 별도의 파이썬 스크립트를 작성하거나 Jupyter 노트북을 열 필요가 없습니다. 사업자 검증, 입찰 모니터링, 반복적인 데이터 조회처럼 같은 요청을 형식만 바꿔 반복하는 작업에서 특히 효율이 큽니다.

현재 한국에서 활용 가능한 공공데이터 MCP 서버

공공데이터 카테고리에는 현재 아래 서버들이 등록되어 있습니다.

서버 이름연결 API설치 방식API 키 필요
한국 부동산 MCP국토교통부 실거래가, 청약홈, 온비드stdio (Git 클론)필요
공공데이터포털 MCP 서버 모음국민연금, 국세청, 나라장터, 금감원 등uvx필요
표준국어대사전 MCP국립국어원 표준국어대사전stdio (로컬 SQLite)불필요

data-go-mcp-servers로 연결할 수 있는 API

공공데이터포털 MCP 서버 모음은 data.go.kr의 여러 API를 MCP 서버 형태로 묶어 제공하는 오픈소스 프로젝트입니다. 현재 지원하는 주요 API는 다음과 같습니다.

제공 기관API 이름주요 활용 사례
국민연금공단사업장 가입 정보 조회거래처 국민연금 납부 여부 확인
국세청사업자등록 진위 확인세금계산서 발행 전 사업자 검증
조달청나라장터 입찰공고·낙찰 정보공공 입찰 모니터링
금융감독원기업 재무정보거래처 재무 건전성 분석
대통령기록원역대 연설문 아카이브정책 키워드 분석
화학물질안전원MSDS(물질안전보건자료)화학물질 안전 정보 조회

각 서버는 uvx로 배포되어 별도 설치 없이 바로 실행됩니다. 모든 서버가 같은 DATA_GO_KR_API_KEY 환경변수를 공유하므로, 인증키 하나로 여러 서버를 동시에 등록할 수 있다는 점이 핵심입니다(아래 3단계 참고). 단, 서버가 호출하는 각 API는 data.go.kr에서 개별적으로 활용신청해 두어야 합니다.


준비물

설치를 시작하기 전에 아래 항목을 확인하세요.

항목최소 요구 사항확인 명령어
Claude Desktop최신 버전 (또는 MCP 지원 클라이언트)앱 메뉴 > About Claude
Python3.10 이상python3 --version
uv0.4 이상uv --version
data.go.kr 계정활용 신청 완료data.go.kr 마이페이지

운영체제는 macOS, Windows, Linux 모두 가능하며, Claude Desktop 외에 MCP 표준을 지원하는 Cursor, Windsurf, Cline 등에서도 같은 방식으로 설정할 수 있습니다(설정 파일 위치만 다름).

uv가 설치되어 있지 않다면 아래 명령으로 설치합니다.

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

설치 후에는 터미널을 새로 열거나 source ~/.bashrc(또는 ~/.zshrc)를 실행해 PATH를 갱신하세요. uvx는 uv에 포함된 실행 도구이므로 uv가 설치되면 함께 제공됩니다.


단계별 설치 방법

1단계: data.go.kr API 키 발급

  1. data.go.kr에 접속해 회원가입 또는 로그인합니다. 가입은 무료이며 이메일 인증만으로 완료됩니다.
  2. 상단 검색창에서 연결할 API를 검색합니다. 예: “국민연금 사업장 가입”, “기상청 단기예보”.
    • 오픈API 탭을 선택해야 API 엔드포인트가 있는 항목만 필터링됩니다. 파일 데이터(CSV, XML)와 오픈API는 발급 방식이 다르며, MCP 서버 연동에는 오픈API 키가 필요합니다.
    • 부동산 실거래가 API: 국토교통부 실거래가 API
  3. 해당 OpenAPI 서비스 상세 페이지에서 활용 신청 버튼을 클릭합니다.
  4. 활용 목적을 간단히 기재하면 자동 승인 또는 2~3 영업일 내 승인됩니다.
  5. 승인 후 마이페이지 → 오픈API → 개발계정에서 서비스 키를 복사합니다.

인증키 함정 — 가장 흔한 실패 원인: 서비스 키는 같은 키의 Encoding(URL-encoded) 버전Decoding 버전 두 가지로 표시됩니다. MCP 서버 환경변수에는 일반적으로 Decoding 키를 넣습니다. 이 둘을 혼동하면 호출 단계에서 SERVICE_KEY_IS_NOT_REGISTERED_ERROR가 발생하는 경우가 많으므로, 인증 오류가 나면 이 부분을 가장 먼저 확인하세요.

발급된 인증키의 주요 속성은 다음과 같습니다.

항목설명
일반 인증키(Encoding)URL 파라미터에 직접 사용하는 키
일반 인증키(Decoding)일부 SDK·MCP 설정에서 사용하는 디코딩된 키
트래픽 한도기본 1,000회/일 (신청 시 증량 가능)
유효 기간기본 24개월 (만료 전 갱신 필요)

주의: API마다 별도 활용 신청이 필요합니다. 국민연금 API와 국세청 API를 모두 쓰려면 각각 신청해야 합니다.


2단계: 등록 전에 서버 단독 실행으로 인증키 검증 (권장)

Claude Desktop에 넣기 전에 터미널에서 서버를 직접 실행해 인증키가 유효한지 먼저 확인하면, 나중에 “서버는 떴는데 호출만 실패”하는 상황을 미리 걸러낼 수 있습니다. YOUR_API_KEY를 발급받은 인증키로 교체합니다.

DATA_GO_KR_API_KEY=YOUR_API_KEY uvx data-go-mcp.nps-business-enrollment@latest

오류 없이 서버가 기동되면 패키지 실행과 환경변수 전달이 정상입니다. Ctrl+C로 종료하고 다음 단계로 넘어갑니다.

부동산 실거래가에 집중하려면 한국 부동산 MCP를 사용합니다. 이 서버는 uvx 배포가 아니라 GitHub에서 클론 후 로컬에서 실행합니다.

git clone https://github.com/tae0y/real-estate-mcp.git
cd real-estate-mcp
uv sync

3단계: Claude Desktop 설정 파일 수정

설정 파일 위치는 운영체제마다 다릅니다.

운영체제설정 파일 경로
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json

파일이 없으면 새로 만듭니다. 먼저 서버 한 개를 등록하는 기본 형태입니다.

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

여러 공공 API를 함께 쓰기

mcpServers 객체 안에 서버 항목을 나란히 추가하면 됩니다. 각 서버는 패키지 이름만 다를 뿐 구조가 같고, 동일한 인증키를 각자의 env에 넣습니다. 각 항목에는 고유한 키 이름(예: data-go-nps, data-go-nts)을 사용하세요. 단, 각 서버에 해당하는 API를 1단계에서 각각 활용신청해 두어야 동작합니다.

{
  "mcpServers": {
    "data-go-nps": {
      "command": "uvx",
      "args": ["data-go-mcp.nps-business-enrollment@latest"],
      "env": { "DATA_GO_KR_API_KEY": "발급받은_인증키" }
    },
    "another-data-go-server": {
      "command": "uvx",
      "args": ["data-go-mcp.패키지명@latest"],
      "env": { "DATA_GO_KR_API_KEY": "발급받은_인증키" }
    }
  }
}

정확한 패키지 이름은 data-go-mcp-servers GitHub 저장소의 서버 목록에서 확인하세요. 위 data-go-mcp.패키지명 부분은 저장소에 명시된 실제 패키지 이름으로 바꿔 넣어야 합니다.

한국 부동산 MCP(Git 클론) 설정

클론한 경로를 실제 절대 경로로 바꿔 입력하세요.

{
  "mcpServers": {
    "real-estate-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/사용자이름/real-estate-mcp",
        "run",
        "real-estate-mcp"
      ],
      "env": {
        "DATA_GO_KR_API_KEY": "여기에_발급받은_인증키_입력"
      }
    }
  }
}

기존에 다른 MCP 서버가 설정되어 있다면 mcpServers 객체 안에 항목을 추가하면 됩니다. 파일 전체를 덮어쓰지 않도록 주의하세요.

보안 메모: Claude Desktop 설정 파일은 로컬에 저장되므로 개인 용도에서는 대체로 문제없지만, 이 파일을 Git 등 버전 관리 시스템에 올리지 않도록 주의하세요. 팀 환경에서는 OS 레벨 환경변수를 쓰는 편이 더 안전합니다.


4단계: Claude Desktop 재시작 및 연결 확인

  1. Claude Desktop을 완전히 종료합니다(macOS는 메뉴바/트레이 아이콘까지 종료해야 설정이 적용됩니다).
  2. 다시 실행합니다.
  3. 입력창 옆 도구 아이콘에 등록한 MCP 서버가 보이면 연동 성공입니다. 새 대화를 열고 아래처럼 입력해 확인합니다.
사업자번호 123-45-67890이 국민연금에 가입된 사업장인지 확인해줘.

Claude가 등록된 MCP 도구를 사용하겠다는 메시지와 함께 API를 호출하면 설치 성공입니다. 한국 부동산 MCP가 연결됐다면 “강남구 아파트 최근 3개월 실거래가를 표로 보여줘”처럼 바로 활용할 수 있습니다.


연동 점검 체크리스트

문제가 생기면 아래 순서로 확인하면 원인을 빠르게 좁힐 수 있습니다.

  • 해당 API를 data.go.kr에서 활용신청했고 승인 상태인가
  • 환경변수에 Decoding 키를 넣었는가 (Encoding 키 아님)
  • uv --version이 정상 출력되는가
  • 2단계 단독 실행에서 서버가 오류 없이 떴는가
  • claude_desktop_config.json이 유효한 JSON인가 (쉼표·중괄호)
  • 설정 저장 후 Claude Desktop을 완전히 종료 후 재시작했는가

흔한 오류와 해결 방법

오류 메시지 / 증상원인해결 방법
spawn uvx ENOENT / uvx: command not founduv 미설치 또는 PATH 미등록uv 재설치 후 터미널·Claude Desktop 재시작
SERVICE_KEY_IS_NOT_REGISTERED_ERROR / “인증키가 유효하지 않습니다”Encoding/Decoding 키 혼동, 인증키 오타·앞뒤 공백, 미승인 상태Decoding 키 사용 확인, 공백 제거, 마이페이지에서 승인 상태 확인
LIMITED_NUMBER_OF_SERVICE_REQUESTS_EXCEEDS_ERROR일 트래픽 한도 초과마이페이지에서 트래픽 증량 신청 또는 다음 날까지 대기. MCP 서버 캐싱으로 중복 호출 줄이기
403 ForbiddenAPI 키 미승인 또는 만료data.go.kr 마이페이지에서 승인 상태 확인
API 응답이 빈 배열해당 사업장 정보 없음 (정상 동작)다른 사업자번호로 테스트
API 응답이 XML로 와서 처리가 안 됨data.go.kr은 기본적으로 XML을 반환하는 경우가 많음호출 시 dataType=JSON 파라미터 추가. 잘 만들어진 MCP 서버는 이 변환을 내부 처리
Connection timeout공공데이터 서버 응답 지연잠시 후 재시도. data.go.kr 공지사항 확인
MCP 도구가 목록에 미노출설정 파일 JSON 문법 오류JSON 유효성 검사 후 재시작

JSON 문법 오류가 가장 흔한 원인입니다. 쉼표 위치, 따옴표 누락, 괄호 불일치를 꼭 확인하세요. macOS에서는 아래 명령으로 파일을 검증할 수 있습니다.

python3 -m json.tool ~/Library/Application\ Support/Claude/claude_desktop_config.json

오류가 없으면 포맷된 JSON이 출력됩니다. 오류가 있으면 문제가 있는 줄 번호가 표시됩니다.

호출 한도 증량: 일일 한도를 늘리려면 해당 API 상세 페이지의 ‘활용 신청 수정’ 으로 요청 횟수를 상향 조정하면 됩니다.


데이터 흐름 한눈에 보기

[사용자 입력]
    "강남구 최근 아파트 실거래가 조회해줘"
          |
          v
[Claude Desktop]
    의도 분석 → MCP 도구 선택
          |
          v
[MCP 서버 (로컬 실행)]
    API 파라미터 구성 → HTTP 요청 + 인증키
          |
          v
[data.go.kr REST API]
    공공데이터 반환 (JSON)
          |
          v
[Claude Desktop]
    JSON 파싱 → 자연어 요약 → 사용자에게 출력

이 구조에서 MCP 서버는 Claude와 공공 API 사이의 번역기 역할을 합니다. Claude는 자연어 의도를 MCP 프로토콜 호출로 변환하고, MCP 서버는 이를 실제 API 요청으로 바꿉니다. 사용자 입장에서는 API 문서를 볼 필요 없이 대화만으로 공공데이터를 활용할 수 있습니다.


API별 키 발급 요약

자주 활용되는 API와 발급 경로를 표로 정리했습니다.

API 이름제공 기관data.go.kr 검색어즉시 승인 여부
단기예보 조회서비스기상청기상청 단기예보O
사업장가입내역조회국민연금공단국민연금 사업장 가입O
사업자등록 진위 확인국세청국세청 사업자등록O
나라장터 입찰공고조달청나라장터 입찰공고O
기업재무정보금융감독원금감원 기업재무일부 심사
MSDS 화학물질화학물질안전원MSDSO

함께 쓰면 좋은 MCP 서버

공공 데이터 분석을 확장하고 싶다면 아래 서버도 살펴보세요.

  • 한국 금융 MCP: 한국은행 ECOS, DART OpenDART, KRX, 국토부 실거래가, 한국부동산원 R-ONE, data.go.kr을 통합해 제공합니다. HTTP-SSE 방식으로 동작하며, 기업 분석이나 부동산 조사에 유용합니다. 자세한 설치 방법은 GitHub 저장소를 참고하세요.

  • 한국 기상청 날씨 MCP: 기상청 단기예보 API로 지역별 날씨를 실시간 조회합니다. data.go.kr에서 ‘기상청 단기예보 조회서비스’ 인증키를 별도로 발급받아야 하며, Smithery CLI로 Claude에 바로 추가할 수 있습니다.

    npx -y @smithery/cli mcp add ohhan777/korea_weather --client claude
  • 표준국어대사전 MCP: API 키 없이 바로 사용할 수 있는 한국어 사전 MCP로, 공문서 작성 시 정확한 용어 확인에 유용합니다.

공공데이터 카테고리에서 더 많은 한국 공공 API MCP 서버를 찾아볼 수 있습니다.


자주 묻는 질문

data.go.kr API 키는 어디서 발급받나요? 유료인가요?

data.go.kr에 회원가입한 뒤, 활용하려는 데이터 API 상세 페이지에서 ‘활용 신청’ 버튼을 클릭하면 됩니다. 대부분의 오픈 API는 무료이며, 자동 승인 API는 즉시 키가 발급되고 심사 필요 API는 1~3 영업일이 소요됩니다. 발급된 키는 마이페이지 → 오픈API → 개발계정에서 확인할 수 있습니다.

Encoding 키와 Decoding 키 중 무엇을 넣어야 하나요?

환경변수에는 일반적으로 Decoding 키를 사용합니다. Encoding 키를 넣으면 호출 단계에서 SERVICE_KEY_IS_NOT_REGISTERED_ERROR가 발생하는 경우가 많으므로, 인증 오류가 나면 이 부분을 가장 먼저 확인하세요.

인증키 하나로 여러 공공 API 서버를 등록해도 되나요?

네. data-go-mcp-servers의 서버들은 모두 동일한 DATA_GO_KR_API_KEY 환경변수를 사용하므로, 인증키 하나를 각 서버의 env에 넣어 여러 서버를 동시에 등록할 수 있습니다. 단, 서버가 호출하는 각 API를 data.go.kr에서 개별적으로 활용신청해 둬야 정상 동작합니다.

API 키를 코드나 설정 파일에 직접 넣어도 되나요?

Claude Desktop 설정 파일은 로컬에 저장되므로 개인 용도에서는 대체로 문제없습니다. 다만 이 파일을 Git 등 버전 관리 시스템에 올리지 않도록 주의하고, 팀 환경에서는 OS 레벨 환경변수를 쓰는 편이 더 안전합니다.

공공데이터포털 MCP 서버를 Claude Code(CLI)나 다른 클라이언트에서도 쓸 수 있나요?

네, 가능합니다. Claude Code는 프로젝트 루트의 .claude/settings.json 또는 사용자 홈의 ~/.claude/settings.jsonmcpServers 설정을 추가하면 됩니다. Cursor, Windsurf, Cline 등 MCP 표준을 지원하는 클라이언트에서도 동일한 command, args, env 형식으로 설정할 수 있으며, 차이는 설정 파일 위치뿐입니다.

API 호출 횟수 제한이 있나요?

data.go.kr의 대부분 API는 일 1,000~10,000건의 기본 호출 한도를 제공합니다. 한도를 초과하면 LIMITED_NUMBER_OF_SERVICE_REQUESTS_EXCEEDS_ERROR가 발생하며, 다음 날까지 기다리거나 한도를 늘려야 합니다. 한도를 늘리려면 해당 API 상세 페이지의 ‘활용 신청 수정’으로 요청 횟수를 상향 조정하세요. 구체적인 한도는 각 API 상세 페이지의 ‘상세 정보’ 탭에서 확인할 수 있습니다.

data.go.kr API는 상업적으로 이용해도 되나요?

대부분의 공공데이터는 공공누리 라이선스 하에 상업적 이용이 허용됩니다. 단, 일부 API는 비상업적 용도로만 제공되므로 해당 API의 활용 조건을 반드시 확인하세요.

uvx로 설치할 때 오류가 발생하면 어떻게 하나요?

먼저 uv 버전을 확인하세요(uv --version). 0.4 이상이어야 합니다. 이전 버전이라면 설치 스크립트로 최신 버전으로 업데이트한 뒤 다시 시도하세요. Python 가상환경 충돌이 의심되면 --no-cache 옵션을 추가해 보세요.

어떤 공공데이터 API를 MCP로 쓸 수 있나요?

국토교통부 실거래가, 국민연금공단 사업장 가입 정보, 국세청 사업자등록 진위 확인, 조달청 나라장터, 금융감독원 기업재무정보, 대통령기록원 연설문, 화학물질안전원 MSDS 등이 있습니다. 지원 API 목록은 각 서버의 GitHub 저장소에서 확인하세요.

Windows에서도 동일하게 설정하면 되나요?

명령어 형식은 동일하지만 경로가 다릅니다. Windows에서는 %APPDATA%\Claude\claude_desktop_config.json 파일을 수정하고, uv는 PowerShell의 irm https://astral.sh/uv/install.ps1 | iex 명령으로 설치합니다.


다음 단계

공공데이터포털 MCP 서버 설치가 완료됐다면, 이제 Claude와의 대화 속에서 한국 공공데이터를 자유롭게 활용할 수 있습니다. 더 많은 서버를 탐색하고 싶다면 전체 서버 목록을 확인하거나, 공공데이터 카테고리에서 관련 서버를 더 찾아보세요.

직접 개발한 공공데이터 MCP 서버가 있다면 서버 등록을 통해 한국 MCP 커뮤니티와 공유해 주세요.

이 글과 관련된 MCP 서버