Claude Code 완전 가이드 · 4 min read
Settings & MCP
Claude Code의 5단계 설정 계층, 권한 모드, 그리고 외부 도구 연결(MCP)을 다룹니다.
설정 계층 구조 (5단계)
| 우선순위 | 위치 | 범위 |
|---|---|---|
| 1 (최고) | Managed (MDM / managed-settings.json) | 조직 강제 — 오버라이드 불가 |
| 2 | CLI 인수 | 단일 세션 |
| 3 | .claude/settings.local.json | 개인 프로젝트 설정 (git-ignored) |
| 4 | .claude/settings.json | 팀 공유 설정 |
| 5 (최저) | ~/.claude/settings.json | 글로벌 개인 기본값 |
권한 모드 (Permission Modes)
| 모드 | 동작 | 사용 시나리오 |
|---|---|---|
default | 표준 권한 검사 + 프롬프트 | 일반 개발 |
acceptEdits | 파일 편집 자동 승인, 나머지는 프롬프트 | 신뢰할 수 있는 편집 작업 |
plan | 읽기 전용 탐색만 허용 | 코드 리뷰, 설계 단계 |
dontAsk | 미승인 도구 자동 거부 | 명시적 allow 목록과 조합 |
bypassPermissions | 모든 검사 건너뛰기 | 격리된 컨테이너/VM에서만! |
권한 문법
{
"permissions": {
"allow": [
"Edit(*)",
"Write(*)",
"Bash(npm run *)",
"Bash(bun *)",
"mcp__playwright__*"
],
"deny": ["Bash(rm -rf *)"],
"ask": ["Bash(git push *)", "Bash(docker *)"]
}
}TIP:
--dangerously-skip-permissions대신/permissions로 안전한 명령을 화이트리스트하세요. 와일드카드를 활용하면 편리합니다:Bash(bun run *),Edit(/docs/**)— Boris Cherny
MCP (Model Context Protocol)
외부 도구, 데이터베이스, API를 Claude Code에 연결하는 프로토콜입니다.
INFO: 기본 활성화된 MCP Tool Search 기능은 MCP 도구를 동적으로 로드하여 컨텍스트 소비를 최대 85% 절감합니다. 모든 도구를 미리 로드하지 않고, 필요할 때만 스키마를 가져옵니다.
추천 MCP 서버
| 서버 | 역할 |
|---|---|
| Context7 | 라이브러리 문서를 최신 상태로 가져옴 (할루시네이션 방지) |
| Playwright | 브라우저 자동화 — 스크린샷, 폼 테스트, UI 검증 |
| Claude in Chrome | 실제 Chrome 연결 — 콘솔, 네트워크, DOM 검사 |
| DeepWiki | GitHub 레포의 구조화된 문서 가져오기 |
MCP 스코프
| 스코프 | 위치 | 용도 |
|---|---|---|
| Project | .mcp.json | 팀 공유, git에 커밋 |
| User | ~/.claude.json | 전 프로젝트 개인 서버 |
| Subagent | 에이전트 frontmatter mcpServers: | 특정 에이전트 전용 |
WARNING: MCP는 대부분의 경우 불필요합니다. 에이전트는 표준 CLI 도구를 효과적으로 사용합니다. Playwright 같은 대안이 없는 경우에만 MCP를 사용하세요. 상태가 없는 도구(Jira, AWS, GitHub)는 간단한 CLI로 마이그레이션하세요. — Armin Ronacher