Search Korea's public data portal (data.go.kr): find datasets, schema, preview rows, download steps
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
공공데이터포털의 데이터를 검색하고, 자기 키·자기 로그인·자기 디스크로 조회·활용신청·다운로드하는 Python 패키지다. CLI, Python API, 로컬 MCP stdio 서버를 제공한다.
검색과 메타데이터는 공개 원격 MCP 서버를 사용한다. get, fetch, apply, download는 메타데이터를 받은 뒤 사용자 컴퓨터에서 포털에 접속한다. preview는 원격 서버가 본문을 조회하므로, 키를 설정했다면 그 키도 원격 서버로 전송된다. 자세한 전송 범위는 아래 보안 안내를 확인하자.
Python 3.11 이상과 인터넷 연결이 필요하다. 명령은 macOS/Linux의 Bash 기준이다. 저장소는 https://github.com/datagokr-dev/datagokr 이고, PyPI 이름은 datagokr-mcp(import 이름과 CLI는 datagokr 그대로)라 pip install datagokr-mcp 로 설치할 수 있고, 최신 소스는 pip install git+https://github.com/datagokr-dev/datagokr 로 받는다.
15012896은 전국주차장정보표준데이터다. get은 키와 로그인 없이 첫 5행을 반환한다. 검색 순위·전체 행 수·행 내용은 포털 갱신에 따라 달라진다. CLI 실행파일 대신 python -m datagokr도 사용할 수 있다.
원문 전체를 저장하려면 다음을 실행한다. 이 명령은 첫 5행이 아니라 전체 표준데이터를 CSV로 저장하므로 시간이 더 걸릴 수 있다.
응답의 path가 실제 저장 경로다. 기본 저장 위치는 ~/datagokr/<dataset_id>/이고, --out을 주면 그 디렉터리에 저장한다. 같은 경로의 파일은 덮어쓴다.
클로드 코드·코덱스·커서 등 어떤 에이전트든 아래 문장 하나를 그대로 던지면 클라이언트를 감지해 원격 서버를 등록하고 검색 1회로 검증까지 한다.
우선순위는 함수·CLI 인자 > 환경변수 > 현재 작업 디렉터리의 .env > ~/.config/datagokr/config.toml > 기본값이다. None은 하위 설정을 상속하고, 빈 API 키 문자열은 키 사용을 끈다. TOML과 .env 모두 아래 대문자 이름을 사용한다.
| 설정 키 | 용도 | 기본값 |
|---|---|---|
DATAGOKR_API_KEY | 본인의 odcloud serviceKey, 디코딩 값 | 빈 값 |
DATAGOKR_REMOTE_URL | 원격 검색·메타·미리보기 MCP 주소 | https://datagokr.dev/mcp |
DATAGOKR_DOWNLOAD_DIR | 다운로드 기본 폴더 | ~/datagokr |
DATAGOKR_SESSION_FILE | 포털 로그인 세션 파일 | ~/.config/datagokr/session.json |
여러 AI 클라이언트에서 함께 쓰려면 ~/.config/datagokr/config.toml에 설정하는 편이 간단하다. 아래 내용은 TOML 파일의 최상위에 넣는다. 키가 필요한 경우 빈 문자열을 본인 키로 바꾸고 파일 권한을 제한한다.
config는 유효 설정을 조회만 하며 파일을 수정하지 않는다. 키가 있으면 실제 값 대신 [configured]를 표시한다. .env는 같은 네 이름을 이름=값으로 적는다. 셸 명령 실행이나 ${변수} 치환은 지원하지 않는다. MCP의 작업 디렉터리는 AI 클라이언트마다 다를 수 있어 프로젝트 .env에 의존하려면 실행 위치를 확인해야 한다.
한 번만 무키로 실행하거나 출력 경로를 바꿀 수도 있다.
검색·표준데이터 조회에는 로그인이 필요 없다. odcloud 활용신청에는 본인의 공공데이터포털 계정 세션이 필요하며 API 키와 로그인 쿠키는 서로 다른 인증정보다.
datagokr login을 실행하면 절차 안내가 나온다. 이 명령만으로 브라우저를 열거나 로그인하지 않는다.www.data.go.kr 페이지에서 브라우저 쿠키를 가져온다. 다음 세 방법 중 하나를 사용한다.브라우저 쿠키 읽기를 사용하려면 현재 소스 디렉터리에서 선택 의존성을 설치한다.
브라우저·운영체제의 쿠키 암호화나 권한 때문에 읽기가 실패할 수 있다. 직접 입력하려면 개발자도구 콘솔에서 document.cookie를 평가해 복사한다. 값을 생략한 datagokr login --cookie는 숨김 입력으로 받는다(권장). --cookie "값"처럼 명령줄에 직접 넣으면 셸 기록과 프로세스 인자에 남는다.
계정 페이지에서 로그인을 확인한 뒤 세션을 저장하며, 파일 권한은 0600이다. document.cookie로는 HttpOnly 쿠키를 읽을 수 없으므로 복사한 값으로 검증이 실패하면 브라우저 쿠키 읽기 경로를 사용하거나 다시 로그인한다. 만료된 세션은 datagokr login으로 갱신한다. MCP에서는 login_status 툴로 상태를 확인할 수 있다.
키가 필요한 포털 파일을 검색하고 show의 상세 페이지·요청 예시를 확인한 다음, 검색 결과의 id로 신청·조회한다. 아래 셸 변수에는 실제 검색 결과의 id를 입력한다.
apply는 저장된 세션으로 실제 신청을 제출한다(한 번에 1~50개 id). applied나 portal_status를 확인하자. 이미 신청했거나 자동 신청 대상이 아니면 not_applicable, 로그인이 필요하면 manual 등이 반환된다. 일반 오픈API는 상세 페이지에서 별도 신청이 필요할 수 있다. 승인 직후에도 키 반영이 늦어 401이 계속되면 잠시 후 재시도하거나 get의 원문 경로를 이용한다.
--json은 명령 앞이나 뒤에 붙일 수 있다. 성공 결과는 stdout, 실패 안내는 stderr에 출력하며 CLI 요청 실패는 종료 코드 1, 잘못된 인자는 2다. 성공적으로 전달된 응답 안에 status_code=401이나 신청 상태가 있을 수 있으므로 자동화에서는 응답 내용도 확인한다.
| 명령 | 예시 | 동작 |
|---|---|---|
search | datagokr search "전국 주차장" -n 5 --json | 주제 검색; --dtype FILE|API|STD, --org, 반복 가능한 --field |
show | datagokr show 15012896 | 컬럼·접근 방식·요청 예시 조회 |
fields | datagokr fields 위도 경도 -n 5 | 지정 컬럼을 모두 가진 데이터 검색 |
preview | datagokr preview 15012896 -n 3 | 원격 서버에서 미리보기; 설정 키 전송 |
fetch | datagokr fetch "$dataset_id" -n 5 | 본인 로컬 키로 odcloud 조회; --version 선택 가능 |
get | datagokr get 15012896 -n 3 | 접근 방식별 조회·신청·원문 폴백 |
apply | datagokr apply "$dataset_id" | 본인 세션으로 활용신청 제출 |
download | datagokr download 15012896 --out ./downloads | 원문을 로컬 디스크에 저장 |
login | datagokr login | 로그인 안내 또는 쿠키 등록 |
config | datagokr config --json | 키를 가린 유효 설정 조회 |
각 명령의 전체 옵션은 datagokr <명령> --help로 확인한다. 검색·컬럼 검색은 원격 서버에서 최대 20건, 원격 미리보기는 최대 20행·50컬럼이다. show도 컬럼을 최대 50개 표시한다.
access_kind | get의 결과 |
|---|---|
STD_FILE | 무키로 표준데이터 첫 n행. 파일이 없는 API 전용 표준은 요청 템플릿 안내 |
STD | 전국판 부모가 있으면 그 본문과 부모 id 반환; 없으면 카탈로그 안내 |
LINK | 제공기관의 외부 URL |
OPEN_API | 본인 serviceKey로 호출할 요청 템플릿 또는 포털 상세 페이지 |
PORTAL_FILE | 키로 odcloud 조회 → 401이면 로그인 세션으로 신청 → 승인 확인 후 재조회 → 원문 미리보기·다운로드 폴백. 키가 없으면 바로 원문 경로 |
get은 기본적으로 활용신청을 하지 않고 원문 파일 저장으로 폴백한다. 본인 계정으로 신청까지 하려면 get --apply를 명시한다(MCP·Python API는 no_apply=False). get --probe는 신청·파일 저장 없이 접근을 확인한다. download --probe도 저장하지 않는다. 포털 원문 미리보기는 CSV/TSV/TXT/XLSX를 지원하고, 지원하지 않는 형식이나 미리보기 실패는 원문 다운로드로 이어질 수 있다.
포털 파일은 download --version 버전키 또는 download --all-versions로 버전을 선택한다(동시 사용 불가). show의 요청 예시를 참고한다. --utf8은 CSV 원문과 함께 UTF-8 변환본을 추가 저장한다. 표준데이터 CSV는 기본적으로 UTF-8 BOM 인코딩이다.
로컬 datagokr-mcp가 stdio로 실행되며 툴 9개를 제공한다: search, show, fields, preview, fetch, get, apply, download, login_status. 툴 설명은 한국어·영어를 함께 제공한다. login과 config는 CLI에서 실행하고, MCP에는 키·쿠키 입력 인자가 없다.
먼저 설치한 가상환경에서 command -v datagokr-mcp로 실행파일의 절대경로를 확인한다. 아래 예시는 datagokr-mcp가 AI 클라이언트의 PATH에도 있을 때 동작한다. 찾지 못하면 각 command 또는 CLI의 마지막 실행파일을 방금 확인한 절대경로로 바꾼다. JSON/TOML의 명령 경로에 ~ 확장을 기대하지 말자. command를 가상환경 Python 절대경로로 하고 args를 ["-m", "datagokr.mcp"]로 지정해도 된다.
각 설정은 기존 파일의 다른 항목을 유지하며 병합한다. 키는 개인 ~/.config/datagokr/config.toml에 두면 아래 예시에 비밀값을 넣지 않아도 된다. 등록 후 클라이언트에서 MCP 연결을 새로고침하거나 재시작한다.
로컬은 사용자 컴퓨터에서 실행되고 원격은 검색·조회용 공개 서버에 연결한다. 필요한 연결만 등록하면 된다. -s user는 모든 프로젝트에 적용되며, claude mcp list 또는 대화창의 /mcp에서 연결을 확인한다. 삭제는 claude mcp remove datagokr-local -s user와 claude mcp remove datagokr-public -s user다. Claude Code 공식 MCP 문서.
CLI로 필요한 연결을 등록한다.
list의 enabled는 등록 상태다. 실제 연결·호출 성공은 대화의 툴 응답으로 확인한다. 삭제는 codex mcp remove datagokr-local과 codex mcp remove datagokr-public이다. 직접 설정하려면 CLI 등록 대신 ~/.codex/config.toml에 추가한다.
codex mcp list 또는 /mcp에서 확인한다. 환경변수 방식으로 키를 관리한다면 위 테이블에 env_vars = ["DATAGOKR_API_KEY"]를 추가해 전달할 수 있다. OpenAI 공식 MCP 문서.
프로젝트의 .cursor/mcp.json에 추가한다. 모든 프로젝트에서 사용하려면 ~/.cursor/mcp.json을 사용한다.
~/.gemini/settings.json에 추가한다.
/mcp에서 연결을 확인한다. timeout 단위는 밀리초다. Gemini CLI 공식 MCP 문서.
~/.codeium/windsurf/mcp_config.json에 추가한다.
Cascade의 MCP 설정에서 서버와 툴을 확인한다. Windsurf 공식 MCP 문서.
다른 클라이언트도 로컬 stdio MCP를 지원하면 같은 명령으로 연결할 수 있다. datagokr-mcp는 MCP 클라이언트가 시작하는 프로세스이므로 터미널에서 직접 실행해 출력이 없어도 입력 대기일 수 있다. 대화에서 “전국 주차장 데이터를 검색하고 15012896의 첫 3행을 보여줘”처럼 요청하면 된다. 대용량 다운로드는 클라이언트 제한 시간을 넘을 수 있으므로 CLI로 실행할 수도 있다.
search와 fields는 {"summary": {...}, "results": [...]} dict를 반환한다. 같은 주제의 지자체 자료는 대표 한 줄로 접힌다. 다음은 필드 의미를 보여 주는 축약 예시이며 건수·순위는 실제 검색에 따라 달라진다.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/datagokr-korean-public-data-search)<a href="https://allmcps.com/mcp/datagokr-korean-public-data-search"><img src="https://allmcps.com/api/badge/datagokr-korean-public-data-search?style=directory" alt="Datagokr — 한국 공공데이터 검색 (Korean public data search) on AllMCPs" /></a>