Claude Code CLI - MCP 서버 인증 방식
Claude Code CLI는 인터랙티브 OAuth를 사용하여 MCP 서버 인증을 자동으로 처리합니다.
핵심 차이
| 항목 | Claude Code CLI | LangChain (langchain-mcp-adapters) |
|---|---|---|
| 인증 방식 | Interactive OAuth (브라우저 팝업) | Headless (직접 token 또는 httpx.Auth) |
| Dynamic Client Registration | 자동 지원 | 직접 구현해야 함 |
| Token 관리 | 자동 refresh + Keychain/credentials.json | 개발자가 직접 refresh 로직 작성 |
| 사용자 편의성 | 매우 쉬움 (한 번 승인) | 프로그래밍 방식으로 복잡 |
| headless 서버용 | 불가능 (브라우저 필요) | 완벽 지원 |
1. Claude Code CLI의 MCP 인증 방식 (OAuth 2.1 기반)
Claude Code는 OAuth 2.1 + Dynamic Client Registration (DCR) + PKCE를 네이티브로 지원합니다:
-
인증 흐름
- MCP 서버가 401 응답 + WWW-Authenticate 헤더를 주면
- Claude CLI가 자동으로 authorization server를 discover
- 자신을 동적으로 client로 등록 (Dynamic Client Registration)
- 브라우저를 열어서 사용자 로그인 + 승인 화면을 띄움
- 인증 완료 후 access token + refresh token을 받아서 안전하게 저장
-
특징
- Figma remote MCP처럼 OAuth가 필수인 서버에 완벽하게 맞춰져 있음
- 사용자가 한 번 브라우저로 승인하면 끝
- 매번 세션 시작할 때 자동으로 refresh token 사용 (대부분 자동)
2. 실제 인증 단계 (Figma 예시)
가장 추천되는 방법 (공식 가이드 기준)
2.1 서버 추가
직접 추가:
claude mcp add --transport http figma https://mcp.figma.com/mcp또는 플러그인으로 더 쉽게:
claude plugin install figma@claude-plugins-official2.2 Claude Code 실행 후 인증
- 터미널에서
claude실행 (또는 이미 실행 중인 세션에서) - 채팅 창에
/mcp입력 - 목록에서
figma서버 선택 Authenticate(또는Authenticate / Login) 선택- 자동으로 브라우저가 열림 → Figma 계정 로그인 → Claude Code 권한 승인
- 성공하면 CLI에 아래 메시지가 나옴:
✓ Authentication successful. Connected to figma
2.3 이후
- 매번 세션 시작할 때 자동으로 refresh token을 사용해 재인증 (대부분 자동)
- token은 macOS Keychain 또는
~/.claude/.credentials.json(Linux/Windows)에 안전하게 저장됨 - 서버 설정 자체는
~/.claude.json에 저장 (token은 여기 안 들어감)
3. 추가 명령어 & 팁
인증만 따로 하고 싶을 때 (일부 버전에서 지원)
claude mcp auth figma이미 추가된 서버 목록 확인
claude mcp list정적 토큰(예: Personal Access Token)인 경우
claude mcp add --transport http figma https://mcp.figma.com/mcp \
--header "Authorization: Bearer YOUR_FIGMA_TOKEN"- (OAuth가 아닌 경우에만 사용)
4. Token 저장 위치
| 플랫폼 | Token 저장 위치 |
|---|---|
| macOS | Keychain |
| Linux/Windows | ~/.claude/.credentials.json |
| 서버 설정 | ~/.claude.json (token은 여기 안 들어감) |
5. 결론
Claude Code CLI는 **“사용자가 한 번 브라우저로 승인하면 끝”**이라는 철학으로 만들어졌습니다.
- Figma, GitHub, Notion 등 대부분의 remote MCP 서버가 OAuth를 요구해도 거의 클릭 몇 번으로 끝납니다.
- LangChain 에이전트에 붙일 때는 반대로 프로그래밍 방식으로 token을 미리 확보해야 합니다.
관련
- MCP
- Claude Code
- OAuth 2.1
Source: 정석님 공유 (2026-03-29)