Skip to content
Published on

Claude Code 완벽 가이드: Anthropic의 AI 코딩 에이전트로 개발 생산성을 혁신하는 방법

Authors
  • Name
    Twitter

1. Claude Code 소개

Agentic Coding이란?

Agentic Coding은 AI가 단순히 코드를 자동 완성하는 수준을 넘어, 코드베이스를 이해하고 스스로 파일을 탐색하며 편집하고 명령어를 실행하여 자율적으로 개발 작업을 수행하는 패러다임이다. 전통적인 코드 자동 완성(autocomplete) 도구가 "다음 줄"을 예측하는 것에 그쳤다면, agentic coding 도구는 개발자의 의도를 파악하여 전체 작업 흐름을 자율적으로 처리한다.

Claude Code는 Anthropic이 공식으로 제공하는 터미널 기반 AI 코딩 에이전트다. IDE 플러그인이 아닌 CLI(Command Line Interface)로 동작하며, 터미널에서 자연어 명령을 통해 코드를 읽고, 수정하고, 실행하는 전 과정을 관리한다.

핵심 특징

Claude Code가 기존 AI 코딩 도구와 차별화되는 핵심 특징은 다음과 같다.

  • 터미널 네이티브: IDE에 종속되지 않고 터미널에서 직접 실행된다. SSH 원격 서버, Docker 컨테이너, CI/CD 파이프라인 등 어디서든 사용 가능하다.
  • 코드베이스 이해: 프로젝트 구조를 자동으로 분석하고, 파일 간 의존 관계를 파악하여 맥락에 맞는 작업을 수행한다.
  • 도구 기반 아키텍처: Read, Write, Edit, Bash, Glob, Grep 등 다양한 내장 도구를 조합하여 복잡한 작업을 수행한다.
  • Git 네이티브 통합: 커밋, 브랜치 생성, PR 작성, 코드 리뷰까지 Git 워크플로우 전체를 자연어로 처리한다.
  • Extended Thinking: 복잡한 문제에 대해 먼저 추론 과정을 거친 후 코드를 작성하는 사고 체인을 기본 활성화한다.
  • 멀티 에이전트: Task tool과 Subagent를 활용하여 최대 10개의 병렬 작업을 동시에 처리한다.

어떤 작업에 적합한가?

Claude Code는 다음과 같은 시나리오에서 특히 강력하다.

1. 대규모 리팩토링     → "모든 class component를 function component로 변환해줘"
2. 코드베이스 탐색      → "인증 로직이 어디에 구현되어 있는지 분석해줘"
3. 버그 디버깅         → "이 에러 로그를 분석하고 원인을 찾아서 수정해줘"
4. 테스트 코드 생성     → "이 모듈의 unit test를 작성해줘"
5. Git 워크플로우       → "변경사항을 커밋하고 PR을 생성해줘"
6. 문서화              → "이 API의 JSDoc을 작성해줘"
7. CI/CD 자동화        → "GitHub Actions에서 코드 리뷰를 자동화해줘"

2. 설치 및 초기 설정

시스템 요구사항

Claude Code를 사용하려면 다음 환경이 필요하다.

  • OS: macOS, Linux (Windows는 WSL을 통해 사용)
  • Node.js: v18 이상 (npm 설치 시)
  • 계정: Claude Pro, Max, Teams, Enterprise, 또는 Console(API) 계정 (무료 플랜은 미지원)

설치 방법

방법 1: 네이티브 설치 (권장)

네이티브 바이너리 설치 방식이 현재 공식 권장 방법이다. 별도의 Node.js 의존성이 필요 없고 자동 업데이트를 지원한다.

# macOS / Linux 네이티브 설치
curl -fsSL https://claude.ai/install.sh | bash

방법 2: npm을 통한 설치

기존 Node.js 환경이 이미 구축되어 있다면 npm으로도 설치할 수 있다.

# npm 글로벌 설치
npm install -g @anthropic-ai/claude-code

# 설치 확인
claude --version

방법 3: VS Code Extension

VS Code 마켓플레이스에서 직접 설치할 수도 있다.

1. VS Code에서 Cmd+Shift+X (Mac) / Ctrl+Shift+X (Windows/Linux)
2. "Claude Code" 검색
3. Install 클릭

인증 설정

Claude Code는 두 가지 인증 방식을 지원한다.

OAuth 인증 (Pro/Max/Teams/Enterprise)

# 최초 실행 시 브라우저 OAuth 인증
claude

# 수동 로그인
claude auth login

처음 claude 명령을 실행하면 브라우저가 열리고 Anthropic 계정으로 로그인하는 OAuth 흐름이 시작된다. 인증 완료 후 토큰이 로컬에 저장되어 이후 자동 로그인된다.

API 키 인증 (Console)

# 환경 변수로 API 키 설정
export ANTHROPIC_API_KEY="sk-ant-api03-..."

# 또는 .env 파일에 저장
echo 'ANTHROPIC_API_KEY=sk-ant-api03-...' >> ~/.zshrc
source ~/.zshrc

API 키는 Anthropic Console에서 생성할 수 있다. 절대 공개 저장소에 API 키를 커밋하지 않도록 주의한다.

모델 선택

Claude Code는 여러 Claude 모델을 지원한다. 기본 모델은 Claude Sonnet이며, 필요에 따라 변경할 수 있다.

# 모델 확인 및 변경
claude --model claude-sonnet-4-6
claude --model claude-opus-4-6
claude --model claude-haiku-3-5

# 대화 중 모델 변경
/model

설치 검증

설치가 정상적으로 완료되었는지 확인하려면 다음 명령을 실행한다.

# 버전 확인
claude --version

# 간단한 테스트
claude "Say hello"

# 환경 진단
claude doctor

3. 기본 사용법

Claude Code는 세 가지 실행 모드를 지원한다. 상황에 따라 적절한 모드를 선택하면 된다.

3.1 대화형(Interactive) 모드

가장 기본적인 사용 방식이다. 터미널에서 claude를 실행하면 대화형 REPL 환경이 시작된다.

# 대화형 모드 시작
claude

# 프로젝트 디렉토리에서 시작 (권장)
cd ~/my-project && claude

대화형 모드에서는 자연어로 작업을 지시한다.

> 이 프로젝트의 구조를 분석해줘

> src/auth/login.ts 파일에서 JWT 검증 로직을 추가해줘

