GitHub PAT·OAuth 설정과 API 키 안전 관리
MCP 서버로의 인증 설정을 이해하고, API 키와 OAuth 양쪽 방식으로 안전하게 접속할 수 있게 됩니다. 인증 정보 관리의 베스트 프랙티스를 습득합니다.
MCP 서버가 외부 서비스(GitHub, 데이터베이스, 클라우드 API 등)와 연계하는 경우, 액세스 권한의 확인이 필요해집니다. 인증 없이는 다음과 같은 리스크가 있습니다.
불법 액세스에 의한 데이터 유출
의도하지 않은 조작의 실행
API 이용 제한의 관리 불가
� 한국 개발 환경에서의 인증 리스크
GitHub PAT 유출은 소스 코드 유출·CI/CD 파이프라인 탈취로 이어질 수 있습니다. 특히 GitHub Actions와 연동하는 PAT나 AWS 액세스 키는 즉각적인 피해로 이어지므로, 스코프와 관리 방법에 각별한 주의가 필요합니다.
MCP에서는 서버마다 적절한 인증 방식을 설정합니다.
API 키(Personal Access Token 포함)는 서비스가 발행하는 문자열을 요청에 포함하여 송신하는 방식입니다.
심플하지만, 키의 유출 리스크를 관리할 필요가 있습니다.
OAuth는 사용자를 대신하여 애플리케이션이 리소스에 액세스하기 위한 인가 프레임워크입니다. 토큰의 자동 갱신이나 스코프의 세밀한 제어가 가능합니다.
Claude Code에서는 OAuth 계열 연계가 가능하며, 대응하는 MCP 서버가 OAuth 인증 플로우를 처리합니다.
먼저, 인증이 불필요한 filesystem MCP 서버가 정상적으로 동작하고 있는지 확인합니다.
cd ~/mcp-workspace
claude mcp get filesystem
filesystem MCP 서버는 로컬 파일에 액세스하기만 하므로 외부 서비스로의 인증은 불필요합니다. 이것이 가장 심플한 케이스입니다.
GitHub MCP 서버의 인증에는 Personal Access Token(PAT)을 사용합니다.
방법 A: GitHub 웹사이트에서 작성 (Classic 토큰)
1. GitHub에 로그인
2. Settings > Developer settings > Personal access tokens > Tokens (classic)
3. "Generate new token (classic)"을 클릭
4. 다음 스코프를 선택:
repo (리포지토리로의 풀 액세스)
read:org (조직 정보의 읽기)
5. 토큰을 생성하고, 안전한 장소에 복사
방법 B: Fine-grained tokens (권장 - 최소 권한 원칙)
1. Settings > Developer settings > Personal access tokens > Fine-grained tokens
2. "Generate new token"을 클릭
3. 접근을 허용하는 리포지토리를 지정 (전체 대신 특정 리포지토리만)
4. 필요한 권한만 선택 (Contents: Read, Metadata: Read 등)
� Fine-grained tokens를 권장하는 이유
Classic 토큰은 스코프 범위가 넓어 한 번 유출되면 피해가 큽니다. Fine-grained tokens는 특정 리포지토리·특정 권한만 허용할 수 있어 최소 권한 원칙을 준수할 수 있습니다.
지금 바로 작가의 멤버십 구독자가 되어
멤버십 특별 연재 콘텐츠를 모두 만나 보세요.
오직 멤버십 구독자만 볼 수 있는,
이 작가의 특별 연재 콘텐츠