Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
data.go.kr 10.9만 데이터셋을 말로 검색·미리보기(키 불필요). 활용신청·다운로드는 내 계정·키로(데스크탑 확장).
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
X-DataGoKr-Keyค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http datagokr https://datagokr.dev/mcp --header 'X-DataGoKr-Key: ใส่ค่าของคุณ'เติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"datagokr": {
"url": "https://datagokr.dev/mcp",
"headers": {
"X-DataGoKr-Key": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"datagokr": {
"type": "http",
"url": "https://datagokr.dev/mcp",
"headers": {
"X-DataGoKr-Key": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
X-DataGoKr-Key ความลับ HTTP headerค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน datagokr.dev แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: X-DataGoKr-Key
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.3) เข้า registry 36 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Symantec Cloud DLP AIops
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
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.
Governed Symantec Cloud DLP — 14 MCP tools, read-only with audit.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ 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
ตัดมาแค่ช่วงต้น อ่านต่อใน repo