> package.json의 모든 의존성을 최신 버전으로 업데이트해줘

Claude는 각 작업에 필요한 도구를 자동으로 선택하여 실행한다. 파일 수정이나 명령 실행 전에는 사용자의 승인을 요청한다.

3.2 원샷(One-shot) 모드

초기 프롬프트를 인수로 전달하면 대화가 시작된 후 해당 프롬프트가 바로 실행된다.

# 초기 프롬프트와 함께 시작
claude "src 디렉토리의 모든 TypeScript 파일에서 deprecated API 사용을 찾아줘"

# 특정 파일을 참조하며 질문
claude "이 파일의 성능 문제를 분석해줘" --file src/utils/parser.ts

3.3 파이프(Pipe) / 헤드리스(Headless) 모드

--print (-p) 플래그를 사용하면 비대화형 모드로 실행된다. CI/CD 파이프라인이나 스크립트 자동화에 적합하다.

# 비대화형 실행
claude -p "package.json의 의존성 목록을 정리해줘"

# stdin을 통한 파이프 입력
cat error.log | claude -p "이 에러 로그를 분석하고 해결 방법을 제안해줘"

# PR diff를 분석
git diff main...HEAD | claude -p "이 변경사항에서 보안 취약점을 검토해줘"

# 출력 형식 지정
claude -p "프로젝트 구조를 분석해줘" --output-format json

# CI/CD 파이프라인에서 사용
claude -p "코드 리뷰를 수행해줘" \
  --dangerously-skip-permissions \
  --output-format stream-json

파이프 모드의 핵심 특징은 다음과 같다.

특성설명
--print / -p비대화형 모드 활성화
--output-formattext, json, stream-json 지원
--dangerously-skip-permissions모든 권한 확인 건너뛰기 (CI/CD 전용)
--session-id멀티턴 세션 유지
--resume이전 세션 이어서 진행
--append-system-prompt기본 시스템 프롬프트에 추가 지시

멀티턴 세션 예시

# 세션 ID를 지정하여 연속 대화
claude -p "프로젝트 구조를 분석해줘" --session-id my-review

# 같은 세션에서 후속 질문
claude -p "아까 분석한 구조에서 개선할 점은?" \
  --session-id my-review --resume

4. 핵심 슬래시 커맨드

Claude Code의 대화형 모드에서 /로 시작하는 슬래시 커맨드를 사용할 수 있다. 이 커맨드들은 세션 관리, 모델 변경, 비용 확인 등 다양한 기능을 제공한다.

필수 커맨드 요약

커맨드설명사용 시점
/help사용 가능한 모든 커맨드 표시처음 사용할 때
/initCLAUDE.md 파일 생성새 프로젝트 시작 시
/modelAI 모델 변경 (Sonnet/Opus/Haiku)작업 복잡도에 따라
/compact대화 기록 압축긴 세션에서 컨텍스트 절약
/cost현재 세션의 토큰 사용량 확인비용 모니터링
/clear대화 기록 초기화새 주제 시작 시
/doctor설치 상태 진단문제 발생 시
/review코드 리뷰 수행PR 전 검토
/commitGit 커밋 생성변경사항 저장 시
/hooks커스텀 훅 설정자동화 워크플로우 구성 시
/login인증 다시 수행토큰 만료 시
/logout로그아웃계정 전환 시
/config설정 확인 및 변경설정 커스터마이징
/permissions권한 설정 관리보안 설정 조정 시

주요 커맨드 상세

/init — 프로젝트 초기화

/init

/init은 프로젝트 루트에 CLAUDE.md 파일을 자동 생성한다. 이 파일에는 프로젝트 구조, 빌드 명령어, 코딩 컨벤션 등이 포함된다. 새 프로젝트에서 가장 먼저 실행해야 할 커맨드다.

/compact — 대화 압축

# 기본 압축
/compact

# 커스텀 지시와 함께 압축
/compact 인증 관련 맥락만 유지해줘

/compact는 대화 기록을 요약하여 컨텍스트 윈도우 공간을 확보한다. 핵심 정보는 보존하면서 불필요한 중복을 제거한다. 긴 코딩 세션에서 필수적인 커맨드다. Claude Code는 컨텍스트 한도에 도달하면 자동으로 auto-compaction을 수행하지만, 수동으로 실행하면 더 정밀한 제어가 가능하다.

/model — 모델 변경

/model

실행하면 사용 가능한 모델 목록이 표시되고, 현재 작업에 적합한 모델을 선택할 수 있다. 일반적인 권장 사항은 다음과 같다.

  • Haiku: 단순 질문, 빠른 코드 생성, 비용 절약
  • Sonnet: 일상적인 코딩 작업 (기본값, 가장 균형 잡힌 선택)
  • Opus: 복잡한 아키텍처 설계, 대규모 리팩토링, 깊은 추론이 필요한 작업

/cost — 비용 확인

/cost

현재 세션에서 사용한 입력/출력 토큰 수와 예상 비용을 표시한다. 세션 관리에 유용하며, /compact 전후로 비용을 비교하면 절약 효과를 확인할 수 있다.

/doctor — 환경 진단

/doctor

설치 상태, API 연결, 권한 설정, MCP 구성 등을 자동으로 점검한다. 문제가 감지되면 해결 방법을 제안한다. Anthropic 공식 문서에 따르면 일반적인 문제의 85%를 자동 진단한다.

커스텀 슬래시 커맨드

.claude/commands/ 디렉토리에 Markdown 파일을 생성하면 커스텀 슬래시 커맨드를 만들 수 있다.

<!-- .claude/commands/review-security.md -->

다음 항목을 중점으로 보안 리뷰를 수행해줘:

1. SQL Injection 취약점
2. XSS 취약점
3. 인증/인가 우회 가능성
4. 민감 정보 노출
5. CSRF 취약점

변경된 파일만 대상으로 분석하고, 각 항목별로 심각도(High/Medium/Low)를 표시해줘.

이렇게 생성한 파일은 /review-security로 호출할 수 있다.


5. 도구(Tools) 시스템

Claude Code의 핵심 강점은 다양한 내장 도구를 조합하여 작업을 수행하는 도구 기반 아키텍처에 있다. Claude는 사용자의 요청을 분석하여 적절한 도구를 자동 선택하고 실행한다.

내장 도구 전체 목록

읽기 전용 도구 (Zero-risk)

