Borrowing it
Nothing to install: this file belongs to hlucent/seoul-realtime-air-by-region-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/hlucent/seoul-realtime-air-by-region-mcp/master/CLAUDE.mdgit clone --depth 1 https://github.com/hlucent/seoul-realtime-air-by-region-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/instructions/hlucent/seoul-realtime-air-by-region-mcp/claude-md)<a href="https://agentmods.dev/instructions/hlucent/seoul-realtime-air-by-region-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/hlucent/seoul-realtime-air-by-region-mcp/claude-md/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/instructions/hlucent/seoul-realtime-air-by-region-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/hlucent/seoul-realtime-air-by-region-mcp/claude-md.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.02097 | $0.02097 |
| Opus 5 | $0.01048 | $0.01048 |
| Sonnet 5 | $0.00419 | $0.00419 |
| Haiku 4.5 | $0.00210 | $0.00210 |
Grade A, and why
seoul-realtime-air-by-region-mcp CLAUDE.md 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 11d 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 — 145 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md — seoul-realtime-air-by-region-mcp
절대 규칙
- DEVPLAN.md 하나만 먼저 읽고 시작한다. 다른 문서 재탐색 금지.
- 웹서치 금지 (API 스펙은 DEVPLAN.md에 이미 있음).
- 불확실하면 추측성 재설계 대신 기본값 1개로 구현 후 DEVLOG.md에 "확인 필요"로 기록.
- 동일 오류 최대 3회까지만 재시도. 3회 실패 시 기록하고 사용자에게 보고.
- 역할은 "코드 구현 + 로컬 실측 테스트"까지다.
fly launch,fly secrets set,flyctl deploy,fly logs등 fly.io 관련 명령은 절대 스스로 실행하지 않는다. - 배포 준비(코드 구현, 로컬 테스트, git commit/push)가 끝나면 아래 "작업 순서"의 정지 시점에서 멈추고, 사용자에게 "PowerShell 창에서 fly launch --no-deploy부터 진행하세요"라고 안내한다.
기술적으로 반드시 적용할 것
.env
BOM 없는 UTF-8로 저장. python-dotenv가 BOM 있는 파일에서 키를 못 읽는 문제 재발 방지.
server.py의 mcp.run()
mcp.run(transport="streamable-http", host="0.0.0.0", port=port, stateless_http=True)
stateless_http=True 절대 누락 금지 — 없으면 fly.io 멀티머신 환경에서 세션 404, 커넥터에
"사용 가능한 도구 없음"으로 표시되는 문제가 재발한다.
응답 파싱: JSON 우선, XML 폴백 필수
정상 응답은 JSON이어도, 일부 에러 응답(INFO-100, INFO-200 등)이 TYPE=json 요청에도 XML로
돌아올 수 있다. response.json()이 실패하면 정규식으로 <CODE>/<MESSAGE> 패턴을 추출하는
폴백 파서를 반드시 구현한다.
import re
def parse_response(text: str) -> dict:
try:
return json.loads(text)
except ValueError:
code_match = re.search(r"<CODE>(.*?)</CODE>", text)
msg_match = re.search(r"<MESSAGE>(.*?)</MESSAGE>", text)
return {
"RESULT": {
"CODE": code_match.group(1) if code_match else "UNKNOWN",
"MESSAGE": msg_match.group(1) if msg_match else text[:200],
}
}
API 키 취급 원칙
- 실제 키 값은
os.environ으로만 읽는다. 하드코딩 금지. .env갱신 후 재테스트 전, 파일 크기/앞부분 문자열을 이전 값과 비교해 실제로 바뀌었는지 확인한다.- 디버깅 시 키를 표준출력에 그대로 찍지 않는다. 필요하면 앞 4자리 +
...+ 길이만 출력. - 키는 쿼리 파라미터가 아니라 URL 경로 세그먼트일 가능성이 높다 (DEVPLAN.md 1-1절 참고).
실측 단계에서 경로 삽입 방식(
/{KEY}/json/RealtimeCityAir/...)을 우선 시도하고, ERROR-300이 반복되면 다른 방식도 시도한다.
작업 순서
requirements.txt(fastmcp, httpx, python-dotenv)seoul_api.py— API 호출 + 에러코드 매핑 (JSON 우선, XML 폴백 포함), 경로 세그먼트 방식 URL 빌더server.py— 툴 2개 정의(docstring에 필드/단위 명시),stateless_http=True필수, 아래 "rate limit 미들웨어" 포함.env.example,.gitignore- 로컬 테스트 (실제 키로 각 툴 호출):
- URL 구조(키의 위치: 쿼리 vs 경로)부터 확인. ERROR-300 반복 시 키 위치 의심.
- SAREA_NM/MSRSTN_NM 조합별 실측: 둘 다 생략, SAREA_NM만, 둘 다 지정, MSRSTN_NM만 (권역 생략) — 각각 정상 동작하는지 확인 후 DEVPLAN.md 2절 "실측 필요 항목" 결과를 DEVLOG.md에 기록
- START_INDEX/END_INDEX 범위를 넓혀 실제 여러 건이 반환되는지 확인
- FastMCP 서버 스모크 테스트 (initialize 요청까지만)
Dockerfile,fly.toml— 아래 "표준 fly.toml 템플릿" 그대로 사용, fly launch의 자동 생성을 기다리지 않는다.- README/DEVLOG 갱신 — 실측으로 확인된 제약사항을 실제 동작 기준으로 정확히 기술
git add/commit/push까지 수행 (push는 자동 진행 가능 — 백업 목적, 실제 배포와 무관)- 여기서 정지 — 사용자에게 PowerShell에서
fly launch --no-deploy부터 진행하도록 안내
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.
- 11d ago First seen · 145 lines · 2,097 tokens per session scan A db724c343b27
seoul-realtime-air-by-region-mcp CLAUDE.md is an instructions file published in the GitHub repository hlucent/seoul-realtime-air-by-region-mcp (0 stars, last pushed 21d ago), licensed MIT. It adds 2,097 tokens to every session, about $0.0105 per session on Opus 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 instructions, from other repositories
spec-kit AGENTS.md
AGENTS.md instructions for github/spec-kit, covering agents.md, about spec kit and specify, quickstart — add a new integration in 5 steps, integration architecture and integrationmanifest — file tracking.
next.js AGENTS.md
AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
codex AGENTS.md
AGENTS.md instructions for openai/codex, covering rust/codex-rs, the codex-core crate, code review rules, crate api surface and model visible context.
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).
langchain AGENTS.md
AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.
vscode oss-third-party-notices.instructions.md
Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, applying the notice (cutover) and fallback chain (never fail the build).