Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
data.go.kr 10.9만 데이터셋을 말로 검색·미리보기(키 불필요). 활용신청·다운로드는 내 계정·키로(데스크탑 확장).
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
X-DataGoKr-Key标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
在终端中运行这条命令
claude mcp add --transport http datagokr https://datagokr.dev/mcp --header 'X-DataGoKr-Key: your-value'运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"datagokr": {
"url": "https://datagokr.dev/mcp",
"headers": {
"X-DataGoKr-Key": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"datagokr": {
"type": "http",
"url": "https://datagokr.dev/mcp",
"headers": {
"X-DataGoKr-Key": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
X-DataGoKr-Key 机密 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过域名 datagokr.dev 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:X-DataGoKr-Key
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(0.1.3)于36天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Safe Fetch
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
MCP server for fetching URLs, safe against SSRF, DNS rebinding, and redirect-to-internal attacks.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
공공데이터, AI한테 말로 찾고 신청까지 맡기세요.
공공데이터포털(data.go.kr)의 데이터 10.9만 건을 AI와 대화하며 찾고, 내 계정으로 활용신청부터 다운로드까지 처리해 주는 AI 확장 기능(MCP)이에요. 검색은 클로드·ChatGPT 어디서나 되고, 활용신청·다운로드는 클로드 데스크탑처럼 내 컴퓨터에서 도는 앱에서 돼요. 소개 페이지: https://datagokr.dev · 업데이트 기록: CHANGELOG
처음엔 내 AI 앱에 설치(연결)부터 해야 써요. 클로드 데스크탑이면 설치 파일(datagokr.mcpb)을 받아 더블클릭하면 끝이에요. 다른 앱은 사용 환경별 설치·사용 방법을 보세요.
공공데이터포털에서 직접 데이터셋을 찾다 보면 두 가지 걸림돌을 만나요.
그래서 포털 전체를 컬럼(표의 열 이름)까지 미리 색인하고 임베딩해 뒀어요. 필요한 데이터를 말로 설명하면 제목이 딱 맞지 않아도 뜻이 통하는 데이터셋을 찾아 주고, 비슷한 건 주제별로 묶어서 보여 주고, 컬럼과 첫 행까지 바로 확인할 수 있어요.
| 질문 | 찾은 데이터 | 받은 것 |
|---|---|---|
| "위도·경도 정보가 있는 병원 데이터 찾아줘" | 3075427 위탁병원 현황 | 키 없이 첫 행 확인: 포항의료원 (36.035, 129.354) 등 10컬럼 |
| "전국 주차장 표준데이터 첫 행 보여줘" | 15012896 전국주차장정보표준데이터 | 키 없이 첫 행(34컬럼, 총 18,883행) + 전체 다운로드 주소 |
| "아파트 실거래가 API는 어떻게 사용해?" | 15126469 국토교통부 오픈API | 호출 템플릿(엔드포인트·serviceKey)과 활용신청 방법 안내 |
2026-09-27 실제 호출 결과예요. 검색, 구조 확인, 첫 행 미리보기는 인증키가 필요 없어요.
1단계 · 찾기와 구조 확인 — 설치·가입 없이 바로
이 단계는 공개 원격 서버(https://datagokr.dev/mcp)가 처리해요. 키도 로그인도 필요 없어요.
2단계 · 활용신청과 데이터 받기 — 내 컴퓨터에 프로그램 필요 (클로드 웹·ChatGPT에선 안 돼요)
2단계는 내 data.go.kr 계정과 API 키로 하는 일이에요. 계정과 키가 남의 서버(우리 서버 포함)를 거치지 않도록, 내 컴퓨터에서 포털로 직접 접속하는 프로그램(이 패키지)이 대신 처리해요.
| 쓰는 앱 | 1단계 찾기 | 2단계 신청·받기 | 설치 |
|---|---|---|---|
| 클로드 데스크탑 (윈도우·맥) | ✅ | ✅ | 설치 파일 더블클릭 |
| 클로드 웹(claude.ai) · ChatGPT(웹·앱) | ✅ | ❌ data.go.kr에서 직접 | 커넥터 주소 연결 |
| 터미널 AI (Claude Code·Codex·Cursor 등) | ✅ | ✅ 이 패키지 설치 시 | MCP 등록 + pip install datagokr-mcp |
https://datagokr.dev/mcp 주소만 넣으면 돼요. 로그인 창 없이 연결돼요. 자세히claude mcp add --transport http datagokr https://datagokr.dev/mcp, 2단계는 pip install datagokr-mcp. 또는 에이전트에게 Fetch and execute the setup instructions from https://datagokr.dev/agent-setup/prompt.md 한 줄을 붙여 넣으세요.아래부터는 개발자용 상세 문서예요.
검색·구조 확인·첫 행 미리보기는 공개 원격 MCP 서버(https://datagokr.dev/mcp)만 등록하면 끝나고, 아무것도 설치하지 않는다. 파일 전체 다운로드, 활용신청, 본인 키로 오픈API 조회는 사용자 본인의 data.go.kr 계정과 키가 있어야 하는 일이다. 그 키와 로그인이 남의 서버(원격 MCP 서버 포함)를 거치지 않게 하려고, 사용자 컴퓨터에서 포털에 직접 접속하는 작은 프로그램을 따로 둔다. 그게 이 패키지다.
| 하는 일 | 어디서 실행되나 | 무엇이 오가나 |
|---|---|---|
| 검색·구조·컬럼 검색 | 원격 MCP 서버 | 검색어·데이터셋 id만 전송. 키·쿠키 없음. 서버가 결과 순서를 정할 때 검색어를 외부 판정 서비스로 넘김(아래) |
미리보기 preview | 원격 MCP 서버 | 조회 인자만 전송. 키·쿠키 없음 |
| 다운로드·활용신청·본인 키 조회 | 사용자 컴퓨터 | data.go.kr/odcloud에 직접 접속. 키·쿠키는 공식 서비스에만 전송 |
| 받은 파일 | 사용자 컴퓨터 | ~/datagokr/ /에 저장 |
이 프로그램은 백그라운드에 상주하지 않고 CLI를 칠 때나 AI 클라이언트가 MCP로 부를 때만 실행된다. 코드는 MIT 오픈소스라 전부 읽어볼 수 있고, 전송 범위의 정확한 목록은 아래 보안과 데이터 전송에 있다.
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 로 받는다.
git clone https://github.com/datagokr-dev/datagokr
cd datagokr python3 -m venv .venv source .venv/bin/activate python -m pip install -e . datagokr --version datagokr search "전국 주차장" datagokr show 15012896 datagokr get 15012896
검색어는 예시다. 위 15012896은 전국주차장정보표준데이터다. get은 키와 로그인 없이 첫 5행을 반환한다. 검색 순위·전체 행 수·행 내용은 포털 갱신에 따라 달라진다. CLI 실행파일 대신 python -m datagokr도 사용할 수 있다.
원문 전체를 저장하려면 다음을 실행한다. 이 명령은 첫 5행이 아니라 전체 표준데이터를 CSV로 저장하므로 시간이 더 걸릴 수 있다.
datagokr download 15012896 --out ./downloads
응답의 path가 실제 저장 경로다. 기본 저장 위치는 ~/datagokr/ /이고, --out을 주면 그 디렉터리에 저장한다. 같은 경로의 파일은 덮어쓴다.
클로드 코드·코덱스·커서 등 어떤 에이전트든 아래 문장 하나를 그대로 던지면 클라이언트를 감지해 원격 서버를 등록하고 검색 1회로 검증까지 한다.
Fetch and execute the setup instructions from https://datagokr.dev/agent-setup/prompt.md
우선순위는 함수·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 파일의 최상위에 넣는다. 키가 필요한 경우 빈 문자열을 본인 키로 바꾸고 파일 권한을 제한한다.
DATAGOKR_API_KEY = ""
DATAGOKR_REMOTE_URL = "https://datagokr.dev/mcp" DATAGOKR_DOWNLOAD_DIR = "~/datagokr" DATAGOKR_SESSION_FILE = "~/.config/datagokr/session.json"
chmod 600 ~/.config/datagokr/config.toml
datagokr config datagokr config --json
config는 유효 설정을 조회만 하며 파일을 수정하지 않는다. 키가 있으면 실제 값 대신 [configured]를 표시한다. .env는 같은 네 이름을 이름=값으로 적는다. 셸 명령 실행이나 ${변수} 치환은 지원하지 않는다. MCP의 작업 디렉터리는 AI 클라이언트마다 다를 수 있어 프로젝트 .env에 의존하려면 실행 위치를 확인해야 한다.
한 번만 무키로 실행하거나 출력 경로를 바꿀 수도 있다.
DATAGOKR_API_KEY='' datagokr get 15012896
DATAGOKR_DOWNLOAD_DIR=./downloads datagokr download 15012896
검색·표준데이터 조회에는 로그인이 필요 없다. odcloud 활용신청에는 본인의 공공데이터포털 계정 세션이 필요하며 API 키와 로그인 쿠키는 서로 다른 인증정보다.
datagokr login을 실행하면 절차 안내가 나온다. 이 명령만으로 브라우저를 열거나 로그인하지 않는다.www.data.go.kr 페이지에서 브라우저 쿠키를 가져온다. 다음 세 방법 중 하나를 사용한다.브라우저 쿠키 읽기를 사용하려면 현재 소스 디렉터리에서 선택 의존성을 설치한다.
python -m pip install -e '.[browser]'
datagokr login --browser chrome
브라우저·운영체제의 쿠키 암호화나 권한 때문에 읽기가 실패할 수 있다. 직접 입력하려면 개발자도구 콘솔에서 document.cookie를 평가해 복사한다. 값을 생략한 datagokr login --cookie는 숨김 입력으로 받는다(권장). --cookie "값"처럼 명령줄에 직접 넣으면 셸 기록과 프로세스 인자에 남는다.
python - <<'PY'
from getpass import getpass from datagokr.session import login
result = login(cookie=getpass("포털 쿠키: ")) print(result["message"]) PY
계정 페이지에서 로그인을 확인한 뒤 세션을 저장한다. macOS/Linux에서는 세션 파일 권한이 0600이고, Windows에서는 쿠키를 Credential Manager에 저장하고 파일에는 저장 위치 표시만 남긴다. document.cookie로는 HttpOnly 쿠키를 읽을 수 없으므로 복사한 값으로 검증이 실패하면 브라우저 쿠키 읽기 경로를 사용하거나 다시 로그인한다. 만료된 세션은 CLI의 datagokr login 또는 MCP의 login으로 갱신한다. MCP에서는 login_status 툴로 상태를 확인할 수 있다.
로컬 MCP에서는 터미널 없이 login 도구로 로그인할 수 있다. 확장 설정의 포털 아이디·비밀번호를 입력하거나 로컬 서버에 DATAGOKR_PORTAL_ID, DATAGOKR_PORTAL_PASSWORD 환경변수를 전달한다. 이 두 설정은 환경변수 전용이며 config 출력이나 개인 TOML에 넣지 않는다. 대화에 “공공데이터포털에 로그인해줘”라고 말하고, 표시된 보안문자를 직접 읽어 입력한다. 도구는 같은 challenge_id와 captcha_answer로 5분 안에 완료하며, 다시 시작하면 이전 이미지는 무효다. 아이디·비밀번호는 도구 인자에 넣지 않는다. 실제 포털 로그인과 Windows/macOS 앱 실행은 아직 실기 검증 전이다.
키가 필요한 포털 파일을 검색하고 show의 상세 페이지·요청 예시를 확인한 다음, 검색 결과의 id로 신청·조회한다. 아래 셸 변수에는 실제 검색 결과의 id를 입력한다.
read -r -p '포털 파일 dataset id: ' dataset_id
datagokr show "$dataset_id" datagokr apply "$dataset_id" --purpose "공공데이터 통계 분석" datagokr fetch "$dataset_id" -n 5 datagokr get "$dataset_id" -n 5
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로 실행되며 툴 10개를 제공한다: search, show, fields, preview, fetch, get, apply, download, login, login_status. 툴 설명은 한국어·영어를 함께 제공한다. CLI의 login과 config도 유지하며, MCP에는 키·아이디·비밀번호·쿠키 입력 인자가 없다.
먼저 설치한 가상환경에서 command -v datagokr-mcp로 실행파일의 절대경로를 확인한다. 아래 예시는 datagokr-mcp가 AI 클라이언트의 PATH에도 있을 때 동작한다. 찾지 못하면 각 command 또는 CLI의 마지막 실행파일을 방금 확인한 절대경로로 바꾼다. JSON/TOML의 명령 경로에 ~ 확장을 기대하지 말자. command를 가상환경 Python 절대경로로 하고 args를 ["-m", "datagokr.mcp"]로 지정해도 된다.
각 설정은 기존 파일의 다른 항목을 유지하며 병합한다. 키는 개인 ~/.config/datagokr/config.toml에 두면 아래 예시에 비밀값을 넣지 않아도 된다. 등록 후 클라이언트에서 MCP 연결을 새로고침하거나 재시작한다.
로컬 프로그램을 돌릴 수 없는 앱이라 원격 서버만 커넥터로 붙인다(Claude 데스크탑은 아래 확장 파일이 낫다). Claude는 설정 → 커넥터 → 추가 → 사용자 지정 커넥터에서 이름은 아무거나, URL은 https://datagokr.dev/mcp(끝의 `/m
只显示了开头部分;其余内容请在仓库中阅读