이 도구들은 파일 시스템이나 외부 상태를 변경하지 않으므로 별도의 권한 승인이 필요 없다.

도구설명사용 예시
Read파일 내용 읽기 (이미지, PDF 포함)소스 코드 분석, 설정 파일 확인
Glob파일 이름 패턴 매칭**/*.ts, src/**/*.test.js 패턴 검색
Grep파일 내용 검색 (ripgrep 기반)정규식으로 코드 패턴 검색
WebSearch웹 검색최신 문서, API 레퍼런스 조회
WebFetchURL 콘텐츠 가져오기공개 URL 내용 읽기

쓰기 도구

파일을 수정하거나 명령을 실행하는 도구들이다. 기본적으로 실행 전 사용자 승인을 요청한다.

도구설명사용 예시
Edit파일 내용 정확히 수정 (문자열 치환)특정 함수 수정, 변수명 변경
MultiEdit한 파일에서 여러 위치 동시 수정여러 import 구문 추가
Write파일 생성 또는 전체 덮어쓰기새 파일 생성, 설정 파일 작성
Bash셸 명령 실행npm install, git commit, docker build
NotebookEditJupyter 노트북 셀 편집데이터 분석 노트북 수정

에이전트 도구

복잡한 작업을 분할하고 병렬 처리하는 도구다.

도구설명사용 예시
Task하위 에이전트 생성 및 실행병렬 코드 리뷰, 멀티 파일 분석

각 도구의 동작 방식

Read — 파일 읽기

Read 도구는 절대 경로를 사용하여 파일을 읽는다.
- 텍스트 파일: 줄 번호와 함께 내용 표시
- 이미지 (PNG, JPG): 멀티모달 분석
- PDF: 특정 페이지 범위 지정 가능 (pages: "1-5")
- Jupyter 노트북: 모든 셀과 출력 표시
- 대용량 파일: offset과 limit으로 부분 읽기

Edit — 정밀 수정

Edit 도구는 파일에서 고유한 문자열을 찾아 정확히 치환하는 방식으로 동작한다. 전체 파일을 덮어쓰지 않기 때문에 안전하다.

작업 흐름:
1. Read로 파일 내용 확인
2. old_string(기존 내용)new_string(새 내용) 지정
3. old_string이 파일 내에서 유일한지 확인
4. 유일하지 않으면 더 많은 주변 컨텍스트를 포함하여 재시도

Bash — 명령 실행

Bash 도구는 셸 명령을 실행한다. 샌드박스 환경에서 보안이 적용되며, 최대 10분(600초)의 타임아웃이 있다.

# Bash 도구로 실행 가능한 작업 예시
npm install express
git status
docker compose up -d
python manage.py migrate
kubectl get pods

Glob & Grep — 검색

Glob은 파일 이름 패턴으로 검색하고, Grep은 파일 내용을 정규 표현식으로 검색한다. 두 도구 모두 ripgrep 기반으로 대규모 코드베이스에서도 빠른 성능을 제공한다.

Glob 예시:
- **/*.ts         → 모든 TypeScript 파일
- src/**/test.*   → src 하위의 모든 테스트 파일
- *.{js,jsx,ts,tsx} → 모든 JavaScript/TypeScript 파일

Grep 예시:
- "TODO|FIXME"              → 모든 TODO/FIXME 코멘트
- "function\s+\w+"          → 함수 선언 검색
- "import.*from\s+'react'"React import 검색

Task — 하위 에이전트

Task 도구는 독립적인 컨텍스트 윈도우를 가진 하위 에이전트를 생성한다. 복잡한 작업을 분할하거나 병렬 처리할 때 사용한다. 자세한 내용은 9장 멀티 에이전트 아키텍처에서 다룬다.


6. Permission 모드

Claude Code는 보안을 위해 4가지 권한 모드를 제공한다. 각 모드는 Claude에게 부여하는 자율성의 수준을 정의한다.

4가지 권한 모드

1. Normal 모드 (기본값)

가장 일반적인 모드로, 읽기 작업은 자동 승인하고 쓰기/실행 작업은 사용자 확인을 요청한다.

자동 승인: Read, Glob, Grep, WebSearch, WebFetch
확인 필요: Edit, Write, Bash, NotebookEdit

대부분의 사용 시나리오(약 85%)에서 적합하다.

2. Plan 모드

읽기 전용 접근만 허용하고, 파일 수정이나 명령 실행은 차단한다. 코드 분석이나 아키텍처 설계 단계에서 사용한다.

자동 승인: Read, Glob, Grep, WebSearch, WebFetch
차단:      Edit, Write, Bash (모든 쓰기 작업)

3. Auto-accept 모드

파일 읽기와 쓰기를 자동 승인하지만, 셸 명령은 여전히 확인을 요청한다. 대규모 리팩토링처럼 반복적인 파일 수정이 필요한 작업에 적합하다.

# Auto-accept 모드로 실행
claude --auto-accept-edits

4. Bypass 모드 (위험)

모든 권한 확인을 건너뛴다. 격리된 CI/CD 환경에서만 사용해야 한다. 로컬 개발 환경에서는 절대 사용하지 않는다.

# CI/CD 전용 — 절대 로컬에서 사용하지 말 것
claude --dangerously-skip-permissions

settings.json으로 세밀한 권한 제어

~/.claude/settings.json (글로벌) 또는 .claude/settings.json (프로젝트)에서 도구별로 세밀한 권한 규칙을 정의할 수 있다.

{
  "permissions": {
    "allow": [
      "Read",
      "Edit",
      "MultiEdit",
      "Write",
      "Glob",
      "Grep",
      "Bash(npm run lint)",
      "Bash(npm run test *)",
      "Bash(git status)",
      "Bash(git diff *)"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(curl *)",
      "Bash(wget *)",
      "WebFetch(domain:internal.company.com)"
    ]
  }
}

규칙 평가 순서는 다음과 같다.

  1. deny 규칙을 먼저 확인 — 매칭되면 무조건 차단
  2. allow 규칙 확인 — 매칭되면 자동 승인
  3. 어디에도 매칭되지 않으면 사용자에게 확인 요청 (ask)

프로젝트별 권한 상속

프로젝트 .claude/settings.jsondeny 규칙은 글로벌 규칙과 병합되지만, allow 규칙은 글로벌 권한을 초과할 수 없다. 이는 악의적인 프로젝트 설정이 시스템 보안을 우회하는 것을 방지한다.

샌드박싱

권한과 별도로 OS 수준의 샌드박싱이 적용된다. 이는 Bash 도구의 파일 시스템 및 네트워크 접근을 물리적으로 제한한다.

  • macOS: Seatbelt 기반 샌드박스
  • Linux: bubblewrap (bwrap) 기반 격리
# 샌드박스 비활성화 (신뢰할 수 있는 환경에서만)
claude --dangerously-disable-sandbox

7. CLAUDE.md 활용법

CLAUDE.md란?

CLAUDE.md는 Claude Code에게 프로젝트의 맥락, 코딩 컨벤션, 빌드 명령어 등을 전달하는 프로젝트 메모리 파일이다. 모든 세션이 시작될 때 자동으로 로드되며, Claude의 응답 품질에 직접적인 영향을 미친다.

메모리 시스템 구조

Claude Code는 두 가지 메모리 시스템을 제공한다.

1. CLAUDE.md (수동 메모리)

개발자가 직접 작성하는 프로젝트 컨텍스트 파일이다. 계층적 구조를 지원한다.

~/.claude/CLAUDE.md글로벌 (모든 프로젝트에 적용)
~/project/CLAUDE.md                 → 프로젝트 루트
~/project/src/CLAUDE.md             → 하위 디렉토리
~/project/src/components/CLAUDE.md  → 더 세부적인 디렉토리

모든 레벨의 CLAUDE.md가 동시에 로드되며, 더 구체적인 레벨이 충돌 시 우선한다.

2. Auto Memory (자동 메모리)

Claude에게 "이거 기억해줘"라고 말하면 자동으로 저장되는 메모리다. 빌드 명령어, 디버깅 인사이트, 아키텍처 메모, 워크플로우 습관 등이 자동으로 축적된다.

> 이 프로젝트에서 테스트는 항상 vitest를 사용한다는 것을 기억해줘

✓ 기억에 저장되었습니다.

CLAUDE.md 작성 모범 사례

효과적인 CLAUDE.md 예시

# 프로젝트 개요

Next.js 14 App Router 기반 기술 블로그. MDX 기반 콘텐츠 관리.

# 기술 스택

- Framework: Next.js 14 (App Router)
- Language: TypeScript 5.3
- Styling: Tailwind CSS v3
- DB: Prisma + PostgreSQL
- Test: Vitest + React Testing Library

# 빌드 및 실행 명령어

- `npm run dev` — 개발 서버
- `npm run build` — 프로덕션 빌드
- `npm run test` — 테스트 실행
- `npm run lint` — ESLint 실행

# 코딩 컨벤션

- 함수 컴포넌트만 사용 (class component 금지)
- named export 우선 (default export는 페이지에서만)
- 에러 처리는 반드시 try-catch로 감싸기
- 변수명은 camelCase, 타입명은 PascalCase
- import 순서: react → 외부 라이브러리 → 내부 모듈 → 스타일

# 아키텍처

- app/ — Next.js App Router 페이지
- components/ — 재사용 컴포넌트
- lib/ — 유틸리티 및 헬퍼
- prisma/ — DB 스키마 및 마이그레이션

# 주의사항

- API Route에서 인증 미들웨어를 항상 적용할 것
- DB 쿼리 시 Prisma의 select를 사용하여 필요한 필드만 가져올 것
- 환경변수는 .env.local에만 저장 (절대 커밋 금지)

작성 원칙

Anthropic 공식 가이드에서 권장하는 CLAUDE.md 작성 원칙은 다음과 같다.

  1. 간결하게 유지: 150줄 이하를 권장한다. 프론티어 LLM은 약 150-200개의 지시를 일관되게 따를 수 있다.
  2. 고신호 정보만 포함: Claude가 코드를 읽고 스스로 추론할 수 있는 내용은 제외한다.
  3. 코드 스니펫 지양: 코드는 빠르게 구식이 된다. 대신 file:line 형태의 참조를 사용한다.
  4. 린터의 역할은 린터에게: 코드 스타일 규칙은 ESLint, Prettier 같은 도구에 맡긴다. LLM으로 스타일을 강제하는 것은 비효율적이다.
  5. 점진적 공개: 모든 내용을 루트 CLAUDE.md에 넣지 말고, 관련 디렉토리별로 분산 배치한다.

8. MCP (Model Context Protocol) 서버 연동

MCP란?

**Model Context Protocol (MCP)**은 AI 모델이 외부 도구, 데이터베이스, API와 상호작용하기 위한 오픈 소스 표준 프로토콜이다. Claude Code는 MCP 클라이언트로서 다양한 MCP 서버에 연결하여 기능을 확장할 수 있다.

MCP 서버 추가 방법

CLI 명령으로 추가

# HTTP 원격 서버 추가
claude mcp add circleback --transport http https://app.circleback.ai/api/mcp

# stdio 로컬 서버 추가
claude mcp add my-tool --type stdio --command node /path/to/tool.js

# 환경 변수와 함께 추가
claude mcp add github-mcp \
  --type stdio \
  --command npx \
  --args "-y @modelcontextprotocol/server-github" \
  --env GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxx

# 서버 목록 확인
claude mcp list

# 서버 제거
claude mcp remove my-tool

settings.json에서 직접 설정

복잡한 설정이 필요한 경우 설정 파일을 직접 편집하는 것이 편리하다.

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx"
      }
    },
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {
        "DATABASE_URL": "postgresql://user:pass@localhost:5432/mydb"
      }
    },
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/docs"]
    }
  }
}

인기 MCP 서버

MCP 서버기능사용 사례
server-githubGitHub API 연동이슈, PR, 리포지토리 관리
server-postgresPostgreSQL 접근DB 스키마 분석, 쿼리 실행
server-filesystem파일 시스템 접근프로젝트 외부 파일 읽기
server-puppeteer브라우저 제어웹 스크레이핑, E2E 테스트
server-slackSlack 연동메시지 검색, 채널 관리
server-notionNotion 연동문서 검색, 노트 관리
server-linearLinear 연동이슈 트래킹, 프로젝트 관리

Claude Code를 MCP 서버로 사용

흥미롭게도 Claude Code 자체를 MCP 서버로 노출할 수 있다. 이를 통해 Claude Desktop, Cursor, Windsurf 같은 다른 MCP 클라이언트에서 Claude Code의 파일 편집 및 명령 실행 기능을 원격으로 호출할 수 있다.

