Claude Code CLI - MCP 서버 인증 방식

Claude Code CLI는 인터랙티브 OAuth를 사용하여 MCP 서버 인증을 자동으로 처리합니다.

핵심 차이

항목Claude Code CLILangChain (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를 네이티브로 지원합니다:

  1. 인증 흐름

    • MCP 서버가 401 응답 + WWW-Authenticate 헤더를 주면
    • Claude CLI가 자동으로 authorization server를 discover
    • 자신을 동적으로 client로 등록 (Dynamic Client Registration)
    • 브라우저를 열어서 사용자 로그인 + 승인 화면을 띄움
    • 인증 완료 후 access token + refresh token을 받아서 안전하게 저장
  2. 특징

    • 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-official

2.2 Claude Code 실행 후 인증

  1. 터미널에서 claude 실행 (또는 이미 실행 중인 세션에서)
  2. 채팅 창에 /mcp 입력
  3. 목록에서 figma 서버 선택
  4. Authenticate (또는 Authenticate / Login) 선택
  5. 자동으로 브라우저가 열림 → Figma 계정 로그인 → Claude Code 권한 승인
  6. 성공하면 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 저장 위치
macOSKeychain
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)