Neosarchizo
RSS FeedS/W & H/W Engineer
Featured
무엇을 먹어야 하나?
Published: at 10:57 AMWhat to eat
인간은 초식 동물이다.
Published: at 11:49 AMHuman is herbivore
권장 대사량 측정하기
Published: at 01:55 PMHow to calculate calorie
Recent Posts
Claude Code MCP 개념과 설치 — 외부 도구·DB·API를 Claude Code 안으로 끌어들이는 표준
Published: at 08:53 PM섹션 7 *MCP 서버 연동*의 첫 차시. Claude Code가 외부 도구·데이터베이스·API에 연결되는 표준인 MCP(Model Context Protocol)를 정리한다. AI 챗에 데이터를 *복사해 붙여 넣는* 흐름과 MCP가 *직접 접근*하게 만드는 흐름의 차이, host(Claude Code)·client(서버마다 하나)·server(외부 시스템)의 3자 아키텍처, 데이터 레이어(JSON-RPC 2.0)와 전송 레이어의 2단 분리, 그리고 서버가 노출하는 세 primitive — Tools(모델이 호출), Resources(앱이 가져옴), Prompts(사용자가 `/`로 호출)의 역할 분담을 본다. 세 가지 전송 방식 — Streamable HTTP(권장)·SSE(deprecated)·stdio(로컬 프로세스) — 의 선택 기준, `claude mcp add`의 옵션 순서(옵션이 name 앞·`--`로 명령 분리), HTTP 서버에 `--header`로 bearer 토큰 박는 법, OAuth 인증을 `/mcp`로 마무리하는 흐름, 그리고 `claude mcp list`/`get`/`remove`·`/mcp` 슬래시 커맨드까지 묶는다. 스코프 셋(local·project·user)이 어디에 저장되고 누구와 공유되는지, `.mcp.json`이 git 커밋되는 *팀 공유 채널*이라는 점, prompt injection 위험과 *Anthropic Directory가 보안 감사가 아니라는* 단서, 출력 토큰 한도(기본 25K, 경고 10K)와 `MCP_TIMEOUT`까지 다룬다.
Claude Code SessionStart·Stop·SessionEnd Hook — 세션의 양 끝에 환경·검증·정리를 박는 법
Published: at 06:43 PMClaude Code의 세션 라이프사이클 hook을 한 차시로 정리한다. *도구* 단위가 아니라 *세션* 단위에서 발화하는 세 이벤트 — SessionStart(시작·재개·clear·compact), Stop(응답 종료 직전), SessionEnd(세션 종료) — 의 발화 조건, 입력 JSON 스키마, 응답 옵션, 매처 값(SessionStart 4값·SessionEnd 6값·Stop 매처 없음), 그리고 차단 가능 여부(SessionStart 불가·Stop 가능·SessionEnd 불가)를 비교한다.
Claude Code PreToolUse Hook과 보안 — 도구가 실행되기 전에 위험한 명령과 민감 파일을 막는 게이트
Published: at 10:34 PMClaude Code의 PreToolUse Hook을 보안 관점에서 깊게 본다. 도구가 *실행되기 직전*에 발화해 호출 자체를 막을 수 있다는 핵심 성질 — PostToolUse(후처리, 못 막음)와 정반대 — 에서 출발해, 입력 JSON(tool_name·tool_input·tool_use_id, tool_output 없음), 차단의 두 갈래(exit 2 + stderr vs exit 0 + `permissionDecision` JSON), exit 2가 PreToolUse에서는 *블로킹*이라는 점(PostToolUse와 반대이며 exit 1은 차단이 아님), `permissionDecision` 4값(allow/deny/ask/defer)의 정확한 의미, 그리고 Hook과 권한 규칙·권한 모드의 관계 — Hook은 제약을 조이기만 하고 풀지 못한다, deny는 bypassPermissions도 뚫는다, allow는 deny 규칙을 못 이긴다, 여러 hook 병합 시 deny>ask>allow — 를 정리한다. 실전 패턴으로 위험한 Bash 명령 차단(rm -rf·DROP TABLE), 민감 파일 보호(.env·.git/), `ask`로 사용자 승인 에스컬레이션, `updatedInput`으로 입력 sanitize까지 묶고, 정적 권한 패턴과 동적 hook의 역할 분담, matcher와 `if` 필드, 셸 프로필이 JSON 출력을 오염시키는 문제도 함께 본다.
Claude Code PostToolUse Hook 활용 — 편집 직후 포맷팅·린트·테스트를 시스템에 못 박기
Published: at 07:35 PMClaude Code의 PostToolUse Hook을 한 차시로 깊게 본다.