# Claude Code를 MCP 서버로 실행
claude mcp serve

MCP Tool Search는 MCP 서버의 lazy loading을 가능하게 하는 기능이다. 컨텍스트 사용량을 최대 95%까지 줄여주며, 많은 MCP 서버를 등록해도 컨텍스트 한도 걱정 없이 사용할 수 있다.

# MCP 디버그 모드로 문제 진단
claude --mcp-debug

9. 멀티 에이전트 아키텍처

Task Tool: 병렬 처리의 핵심

Claude Code의 멀티 에이전트 시스템은 Task tool을 기반으로 한다. Task tool은 독립적인 컨텍스트 윈도우를 가진 하위 에이전트를 생성하여 병렬로 작업을 수행한다.

Task Tool의 특징

  • 독립 컨텍스트: 각 Task는 메인 대화와 별도의 컨텍스트 윈도우를 갖는다
  • 병렬 실행: 최대 10개의 동시 Task 실행 가능, 초과 시 큐잉
  • 컨텍스트 오염 방지: Task의 작업 결과만 메인 대화에 반환되므로 불필요한 중간 과정이 메인 컨텍스트를 오염하지 않는다
  • 추가 컨텍스트 확보: 대규모 코드베이스에서 사실상 컨텍스트 윈도우를 확장하는 효과

사용 예시

> 다음 3개 모듈의 테스트 코드를 병렬로 작성해줘:
  1. src/auth/login.ts
  2. src/api/users.ts
  3. src/utils/validator.ts

Claude는 이 요청을 받으면 3개의 Task를 동시에 생성하여 각각 독립적으로 테스트 코드를 작성한다.

Subagents: 전문화된 에이전트

Subagent는 Task tool 위에 구축된 영속적이고 전문화된 에이전트다. Markdown 파일로 정의하며, 특정 도메인에 최적화된 시스템 프롬프트, 도구 접근 권한, 독립적 권한 설정을 가진다.

Subagent 정의

## <!-- .claude/agents/security-reviewer.md -->

name: Security Reviewer
description: 보안 취약점을 전문적으로 검토하는 에이전트
tools:

- Read
- Grep
- Glob
- WebSearch

---

당신은 보안 전문가입니다. 코드를 검토할 때 다음 관점에서 분석하세요:

1. OWASP Top 10 취약점
2. 인증/인가 결함
3. 데이터 유출 위험
4. 안전하지 않은 의존성

각 발견에 대해 심각도(Critical/High/Medium/Low)와 수정 제안을 포함하세요.

실행 흐름

사용자 요청
메인 Claude (오케스트레이터)
┌─────────────┬─────────────┬─────────────┐
Task 1Task 2Task 3SecurityPerformanceTestReviewerAnalyzerGenerator└─────────────┴─────────────┴─────────────┘
    ↓                ↓             ↓
결과 수집 및 종합
최종 응답

병렬 vs 순차 패턴

병렬 패턴

독립적인 작업을 동시에 처리할 때 사용한다.

적합한 시나리오:
- 여러 파일의 테스트 코드 생성
- 여러 모듈의 코드 리뷰
- 여러 API 엔드포인트의 문서화
- 다국어 번역

순차 패턴

작업 간 의존성이 있을 때 사용한다. 이전 Subagent의 결과가 다음 Subagent의 입력이 된다.

적합한 시나리오:
- 분석 → 설계 → 구현 → 테스트 파이프라인
- DB 스키마 변경 → 마이그레이션 → API 수정 → 테스트

백그라운드 에이전트

Claude Code는 비동기 에이전트 실행도 지원한다. Sub-agent를 백그라운드로 보내고 다른 작업을 계속할 수 있다.

# Worktree를 생성하여 격리된 환경에서 작업
claude --worktree feature-auth

10. IDE 통합

VS Code 통합

VS Code 확장은 Claude Code의 가장 완성도 높은 IDE 통합이다. 네이티브 UI로 편집과 diff를 표시하며, 터미널 사용 없이도 Claude Code의 모든 기능을 활용할 수 있다.

주요 기능

  • 네이티브 채팅 패널: IDE 내에 통합된 그래픽 인터페이스
  • 체크포인트 기반 Undo: Claude의 변경사항을 그룹 단위로 되돌리기 가능
  • @멘션 파일 참조: @src/auth/login.ts:25-50처럼 특정 파일의 줄 범위를 참조
  • 병렬 대화: 여러 Claude 대화를 별도 탭에서 동시 진행
  • Diff 뷰어: Claude가 제안하는 코드 변경을 IDE의 네이티브 diff 뷰로 검토
  • 대화 기록: 이전 세션의 대화를 검색하고 재개

설치 및 설정

1. VS Code 마켓플레이스에서 "Claude Code" 설치
2. 터미널에 Claude Code CLI가 이미 설치되어 있어야 함
3. 설치 후 사이드바에 Claude 아이콘이 표시됨
4. 클릭하여 채팅 패널 열기

키보드 단축키

Cmd+Shift+P (Mac) / Ctrl+Shift+P (Windows)
"Claude Code" 입력하여 사용 가능한 명령 확인

주요 단축키:
- Claude Code 패널 열기/닫기
- 선택 영역을 Claude에게 보내기
- 현재 파일 컨텍스트로 Claude 시작

JetBrains 통합

JetBrains IDE(IntelliJ, WebStorm, PyCharm 등)에서도 Claude Code 플러그인을 사용할 수 있다.

설치

1. JetBrains Marketplace에서 "Claude Code [Beta]" 검색
2. Install 클릭
3. IDE 재시작

특징

  • CLI를 IDE의 통합 터미널 내에서 실행
  • 코드 변경을 IDE의 네이티브 diff 뷰어로 표시
  • ~/.claude/settings.json 설정을 VS Code와 공유

Cursor와의 비교: 차별점은?

Claude Code와 Cursor는 AI 코딩 도구이지만 접근 방식이 다르다.

항목Claude CodeCursor
형태CLI + IDE Extension독립 IDE (VS Code fork)
실행 환경터미널, SSH, Docker, CI/CD 어디서든Cursor IDE 내에서만
모델Claude 전용 (Sonnet/Opus/Haiku)멀티 모델 (Claude, GPT-4o, o3 등)
과금소비 기반 (토큰당) 또는 Pro/Max 구독월정액 ($20/40)
강점터미널 통합, 자동화, CI/CD, MCP코드베이스 인덱싱, 인라인 편집
에이전트Task tool, Subagent, 병렬 10개Composer Agent Mode
커스터마이징CLAUDE.md, 훅, MCP, 커스텀 커맨드.cursorrules, 커스텀 모델

