MCP (Model Context Protocol)는 Anthropic이 도입한 개방형 프로토콜로, 대규모 언어 모델(LLM)이 외부 도구, 리소스 또는 원격 서비스와 통신하는 방식을 표준화합니다.
Auth0 테넌트에 Claude, Cursor 또는 Windsurf를 연결하여 대시보드를 건드리지 않고도 앱을 생성하고, Action을 배포하며, 로그를 디버깅하고, 사용자를 관리할 수 있습니다.
주의사항
베타 소프트웨어 공지: 이 소프트웨어는 현재 베타 버전이며 어떠한 보증 없이 '있는 그대로(AS IS)' 제공됩니다.
- 기능, API 및 기능은 예고 없이 언제든지 변경될 수 있습니다.
- 프로덕션 사용 또는 중요 워크로드에는 권장되지 않습니다.
- 베타 기간 동안의 지원이 제한적입니다.
- 문제점과 피드백은 GitHub 이슈 트래커를 통해 보고할 수 있습니다.
본 베타 소프트웨어를 사용하는 것은 이러한 조건들을 인지하고 동의함을 의미합니다.
Auth0 MCP Server는 LLM 및 AI 에이전트와 통합되어 자연어(natural language)를 사용하여 다양한 Auth0 관리 작업을 수행할 수 있도록 합니다. 예를 들어, Claude Desktop에게 다음과 같은 Auth0 관리 작업을 요청할 수 있습니다:
-
새로운 Auth0 앱을 생성하고 도메인과 클라이언트 ID를 얻기
-
JWT 토큰을 생성하기 위해 새로운 Auth0 Action을 생성 및 배포하기
-
192.108.92.3 IP 주소에서 발생한 로그인 기록이 있는지 Auth0 로그를 확인해 줄 수 있나요?
사전 요구 사항 (Prerequisites):
- Node.js v18 이상
- Claude Desktop 또는 기타 MCP 클라이언트
- 적절한 권한을 가진 Auth0 계정
Auth0 MCP Server를 설치하고 선호하는 MCP 클라이언트를 사용하여 작동하도록 구성합니다. --tools 매개변수는 어떤 도구가 사용 가능한지 지정하며 (제공되지 않으면 기본값은 *입니다).
모든 도구를 사용하는 Claude Desktop
npx @auth0/auth0-mcp-server init
읽기 전용 도구를 사용하는 Claude Desktop
npx @auth0/auth0-mcp-server init --read-only
또한 읽기 전용 도구를 명시적으로 선택할 수도 있습니다:
npx @auth0/auth0-mcp-server init --tools 'auth0_list_*,auth0_get_*'
Claude Code
Claude Code를 위해 Auth0 MCP 서버 초기화하기
npx @auth0/auth0-mcp-server init --client claude-code
구성 범위를 선택하라는 메시지가 표시됩니다:
User— ~/.claude.json에 작성되며 모든 프로젝트에서 사용 가능합니다.Project— 지정한 프로젝트 폴더의 .mcp.json에 작성되며, 버전 관리에 포함하고 팀과 공유할 목적으로 사용됩니다.
Windsurf
npx @auth0/auth0-mcp-server init --client windsurf
Cursor
단계 1:
단계 2:
npx @auth0/auth0-mcp-server init --client cursor
제한된 도구 접근을 가진 Cursor
npx @auth0/auth0-mcp-server init --client cursor --tools 'auth0_list_applications,auth0_get_application'
VS Code
npx @auth0/auth0-mcp-server init --client vscode
VS Code를 전역(Global) 또는 작업 공간(Workspace) 범위로 구성할 수 있습니다:
전역 (Global): 모든 VS Code 인스턴스에서 사용 가능합니다.작업 공간 (Workspace): 특정 프로젝트/리포지토리에서만 사용 가능합니다.
이 명령을 실행하면 선호하는 범위를 선택하라는 메시지가 표시되며, 적절한 mcp.json 파일을 자동으로 구성해 줍니다.
제한된 도구 접근을 가진 VS Code
npx @auth0/auth0-mcp-server init --client vscode --tools 'auth0_list_*,auth0_get_*' --read-only
Gemini CLI
Gemini CLI용 gemini MCP 서버를 초기화합니다.
npx @auth0/auth0-mcp-server init --client gemini
Gemini 확장 설치:
gemini extensions install https://github.com/auth0/auth0-mcp-server
Codex CLI
Auth0에 한 번 인증합니다:
npx @auth0/auth0-mcp-server init
그런 다음 Auth0 MCP 서버를 Codex에 추가합니다:
codex mcp add auth0 --env DEBUG=auth0-mcp --env DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus -- npx -y @auth0/auth0-mcp-server run
또한 ~/.codex/config.toml에 직접 추가할 수도 있습니다:
[mcp_servers.auth0]
command =
args 배열에 추가하여 사용 가능한 도구를 제어합니다. 권장 패턴은 보안 모범 사례(Security Best Practices)를 참조하십시오.
사용자의 브라우저가 자동으로 열려 OAuth 2.0 디바이스 인증 흐름을 시작합니다. Auth0 계정에 로그인하고 요청된 권한을 부여하십시오.
참고
자격 증명은 시스템의 키체인에 안전하게 저장됩니다. 키체인 관리 도구를 통해 저장 여부를 선택적으로 확인할 수 있습니다. 더 자세한 내용은 인증(Authentication)을 확인하십시오.
MCP 클라이언트(Claude Desktop, Windsurf, Cursor 등)를 재시작하고 Auth0 테넌트 관리를 요청하십시오.
Auth0으로 프로젝트를 처음부터 실행하려면, MCP 클라이언트에게 온보딩하도록 요청하십시오 (예: `Auth0과 함께 Next.js 프로젝트 온보딩`). 이렇게 하면 `auth0_onboarding` 도구가 호출되어 프레임워크에 맞게 구성된 Auth0 애플리케이션을 생성하고 자격 증명을 프로젝트의 `.env` 파일에 작성합니다. 내부적으로는 이 작업을 수행하기 위해 `auth0_create_application`과 `auth0_save_credentials_to_file` 도구를 조합하여 사용합니다. 그런 다음 `auth0_get_quickstart_guide`로 넘겨주어 콜백 URL을 해결하고, 애플리케이션을 업데이트하며, Auth0 SDK를 통합하기 위한 프레임워크별 코드를 반환함으로써, 아무런 Auth0 설정 상태에서 작동하는 통합까지 단일 가이드 흐름으로 안내합니다.
Auth0 MCP 서버는 Claude가 Auth0 테넌트와 상호 작용할 수 있도록 다음 도구들을 제공합니다:
| Tool | 설명 | 사용 예시 |
|---|---|---|
`auth0_list_applications` | Auth0 테넌트의 모든 애플리케이션을 나열하거나 이름으로 검색합니다. | - `내 모든 Auth0 애플리케이션을 보여줘` - `'api'`가 포함된 애플리케이션 찾기 - 내 Auth0 테넌트에 어떤 애플리케이션이 있어? |
`auth0_get_application` | 특정 Auth0 애플리케이션에 대한 상세 정보를 가져옵니다. | - `'Customer Portal'`이라는 이름의 애플리케이션 세부 정보 보여줘 - 클라이언트 ID가 abc123인 내 애플리케이션 정보 가져와 - 'Mobile App'의 콜백 URL은 뭐야? |
`auth0_create_application` | 새로운 Auth0 애플리케이션을 생성합니다. | - `'Analytics Dashboard'`라는 이름의 새 싱글 페이지 애플리케이션(SPA) 생성해줘 - `'iOS Client'`라는 이름의 새 네이티브 모바일 앱 설정해줘 - 백그라운드 서비스용 머신-투-머신(machine-to-machine) 애플리케이션을 생성해줘 |
`auth0_update_application` | 기존 Auth0 애플리케이션을 업데이트합니다. | - `'Web App'`의 콜백 URL을 https://staging.example.com/callback으로 업데이트해줘 - 'Customer Portal'의 로그아웃 URL 변경해줘 - 'Admin Dashboard' 애플리케이션에 개발 환경 메타데이터 추가해줘 |
`auth0_save_credentials_to_file` | 애플리케이션의 자격 증명(credential)을 프로젝트의 `.env` 파일에 환경 변수로 저장합니다 (그리고 `.gitignore`에 추가). | - 내 앱의 Auth0 자격 증명을 이 프로젝트의 .env 파일에 저장해줘 - 'Web App'의 클라이언트 ID와 시크릿을 .env.local에 작성해줘 - 이 Auth0 자격 증명들을 내 프로젝트의 환경 파일에 저장해줘 |
| Tool | 설명 | 사용 예시 |
|---|---|---|
`auth0_onboarding` | Auth0으로 프로젝트 온보딩: 주어진 프레임워크에 맞게 애플리케이션을 생성하고 자격 증명을 `.env` 파일에 저장합니다. | - `Auth0과 함께 내 Next.js 프로젝트를 온보딩해 줘` - `이 디렉터리의 React 앱에 Auth0을 설정해 줘` - `Auth0으로 Express 앱 시작하는 법 알려줘` |
`auth0_get_quickstart_guide` | 프레임워크별 빠른 시작 안내(prompt)를 가져오고, 콜백 URL을 해결 및 업데이트하며, Auth0 SDK 통합 코드를 반환합니다. | - `내 Next.js 앱에 Auth0 SDK 추가하는 법 보여줘` - `내 프로젝트의 Auth0 통합을 완료해 줘` - `내 React 애플리케이션용 빠른 시작 코드 알려줘` |
| Tool | 설명 | 사용 예시 |
|---|---|---|
`auth0_list_resource_servers` | Auth0 테넌트에 있는 모든 리소스 서버(API) 목록을 가져옵니다. | - `내 Auth0 테넌트의 모든 API를 보여줘` - `내 리소스 서버 목록을 알려줘` - `Auth0에 어떤 API들을 설정했어?` |
`auth0_get_resource_server` | 특정 Auth0 리소스 서버에 대한 상세 정보를 가져옵니다. | - `'User API'`의 상세 정보를 보여줘 - 내 `'Payment API'`에는 어떤 스코프가 정의되어 있어? - 식별자가 `https://api.example.com`인 리소스 서버에 대한 정보를 가져와라 |
`auth0_create_resource_server` | 새로운 Auth0 리소스 서버(API)를 생성합니다. | - 읽기 및 쓰기 스코프를 가진 'Inventory API'라는 새 API를 만들어 줘 - 고객 데이터 API용 리소스 서버를 설정해 줘 - 식별자가 `https://orders.example.com`인 API를 만들어 줘 |
`auth0_update_resource_server` | 기존 Auth0 리소스 서버를 업데이트합니다. | - 'User API'에 'admin' 스코프를 추가해 줘 - 내 'Payment API'의 토큰 수명을 1시간으로 업데이트해 줘 - 내 API의 서명 알고리즘을 RS256으로 변경해 줘
| Tool | 설명 | 사용 예시 |
|---|---|---|
`auth0_create_application_grant` | 특정 스코프가 정의된 API에 Auth0 애플리케이션이 접근할 수 있도록 인증하는 클라이언트 그랜트를 생성합니다. | - 'Backend Service' 애플리케이션에 'User API' 접근 권한을 부여해 주세요. - M2M 앱의 결제 API 호출을 위한 클라이언트 그랜트를 생성해 주세요. - 읽기 및 쓰기 스코프를 사용하여 인벤토리 API에 접근할 수 있도록 애플리케이션을 인증해 주세요. |
| Tool | 설명 | 사용 예시 |
|---|---|---|
`auth0_list_actions` | Auth0 테넌트의 모든 액션을 나열합니다. | - 저의 모든 Auth0 액션을 보여주세요. - 어떤 액션들이 구성되어 있나요? - 제 테넌트에 있는 액션들을 나열해 주세요. |
`auth0_get_action` | 특정 Auth0 액션에 대한 세부 정보를 가져옵니다. | - '사용자 프로필 강화(Enrich User Profile)' 액션의 코드를 보여주세요. - 로그인 흐름 액션에 대한 세부 정보를 가져와 주세요. - '커스텀 클레임 추가(Add Custom Claims)' 액션은 어떤 기능을 하나요? |
`auth0_create_action` | 새로운 Auth0 액션을 생성합니다. | - 사용자 역할을 토큰에 추가하는 액션을 생성해 주세요. - 실패한 로그인 시도를 기록하는 액션을 설정해 주세요. - 사용자 위치를 확인하는 사후(post-login) 액션을 생성해 주세요. |
`auth0_update_action` | 기존 Auth0 액션을 업데이트합니다. | - '커스텀 클레임 추가' 액션에 부서 정보를 포함하도록 업데이트해 주세요. - 보안 액션의 IP 필터링 로직을 수정해 주세요. - 사용자 강화 액션의 버그를 고쳐주세요. |
`auth0_deploy_action` | Auth0 액션을 배포합니다. | - '커스텀 클레임 추가' 액션을 프로덕션에 배포해 주세요. - 새로운 보안 액션을 활성화해 주세요. - 업데이트된 사용자 강화 액션을 배포해 주세요. |
| Tool | 설명 | 사용 예시 |
|---|---|---|
`auth0_list_logs` | Auth0 테넌트의 로그를 나열합니다. | - 최근 로그인 시도들을 보여주세요. - 지난 24시간 동안 실패한 로그인을 찾아주세요. - 어제 인증 로그를 가져와 주세요. - 사용자 [email protected]의 성공적인 로그인을 보여주세요. |
`auth0_get_log` | ID별 특정 로그 항목을 가져옵니다. | - 로그 항목 abc123의 세부 정보를 보여주세요. - 이 실패한 로그인 시도에 대한 더 많은 정보를 얻고 싶습니다. - 이 인증 오류는 무엇 때문에 발생했나요?
| 도구 (Tool) | 설명 (Description) | 사용 예시 (Usage Examples) |
|---|---|---|
`auth0_list_forms` | Auth0 테넌트의 모든 폼 목록을 가져옵니다. | - `저의 모든 Auth0 폼을 보여주세요.` - `어떤 로그인 폼들이 설정되어 있나요?` - `테넌트에 있는 사용자 지정 폼들을 나열해주세요.` |
`auth0_get_form` | 특정 Auth0 폼에 대한 세부 정보를 가져옵니다. | - `저의 '회사 로그인' 폼 상세 정보를 보여주세요.` - `비밀번호 재설정 폼은 어떤 모습인가요?` - `가입 폼의 구성을 알려주세요.` |
`auth0_create_form` | 새로운 Auth0 폼을 생성합니다. | - `저희 회사 브랜딩이 적용된 새 로그인 폼을 만드세요.` - `부서 정보를 수집하는 사용자 지정 가입 폼을 설정해주세요.` - `로고가 있는 비밀번호 재설정 폼을 만드세요.` |
`auth0_update_form` | 기존 Auth0 폼을 업데이트합니다. | - `로그인 폼의 색상을 새로운 브랜드 지침에 맞게 수정해주세요.` - `가입 폼에 개인정보 보호정책 링크를 추가해주세요.` - `비밀번호 재설정 폼의 로고를 변경해주세요.` |
`auth0_publish_form` | Auth0 폼을 게시합니다. | - `업데이트된 로그인 폼을 게시해주세요.` - `새 가입 폼을 활성화해주세요.` - `비밀번호 재설정 폼을 프로덕션에 배포해주세요.` |
Auth0 MCP 서버를 구성할 때는 특정 필요에 따라 도구 접근 권한을 제한하여 보안 모범 사례를 따르는 것이 중요합니다. 이 서버는 AI 어시스턴트가 어떤 도구에 접근할 수 있는지 제어할 수 있는 유연한 구성 옵션을 제공합니다.
서버를 시작할 때 `--tools`와 `--read-only` 플래그를 사용하면 쉽게 도구 접근을 제한할 수 있습니다:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
읽기 전용 작업만 활성화
npx @auth0/auth0-mcp-server run --read-only
읽기 전용 작업만 활성화하는 다른 방법
...
**중요 사항 (Important)**
`--read-only`와 `--tools` 플래그가 함께 사용될 경우, 보안을 위해 `--read-only` 플래그가 우선권을 가집니다. 이는 `--tools` 패턴이 읽기 전용이 아닌 도구를 일치시키더라도, 읽기 전용 작업만 사용할 수 있다는 의미입니다. 이를 통해 `--read-only` 플래그를 보안 방화벽(security guardrail)으로 신뢰할 수 있습니다.
CLI 플래그를 전달할 수 없는 환경(예: MCP 번들 설치)의 경우에도, 환경 변수와 동일한 제어 기능을 사용할 수 있습니다: