MCP OAuth 인증
Bob은 사용자 위임 액세스가 필요한 MCP 서버를 위해 OAuth 2.1을 지원합니다. Bob은 토큰 갱신을 포함한 인증 흐름을 자동으로 처리하므로 토큰을 수동으로 관리할 필요가 없습니다.
일반적인 MCP 구성은 Bob에서 MCP 사용을 참조하세요.
개요
일부 MCP 서버는 GitHub 리포지토리를 읽거나 Google Drive 파일에 액세스하는 등 사용자로서 당신을 대신하여 작동해야 합니다. 이러한 서버는 데이터에 액세스하기 전에 동의를 요청하기 위해 OAuth 2.1을 사용합니다.
Bob은 전체 OAuth 흐름을 자동으로 처리합니다. OAuth가 필요한 서버에 연결하면 MCP 설정에서 인증 필요 경고와 함께 서버가 표시되고 인증 버튼이 나타납니다. 버튼을 클릭하여 브라우저에서 인증 흐름을 엽니다. 인증 후 Bob은 추가 수동 단계 없이 토큰 저장 및 갱신을 관리합니다.
이는 서비스 계정이나 만료되지 않는 토큰에 적합한 headers의 Bearer 토큰이나 env의 API 키와 같은 정적 인증 방법과 다릅니다. 다음과 같은 경우 OAuth를 사용하세요:
- 서버가 사용자 계정이 소유한 리소스에 대한 액세스가 필요한 경우
- 서버의 인증 서버가 갱신해야 하는 단기 토큰을 발급하는 경우
- MCP 구성 파일에 장기 비밀을 저장하지 않으려는 경우
인증 흐름 작동 방식
- OAuth 지원 MCP 서버를 구성 파일에 추가합니다(
headers또는env자격 증명 불필요) - Bob이 처음 서버에 연결하면 서버의 OAuth 인증 메타데이터를 감지합니다
- Bob은 로그인하고 동의를 부여하도록 요청하는 브라우저 기반 인증 프롬프트를 엽니다
- 인증 후 Bob은 세션 간에 액세스 및 갱신 토큰을 안전하게 저장합니다
- Bob은 토큰이 만료되기 전에 자동으로 갱신합니다. 갱신이 실패하지 않는 한 다시 프롬프트가 표시되지 않습니다.
Bob IDE Authorization Server MCP Server
| | |
|-- connect to server ---------->| |
|<-- OAuth metadata (401) -------| |
|-- open auth prompt ----------->| |
| (user signs in & consents) | |
|<-- authorization code ---------| |
|-- exchange for tokens -------->| |
|<-- access + refresh tokens ----| |
|-- authenticated requests ---------------------------------> |
| (auto-refresh when needed) |OAuth 지원 서버 구성
OAuth 지원 MCP 서버는 인증 요구 사항을 자동으로 알립니다. 대부분의 경우 서버 URL만 필요하며 OAuth 필드는 선택 사항입니다. Bob은 다음과 같은 선택적 OAuth 속성도 지원합니다:
oauth: 서버에 대해 OAuth를 비활성화하려면false로 설정하거나 명시적으로 활성화하려면true로 설정clientId: 인증 서버에서 필요한 경우 OAuth 클라이언트 IDclientSecret: 인증 서버에서 필요한 경우 OAuth 클라이언트 시크릿scope: 요청할 OAuth 범위의 공백으로 구분된 목록
구성 예:
{
"mcpServers": {
"my-oauth-server": {
"url": "https://your-server-url.com/mcp"
}
}
}Bob은 연결할 때 OAuth 요구 사항을 감지하고 흐름을 시작합니다. headers 또는 env 자격 증명이 필요하지 않습니다.
OAuth 지원 서버에 정적 Authorization 헤더를 추가하면 자동 OAuth가 완전히 비활성화됩니다. Bob은 OAuth 흐름을 시도하지 않습니다. 반대로 OAuth가 활성화되면 Bob은 요청을 보내기 전에 정적 Authorization 헤더를 제거합니다. 한 가지 방법만 사용하세요.
프롬프트가 표시되면 인증
Bob이 OAuth 지원 서버에 처음 연결할 때:
- IDE에 인증 프롬프트가 나타납니다
- 서버가 요청하는 권한을 검토합니다
- 필요한 계정으로 로그인하고 동의를 부여합니다
- Bob이 토큰을 저장하고 자동으로 연결을 완료합니다
프롬프트는 인증 서버에 따라 브라우저 창이나 임베디드 웹뷰에 나타날 수 있습니다.
인증 상태 보기 및 관리
MCP 서버의 인증을 확인하거나 관리하려면:
- Bob 패널에서 아이콘을 클릭합니다.
- MCP 탭을 선택합니다.
- 목록에서 서버를 찾습니다.
인증된 서버는 연결된 상태 표시기를 표시합니다. 인증이 만료되었거나 취소된 경우 서버는 오류 상태를 표시합니다.
재인증하려면: 서버 옆의 을 클릭하여 연결을 다시 시작합니다. Bob이 인증 프롬프트를 다시 엽니다.
문제 해결
인증 프롬프트가 나타나지 않음
- 구성에서 서버가 비활성화로 표시되지 않았는지 확인합니다
- MCP 설정 탭에서 서버를 다시 시작합니다
- 브라우저나 웹뷰가 인증 페이지를 차단하지 않는지 확인합니다
인증은 성공하지만 서버가 연결에 실패함
- 서버 URL이 올바르고 연결 가능한지 확인합니다
- 동의 단계에서 필요한 모든 권한을 부여했는지 확인합니다
- 추가 설정 요구 사항은 서버 문서를 검토합니다
토큰이 자주 만료되고 재인증이 필요함
- 인증 서버가 갱신 토큰을 지원하는지 확인합니다. 일부 서버는 짧은 수명의 액세스 전용 토큰을 발급합니다.
- 시스템 시계가 정확한지 확인합니다. 시계 편차로 인해 토큰이 조기에 만료될 수 있습니다
로그아웃하거나 계정을 전환하려는 경우
서버를 다시 시작해도 OAuth 자격 증명이 지워지지 않습니다. 로그아웃하거나 계정을 전환하려면 MCP 설정 탭에서 인증 재설정을 사용하세요. 이렇게 하면 저장된 토큰이 지워지고 다음 연결 시 새로운 인증 프롬프트가 트리거됩니다.