Claude Code가 유리한 시나리오: 터미널 중심 워크플로우, CI/CD 자동화, 원격 서버 작업, 대규모 리팩토링, MCP 생태계 활용

Cursor가 유리한 시나리오: GUI 중심 개발, 인라인 코드 완성, 멀티 모델 전환, Tab-completion 속도


11. 커스텀 훅

훅이란?

Hooks는 Claude Code의 생명주기 특정 시점에서 실행되는 사용자 정의 셸 명령이다. LLM에 의존하지 않고 결정론적(deterministic)으로 동작을 제어한다.

이벤트 종류

Claude Code는 다음 이벤트에서 훅을 실행할 수 있다.

이벤트시점사용 사례
PreToolUse도구 실행 전위험한 작업 차단, 입력 검증
PostToolUse도구 실행 후코드 포맷팅, 린팅, 테스트 실행
NotificationClaude가 알림을 보낼 때슬랙 알림, 사운드 재생
Stop응답 완료 시로그 기록, 정리 작업

훅 설정 방법

방법 1: /hooks 커맨드 (대화형)

/hooks
→ 이벤트 선택 (: PostToolUse)
→ 매처 패턴 (: Edit|Write)
명령어 (: npx prettier --write $FILE)

방법 2: settings.json 직접 편집

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "command": "npx prettier --write $(echo $TOOL_INPUT | jq -r '.file_path')"
      }
    ],
    "PreToolUse": [
      {
        "matcher": "Bash",
        "command": "echo $TOOL_INPUT | jq -r '.command' | grep -q 'rm -rf /' && exit 1 || exit 0"
      }
    ]
  }
}

훅 통신 프로토콜

훅은 stdin, stdout, stderr, exit code를 통해 Claude Code와 통신한다.

stdin:     이벤트별 JSON 데이터 (파일 경로, 도구 입력 등)
stdout:    Claude에게 전달할 메시지
stderr:    로깅 (Claude에게 전달되지 않음)
exit code: 0 = 성공/계속, 1 = 차단/중단, 2 = 에러

실전 훅 예시

자동 코드 포맷팅 (PostToolUse)

Claude가 파일을 수정할 때마다 자동으로 Prettier를 실행한다.

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "command": "FILE=$(echo $TOOL_INPUT | jq -r '.file_path') && npx prettier --write \"$FILE\" 2>/dev/null || true"
      }
    ]
  }
}

위험한 명령 차단 (PreToolUse)

rm -rf /, DROP TABLE 같은 위험한 명령을 사전 차단한다.

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "command": "CMD=$(echo $TOOL_INPUT | jq -r '.command') && echo \"$CMD\" | grep -qE '(rm -rf /|DROP TABLE|format c:)' && echo 'BLOCKED: Dangerous command detected' && exit 1 || exit 0"
      }
    ]
  }
}

자동 린트 검사 (PostToolUse)

파일 수정 후 자동으로 ESLint를 실행한다.

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "command": "FILE=$(echo $TOOL_INPUT | jq -r '.file_path') && [[ \"$FILE\" =~ \\.(ts|tsx|js|jsx)$ ]] && npx eslint --fix \"$FILE\" 2>/dev/null || true"
      }
    ]
  }
}

12. Git 통합

커밋 워크플로우

Claude Code의 Git 통합은 단순히 git 명령을 대신 실행하는 것을 넘어, 변경사항을 분석하고 의미 있는 커밋 메시지를 자동 생성한다.

기본 커밋

> 현재 변경사항을 커밋해줘

Claude는 다음 과정을 거친다.

  1. git status로 변경 파일 확인
  2. git diff로 변경 내용 분석
  3. git log로 기존 커밋 메시지 스타일 파악
  4. 변경 내용을 분석하여 커밋 메시지 작성
  5. 관련 파일만 선택적으로 git add
  6. 커밋 생성 및 결과 확인

선택적 스테이징

> auth/ 디렉토리의 변경사항만 커밋해줘
> 테스트 파일은 제외하고 커밋해줘
> 보안 관련 변경만 별도 커밋으로 분리해줘

커밋 모범 사례

Claude Code는 다음 원칙을 따른다.

  • 민감 파일(.env, credentials 등)은 자동으로 제외
  • git add -A 대신 개별 파일을 명시적으로 스테이징
  • pre-commit hook을 존중 (--no-verify 사용 금지)
  • 기존 커밋 메시지 스타일을 참고하여 일관성 유지
  • --amend 대신 새 커밋 생성을 기본으로 함

PR 생성

> 현재 변경사항으로 PR을 생성해줘

Claude는 gh pr create를 사용하여 다음을 수행한다.

  1. 브랜치의 모든 커밋을 분석 (최신 커밋뿐 아니라 전체)
  2. PR 제목 작성 (70자 이내)
  3. 요약, 변경사항 목록, 테스트 체크리스트를 포함한 PR 본문 작성
  4. 원격 브랜치에 push
  5. PR 생성 후 URL 반환

PR 본문 형식

## Summary

- 인증 모듈에 JWT 리프레시 토큰 로직을 추가
- 토큰 만료 시 자동 갱신 처리 구현

## Test plan

- [ ] 리프레시 토큰 발급 테스트
- [ ] 만료된 토큰 갱신 테스트
- [ ] 잘못된 리프레시 토큰 거부 테스트

코드 리뷰

> 현재 변경사항을 리뷰해줘
>PR의 보안 관점 리뷰를 수행해줘

Claude는 diff를 분석하여 다음을 검토한다.

  • 잠재적 버그 및 논리 오류
  • 보안 취약점
  • 성능 문제
  • 코딩 컨벤션 준수 여부
  • 테스트 커버리지

각 발견에 대해 신뢰도 점수(0-100)를 부여하며, 80 이상은 높은 확률로 실제 문제다.

GitHub Actions 통합

Claude Code는 claude-code-action을 통해 GitHub Actions에서 자동 코드 리뷰를 수행할 수 있다.

# .github/workflows/claude-review.yml
name: Claude Code Review
on:
  pull_request:
    types: [opened, synchronize]
  issue_comment:
    types: [created]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          # PR 코멘트에서 @claude 멘션 시 자동 응답
          trigger_phrase: '@claude'

설치 간소화

# Claude Code 내에서 GitHub App 자동 설치
/install-github-app

이 명령은 GitHub App 설정, 시크릿 등록, 워크플로우 파일 생성까지 안내한다.


13. 고급 활용 패턴

13.1 대규모 리팩토링

대규모 리팩토링은 Claude Code가 가장 빛나는 사용 사례 중 하나다.

전략: 점진적 접근

Step 1: 분석
> 이 프로젝트에서 class component를 사용하는 모든 파일을 찾아줘

Step 2: 계획
> 이 컴포넌트들을 function component로 변환하는 계획을 세워줘.
  변환 순서, 의존성, 위험 요소를 포함해서.

Step 3: 실행 (Auto-accept 모드 권장)
> 계획대로 src/components/Header.tsx부터 변환을 시작해줘

Step 4: 검증
> 변환된 파일들의 테스트를 실행하고 결과를 알려줘

Subagent 활용 병렬 리팩토링

독립적인 모듈을 병렬로 리팩토링하면 작업 시간을 크게 단축할 수 있다.

> 다음 3개 모듈을 병렬로 리팩토링해줘:
  1. src/auth/classfunction component
  2. src/api/ — callback → async/await
  3. src/utils/CommonJSES Module
  각각의 테스트도 함께 수정해줘.

13.2 테스트 코드 자동 생성

기본 테스트 생성

> src/utils/validator.ts의 모든 함수에 대한 unit test를 작성해줘.
  edge case와 에러 케이스도 포함해줘.

테스트 전략 지정

> src/api/users.ts의 통합 테스트를 작성해줘.
  - Vitest + Supertest 사용
  - 테스트 DBSQLite in-memory
  - 각 테스트 전후로 DB 초기화
  - 인증/비인증 경우 모두 테스트
  - 에러 응답 형식도 검증

커버리지 향상

> npm run test -- --coverage 결과를 분석하고,
  커버리지가 80% 미만인 파일들의 테스트를 보강해줘.

13.3 디버깅 워크플로우

에러 로그 분석

# 에러 로그를 직접 파이프
npm run build 2>&1 | claude -p "이 빌드 에러를 분석하고 수정해줘"

# 스택 트레이스 분석
cat crash.log | claude -p "이 크래시의 근본 원인을 찾아줘"

대화형 디버깅

> TypeError: Cannot read properties of undefined (reading 'map')
  이 에러가 src/components/UserList.tsx에서 발생해.
  원인을 찾고 수정해줘.

Claude는 다음 과정을 수행한다.

  1. 해당 파일을 읽어서 코드 분석
  2. 관련 데이터 흐름 추적 (상위 컴포넌트, API 호출 등)
  3. undefined가 발생하는 조건 식별
  4. 수정 코드 제안 및 적용
  5. 동일 패턴의 다른 잠재적 버그 검색

성능 프로파일링

>API 엔드포인트의 응답 시간이 3초 이상이야.
  코드를 분석하고 성능 개선 방안을 제안해줘.
  특히 N+1 쿼리, 불필요한 반복, 캐싱 가능 지점을 중심으로.

13.4 문서화 자동화

JSDoc / TSDoc 생성

> src/lib/ 디렉토리의 모든 public 함수에 JSDoc을 작성해줘.
  파라미터 타입, 반환값, 예시를 포함해줘.

API 문서화

> src/api/ 디렉토리의 모든 REST 엔드포인트를
  OpenAPI 3.0 스펙으로 문서화해줘.

변경 로그 생성

> 최근 10개 커밋을 분석하여 CHANGELOG 항목을 작성해줘.
  Keep a Changelog 형식을 사용해줘.

14. Claude Code vs 경쟁 도구 비교

AI 코딩 도구 시장은 2026년 기준 약 $34.58B 규모이며, 전문 개발자의 62%가 AI 코딩 도구를 사용하고 있다. 주요 도구를 비교한다.

상세 비교표

항목Claude CodeGitHub CopilotCursorWindsurfOpenAI Codex
형태CLI + ExtensionIDE Extension독립 IDE독립 IDECloud Agent
모델Claude 전용멀티 모델멀티 모델멀티 모델GPT/Codex 전용
에이전트Task/SubagentCopilot AgentComposer AgentCascade/FlowsCloud Sandbox
병렬 처리최대 10개멀티 에이전트단일 Agent단일 Agent격리 컨테이너
가격20Pro/20 Pro / 100 Max$10-39/월$20-40/월$15/월~API 기반
SWE-bench57.5% (최고)---77.3% (Terminal)
특장점터미널 통합, MCP생태계, 4.7M 사용자코드 인덱싱, UIFlows 문맥 유지격리 샌드박스
GitHub 점유율4% of commits최대---

각 도구의 이상적인 사용 시나리오

Claude Code를 선택해야 할 때

  • 터미널 중심 워크플로우로 작업할 때
  • CI/CD 파이프라인에 AI를 통합할 때
  • MCP를 통해 외부 도구와 연동이 필요할 때
  • 대규모 리팩토링이나 멀티 파일 작업이 빈번할 때
  • SSH 원격 서버나 Docker 컨테이너에서 작업할 때

GitHub Copilot을 선택해야 할 때

  • GitHub 생태계 중심으로 작업할 때
  • 팀 전체가 동일한 도구를 사용해야 할 때
  • 무료 또는 저렴한 비용으로 시작하고 싶을 때
  • VS Code에서 인라인 완성에 집중할 때

Cursor를 선택해야 할 때

  • GUI 기반 개발을 선호할 때
  • 코드베이스 인덱싱과 시맨틱 검색이 중요할 때
  • 여러 AI 모델을 유연하게 전환하고 싶을 때
  • 인라인 편집과 Tab 완성 속도가 중요할 때

실전 조합 추천

많은 개발자들은 여러 도구를 상황에 따라 조합하여 사용한다.

일상 코딩:        Cursor (인라인 완성) + Claude Code (복잡한 작업)
코드 리뷰:        Claude Code (GitHub Actions 자동 리뷰)
리팩토링:         Claude Code (터미널에서 대규모 작업)
빠른 프로토타입:   Cursor (GUI로 빠른 반복)
CI/CD 자동화:     Claude Code (헤드리스 모드)

15. 비용 최적화 팁

요금 체계 이해

