Auth0 MCPサーバーをClaude Codeで使う設定ガイド
Auth0 MCPサーバーをClaude Codeに接続し、アプリケーション管理やアクション実装をCLIから行う手順とツール制限の設定方法をまとめます。
Auth0 MCPサーバーは、Auth0テナントのアプリケーション・アクション・ログなどを自然言語で操作できるようにするAuth0公式のMCPサーバーです。npx @auth0/auth0-mcp-server init --client claude-codeの1コマンドでClaude Codeに接続し、OAuth 2.0デバイス認可フローでログインすれば、Claude Codeのセッション内から「新しいSPAアプリケーションを作って」のような指示でAuth0の管理操作を任せられます。
Auth0 MCPサーバーでできること
Auth0 MCPサーバーはAuth0 Management APIをラップし、Applications・Resource Servers・Actions・Logs・Formsなど7つの領域にわたるツール群をClaude Codeに提供します。認証・リクエスト検証・Management APIとの通信はサーバー側が担い、Claude Codeはツール呼び出しの形でAuth0テナントを操作します。
代表的な使い方は次の3系統です。
- アプリケーションやAPI(Resource Server)の作成・更新・照会
- ログイン後の挙動を変えるActionsの作成・デプロイ
- 認証ログの調査(失敗ログインの特定など)
さらにauth0_onboardingツールは、フレームワークに合わせたアプリケーションの作成から.envファイルへの資格情報の書き込み、SDK統合コードの取得までを1つの指示で連続実行します。ゼロからAuth0を組み込む場面で個別ツールを積み上げる必要がありません。
サーバー自体はローカルプロセスとして動作し、Claude Codeとの間で利用可能なツール一覧の提示・パラメータ付きツール呼び出し・Auth0 Management APIからの構造化レスポンスの受け渡しを行います。認証情報がAuth0 Management APIの外に平文で出ることはなく、Claude Code側にはツールの入出力だけが渡る設計です。
前提条件
公式READMEが挙げる前提条件は次の3つです。
- Node.js v18以上
- Claude Desktopまたは対応するMCPクライアント(Claude Codeを含む)
- 管理権限を持つAuth0アカウント
npmレジストリの最新版は0.1.0-beta.19で、正式版(1.0系)ではなくベータ段階のパッケージです。本番テナントに接続する前に、開発用テナントで挙動を確認しておくと安全です。
Claude Codeへのインストールと初期化
Claude Code向けの初期化コマンドは--client claude-codeフラグを付けて実行します。
npx @auth0/auth0-mcp-server init --client claude-code実行すると設定の保存先スコープを聞かれます。
- User —
~/.claude.jsonに書き込まれ、すべてのプロジェクトから利用可能 - Project — 指定したプロジェクトの
.mcp.jsonに書き込まれ、バージョン管理下でチーム共有が前提
続けてブラウザが自動で開き、OAuth 2.0デバイス認可フローでAuth0アカウントへのログインと権限付与を求められます。認証情報はOSのキーチェーンに保存され、平文では保持されません。設定後はClaude Codeを再起動し、Auth0テナントの操作を指示して接続を確認します。claude mcp addによるMCPサーバー追加の一般的な構文やスコープの考え方はClaude Code MCP設定ガイドにまとめています。
認証の仕組みとセキュリティ
通常のテナントはデバイス認可フローでログインしますが、この方式はプライベートクラウド版のテナントでは使えません。プライベートクラウドを使う場合はクライアントクレデンシャルで認証します。
npx @auth0/auth0-mcp-server init \
--auth0-domain <auth0-domain> \
--auth0-client-id <auth0-client-id> \
--auth0-client-secret <auth0-client-secret>クライアントクレデンシャル用のM2Mアプリケーションに与えるスコープは、公式READMEで次の13個に限定するよう案内されています。
| 対象 | 付与できるスコープ |
|---|---|
| クライアント(Applications) | 付与できるスコープread:clients / create:clients / update:clients |
| リソースサーバー | 付与できるスコープread:resource_servers / create:resource_servers / update:resource_servers |
| アクション | 付与できるスコープread:actions / create:actions / update:actions |
| ログ | 付与できるスコープread:logs |
| フォーム | 付与できるスコープread:forms / create:forms / update:forms |
この一覧に無いスコープ(削除系の操作など)はM2Mアプリケーションに与えられません。トークンの生存期間もできるだけ短く保つことが推奨されています。人手を介さない認証全般の仕組みはMCPのOAuth Client Credentials拡張で扱っています。
サーバーはclient_secretやトークンなどの機密フィールドをツールの応答から自動的に[REDACTED]へ置き換えます。これはAI側のログや会話履歴に秘密情報が残ることを防ぐための挙動です。Management APIの利用はAuth0の契約プランのレート制限に従うため、大量のツール呼び出しを連続で行う運用では制限に触れる可能性があります。
セッション管理とログアウト
現在の認証状態を確認したいときはsessionコマンドを使います。
npx @auth0/auth0-mcp-server session利用を終えたらlogoutコマンドでセッションを終了します。キーチェーンに保存された認証トークンをOSレベルで確実に削除できるため、共有端末や一時的な検証環境で使ったあとは明示的にログアウトしておくのが安全です。
npx @auth0/auth0-mcp-server logoutinitコマンドの再実行が必要になるのは、初回セットアップ時だけでなく、ログアウト後・別テナントへの切り替え時・トークン期限切れ時の3パターンです。runコマンドは起動時にトークンの有効性を自動チェックし、認証が必要な状態ならエラーメッセージで案内します。
利用できるツール一覧
Auth0 MCPサーバーが提供するツールは次の7カテゴリに分かれます。
| カテゴリ | 主なツール | できること |
|---|---|---|
| Applications | 主なツールlist / get / create / update / save_credentials_to_file | できることアプリケーションの照会・作成・変更、資格情報の.env書き出し |
| Onboarding | 主なツールonboarding / get_quickstart_guide | できることフレームワーク別の初期設定と統合コード取得を一括実行 |
| Resource Servers | 主なツールlist / get / create / update | できることAPI(Resource Server)の照会・作成・スコープ変更 |
| Application Grants | 主なツールcreate_application_grant | できることM2MアプリケーションへのAPIアクセス権限付与 |
| Actions | 主なツールlist / get / create / update / deploy | できることログインフロー等に差し込むActionsの実装とデプロイ |
| Logs | 主なツールlist / get | できること認証ログの検索と個別ログの詳細取得 |
| Forms | 主なツールlist / get / create / update / publish | できることカスタムログイン・サインアップフォームの管理 |
ツール名は「対象_操作」の形で統一されており、READMEには各ツールに対応する自然言語の指示例も掲載されています。「顧客名に'api'を含むアプリケーションを探して」のような曖昧な指示でも、該当ツールへ正しくマッピングされる設計です。
ツールアクセスを絞り込む
すべてのツールを有効にした状態で使うと、AIアシスタントが誤って設定変更や削除系の操作を実行するリスクがあります。--read-onlyフラグまたは--toolsパターンで、実際に使う範囲までツールを絞り込めます。
# 読み取り専用ツールだけを有効化
npx @auth0/auth0-mcp-server run --read-only
# アプリケーション関連のツールのみに限定
npx @auth0/auth0-mcp-server run --tools 'auth0_*_application*'
# ログ閲覧だけに限定
npx @auth0/auth0-mcp-server run --tools 'auth0_list_logs,auth0_get_log'--read-onlyと--toolsを同時に指定した場合は--read-onlyが優先されるため、--toolsのパターンに書き込み系のツールが含まれていても実行はブロックされます。CLIフラグを渡せない実行環境向けには、同じ制御を環境変数AUTH0_MCP_READ_ONLYとAUTH0_MCP_TOOLSでも設定できます。開発環境ではフルアクセス、本番相当のテナントに接続する構成では読み取り専用、のように用途別にプロセスを分けるのが公式の推奨です。ツール数を絞ることは安全対策だけでなく、モデルが選択肢を絞り込む負荷を下げて応答を安定させる効果もあります。
独自のAuth0操作をツールとして追加したい場合や、公式ツールセットにない粒度の制御が必要な場合は、MCPサーバーをTypeScriptで自作する手順がベースになります。
READMEでは、Auth0 MCPサーバー自体やほかのMCP互換サーバーに対して、mcpscan.ai(公開エンドポイントを検査するWebスキャナー)やmcp-scan(攻撃経路をクライアント視点でシミュレートするCLIツール)による定期的なセキュリティスキャンも推奨されています。ツール範囲を絞ることと合わせて、定期的なスキャンを運用ルーチンに組み込むことが安全対策として案内されています。
よくあるトラブルと対処
READMEとgetting startedガイドが挙げる典型的なトラブルは次の4つです。
- 認証エラー — Auth0テナントの権限を確認し、
npx @auth0/auth0-mcp-server initで再初期化する - クライアントが接続できない — MCPクライアントを再起動し、
ps aux | grep auth0-mcpでサーバープロセスの起動を確認する - Invalid Auth0 Configuration Errorが出る — 認可トークンの期限切れが原因のことが多く、
npx @auth0/auth0-mcp-server sessionでトークン状態を確認してから再認証する - 特定の操作だけ失敗する — 必要なスコープが選択されていない可能性があり、
init --scopes 'read:*,update:*,create:*'のように対象スコープを広げて再初期化する
詳細なログが欲しい場合はexport DEBUG=auth0-mcpでデバッグモードを有効にします。Claude Desktopではログファイル~/Library/Logs/Claude/mcp*.logをtail -Fで追跡でき、さらに踏み込んだ調査には@modelcontextprotocol/inspectorが使えます。
Auth0公式ドキュメントの対応クライアント一覧には、Claude Desktop・Cursor・Windsurfの3つが名指しされ、Claude Codeは含まれていません。一方でGitHub READMEにはClaude Code向けの--client claude-codeフラグが明記されており、実装としてはClaude Codeでも動作します。ドキュメントの更新が実装に追いついていない状態と見られるため、Claude Code特有の挙動で迷ったときはREADMEの記載を優先するのが安全です。
まとめ
Auth0 MCPサーバーはnpx @auth0/auth0-mcp-server init --client claude-codeでClaude Codeに接続し、OAuth 2.0デバイス認可フローでログインすれば使い始められます。すべてのツールを有効にする前に、--read-onlyや--toolsでテナントに合わせたアクセス範囲を決めておくと、誤操作のリスクを抑えられます。ローカルプロセスとして動くため、Claude Code(CLI)とClaude Desktopでの利用が中心で、claude.aiのWeb版からは直接扱えません。他のサービス向けMCPサーバーの設定例はMySQL MCPサーバーの使い方やPlaywright MCPサーバーの使い方でも扱っています。