Borrowing it
Nothing to install: this file belongs to whchoi98/seoul-opendata-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/whchoi98/seoul-opendata-mcp/main/.claude/commands/deploy.mdgit clone --depth 1 https://github.com/whchoi98/seoul-opendata-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/whchoi98/seoul-opendata-mcp/deploy)<a href="https://agentmods.dev/commands/whchoi98/seoul-opendata-mcp/deploy"><img src="https://agentmods.dev/badge/commands/whchoi98/seoul-opendata-mcp/deploy/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/whchoi98/seoul-opendata-mcp/deploy"><img src="https://agentmods.dev/badge/commands/whchoi98/seoul-opendata-mcp/deploy.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00020 | $0.01086 |
| Opus 5.5 | $0.00008 | $0.00434 |
| Sonnet 5.5 | $0.00004 | $0.00217 |
| Haiku 4.5 | $0.00002 | $0.00109 |
Grade A, and why
deploy scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 122 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Deploy
애플리케이션을 빌드하고 배포합니다.
Step 1: 배포 전 체크
- 워킹 트리가 깨끗한지 확인:
git status - 현재 브랜치 확인 (main이 아니면 경고)
- 모든 테스트 통과 확인:
npm test - 배포 runbook 확인:
ls docs/runbooks/deploy-*.md
Step 2: 배포 전 준비 (seoul-opendata-mcp 특화)
버전 동기화 확인
배포 전 3곳 버전이 일치해야 합니다:
- package.json의 version 필드
- manifest.json의 version 필드
- README.md / README.ko.md의 버전 참조
Live 테스트 실행 (권장)
RUN_LIVE=true npm test
실제 Seoul Open Data API 응답으로 엔드투엔드 검증합니다.
API 키 마스킹 확인
배포되는 코드에 다음이 없는지 확인:
- 하드코딩된 SEOUL_API_KEY 또는 SEOUL_SUBWAY_API_KEY
- .env 파일 커밋
- 테스트 출력에서의 실제 키
Step 3: 빌드 및 번들
npm run build
npm run bundle
빌드 결과 확인:
dist/디렉토리 생성seoul-opendata-mcp.mcpb파일 생성 (MCPB 번들)
번들 실행 스모크 (필수 — 파일 존재 확인만으로는 부족): 번들을 임시 디렉토리에 언팩한 뒤 실제로 실행해 tools/list가 19개를 반환하는지 확인한다. v0.2.0에서 .mcpbignore의 비앵커 src/ 패턴이 의존성 내부 node_modules/*/src/까지 제거해, 파일 검사는 통과했지만 실행 즉시 죽는 번들이 배포된 사례가 있다(ignore 패턴은 반드시 /src/처럼 루트 앵커로 쓸 것).
npx @anthropic-ai/mcpb unpack seoul-opendata-mcp.mcpb /tmp/bundle-smoke
cd /tmp/bundle-smoke && printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"smoke","version":"0"}}}' \
'{"jsonrpc":"2.0","method":"notifications/initialized"}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \
| node dist/index.js | tail -1 | grep -o '"name"' | wc -l # 19이어야 함
Step 4: npm에 발행
npm publish
발행이 성공하면:
- npm 레지스트리에 패키지 업로드
- git 태그 푸시 (리포지토리 관리자가 수행)
Step 5: 검증
배포 후:
- npm 페이지 확인:
https://www.npmjs.com/package/seoul-opendata-mcp - MCPB 번들 크기 확인 (이상적: <5MB)
- 설치 테스트:
npm install -g seoul-opendata-mcp
Step 6: 요약
표시합니다:
- 배포된 것과 장소
- 사용된 배포 방법
- 검증 결과
- 배포 runbook이 없으면 생성을 제안
Error Recovery
Step 1 배포 전 체크 실패 시
git stash -u # 커밋되지 않은 변경사항 임시 저장
git checkout main # main 브랜치로 전환
Step 2 버전 동기화 오류 시
# 현재 버전 확인
npm pkg get version
# 모든 파일이 같은 버전을 가지도록 수정
# package.json, manifest.json, README.md, README.ko.md
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 122 lines · 20 tokens per session scan A 0e0ca265792b
deploy is a command published in the GitHub repository whchoi98/seoul-opendata-mcp (1 stars, last pushed 2mo ago), licensed MIT. It adds 20 tokens to every session and 1,086 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
cost-optimize
Reduce cloud costs across AWS, Azure, and GCP through rightsizing, reserved and spot capacity, storage tuning, and cost monitoring.
deploy
Deploy a frontend (React, Next.js, or static HTML) to a live URL on Butterbase.
env
Manage Vercel environment variables. Commands include list, pull, add, remove, and diff. Use to sync environment variables between Vercel and your local development environment.
firebase-publish
Create or reuse a Firebase project, configure Hosting, and deploy the current static site. Never deletes.
scan
Scan AWS account for cost optimization.
migration
Generate Prisma database migration.