Claude Code의 비용은 사용하는 플랜에 따라 다르다.

구독 플랜

플랜월 요금Claude Code 포함특징
Free$0미포함Claude Code 사용 불가
Pro$20포함 (사용량 제한)일반 사용자 적합
Max 5x$100포함 (Pro의 5배)중급 사용자 적합
Max 20x$200포함 (Pro의 20배)고급 사용자 적합

API 직접 사용 (Console)

모델입력 (1M 토큰)출력 (1M 토큰)캐시 읽기캐시 쓰기
Opus$15$75$1.50$18.75
Sonnet$3$15$0.30$3.75
Haiku$0.80$4$0.08$1.00

Anthropic에 따르면 평균적으로 개발자당 하루 약 6이며,906이며, 90%의 사용자가 하루 12 이하다.

비용 절약 전략

1. 적절한 모델 선택

단순 작업 (파일 검색, 간단한 수정):  Haiku  → 비용 75% 절약
일반 작업 (코딩, 디버깅):            Sonnet → 기본값
복잡한 작업 (아키텍처, 리팩토링):    Opus   → 필요할 때만

2. /compact 적극 활용

# 세션 비용 확인
/cost

# 대화 압축
/compact

# 압축 후 비용 확인 — 보통 40-60% 토큰 절약
/cost

3. 프롬프트 캐싱 활용

Claude Code는 자동으로 프롬프트 캐싱을 적용한다. 반복되는 시스템 프롬프트와 CLAUDE.md 내용은 캐시되어 비용이 절감된다. 캐시 읽기 비용은 입력 비용의 **10%**에 불과하다.

4. Auto-compaction 활용

컨텍스트 한도에 도달하면 자동으로 대화를 요약한다. 이를 신뢰하되, 중요한 맥락이 손실되지 않도록 큰 주제 전환 시에는 /clear로 새 세션을 시작하는 것이 효율적이다.

5. 구체적인 프롬프트 작성

모호한 요청보다 구체적인 요청이 불필요한 탐색을 줄여 토큰을 절약한다.

"이 코드를 개선해줘"
"src/api/users.ts의 getUserById 함수에서 N+1 쿼리를 Prisma include로 최적화해줘"

6. 플랜 선택 가이드

월 50M 토큰 미만:     Pro ($20) 또는 API pay-as-you-go
50-200M 토큰:      Max 5x ($100) — 가장 효율적
월 200M 토큰 이상:    Max 20x ($200) 또는 Enterprise

16. 트러블슈팅 가이드

일반적인 문제와 해결법

문제 1: "command not found: claude"

설치 후 가장 흔한 문제다.

# PATH 확인
which claude

# npm 글로벌 경로 확인
npm list -g --depth=0

# 재설치
npm install -g @anthropic-ai/claude-code

# 네이티브 재설치
curl -fsSL https://claude.ai/install.sh | bash

# 셸 재시작
exec zsh  # 또는 exec bash

문제 2: 인증 오류

# 로그아웃 후 재인증
claude auth logout
claude auth login

# API 키 사용 시 환경변수 확인
echo $ANTHROPIC_API_KEY

# API 키 유효성 테스트
claude "Hello" --verbose

문제 3: Node.js 버전 호환성

# Node.js 버전 확인
node --version

# v18 미만이면 업데이트
nvm install 18
nvm use 18

# 또는 네이티브 설치로 전환 (Node.js 의존성 없음)
curl -fsSL https://claude.ai/install.sh | bash

문제 4: MCP 서버 연결 실패

# MCP 디버그 모드로 진단
claude --mcp-debug

# MCP 서버 목록 확인
claude mcp list

# 특정 서버 로그 확인
claude mcp logs my-server

# 서버 재시작
claude mcp remove my-server
claude mcp add my-server --type stdio --command node /path/to/server.js

문제 5: 컨텍스트 윈도우 초과

# 증상: 응답 품질 저하, 이전 맥락 망각

# 해결 1: 대화 압축
/compact

# 해결 2: 새 세션 시작
/clear

# 해결 3: Task tool로 작업 분할 (각 Task는 독립 컨텍스트)
> 이 작업을 3개의 하위 작업으로 분할해서 처리해줘

문제 6: 느린 응답 속도

# 모델 변경 (Opus → Sonnet → Haiku)
/model

# 불필요한 MCP 서버 제거
claude mcp list
claude mcp remove unused-server

# 캐시 초기화
claude cache clear

진단 체크리스트

문제가 발생했을 때 다음 순서로 진단한다.

# 1. 설치 상태 확인
claude --version

# 2. 환경 자동 진단
claude doctor

# 3. 상세 로그 출력
claude --verbose "테스트"

# 4. MCP 서버 진단
claude --mcp-debug

# 5. 설정 파일 확인
cat ~/.claude/settings.json

# 6. 네트워크 확인
curl -I https://api.anthropic.com

17. Claude Agent SDK: 프로그래매틱 활용

Claude Code의 기능을 프로그래밍 방식으로 사용하려면 Claude Agent SDK (@anthropic-ai/claude-agent-sdk)를 활용한다.

설치 및 기본 사용

npm install @anthropic-ai/claude-agent-sdk
import { query } from '@anthropic-ai/claude-agent-sdk'

// 기본 쿼리
const response = await query({
  prompt: 'src/auth 디렉토리의 보안 취약점을 분석해줘',
  model: 'claude-sonnet-4-6',
  maxTokens: 4096,
})

for await (const message of response) {
  console.log(message)
}

주요 API

API설명
query()스트리밍 방식의 프롬프트 실행
tool()커스텀 도구 정의 (Zod 스키마 기반)
createSdkMcpServer()인프로세스 MCP 서버 생성

CI/CD 파이프라인 예시

import { query } from '@anthropic-ai/claude-agent-sdk'

async function reviewPR(diff: string): Promise<string> {
  const response = await query({
    prompt: `다음 PR diff를 리뷰해줘:\n${diff}`,
    model: 'claude-sonnet-4-6',
    systemPrompt:
      '당신은 시니어 소프트웨어 엔지니어입니다. 보안, 성능, 코드 품질 관점에서 리뷰하세요.',
    permissions: { allowRead: true, allowWrite: false, allowBash: false },
  })

  let result = ''
  for await (const message of response) {
    result += message.content
  }
  return result
}

18. 참고 자료

공식 문서

GitHub

npm

API 및 가격

커뮤니티