Authentik MCP Server について
Authentik API と連携する MCP サーバー群です。Python と Node.js の実装があり、管理向けのフル機能版と読み取り専用の診断版を提供します。
主な機能
- 01Python と Node.js の実装
- 02ユーザー・グループ・アプリの CRUD
- 03イベントとシステム状態の監視
- 04診断版の読み取り専用アクセス
活用シーン
- 01ユーザー、グループ、アプリの作成と更新
- 02認証イベントとシステム状態の確認
- 03アプリ、フロー、アクセス問題の調査
MCP 対応
MCP クライアント向けに Authentik API の管理ツールを公開します。診断版では読み取り専用の調査と監視を利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Authentik MCP サーバー
Authentik API 統合用の Model Context Protocol(MCP)サーバーのコレクションです。Python と Node.js の両方で実装されています。
概要
このリポジトリには、Authentik と統合するための MCP サーバーが 4 つ含まれています。
フル機能サーバー
- authentik-mcp(Python)- 完全な CRUD 機能を備えた、Authentik API の完全な統合
- authentik-mcp(Node.js)- API に完全にアクセスできる TypeScript 実装
診断専用サーバー
- authentik-diag-mcp(Python)- 読み取り専用の診断および監視機能
- authentik-diag-mcp(Node.js)- 診断と監視のための TypeScript 実装
MCP の統合と使用方法
このリポジトリは、Model Context Protocol(MCP)エコシステムとシームレスに統合できるように設計されています。これらのサーバーは、コマンドラインから直接実行するのではなく、MCP 互換ツール(VS Code 拡張機能、自動化プラットフォーム、オーケストレーションシステムなど)によって実行・管理されることを想定しています。
MCP での使用方法
- 目的のパッケージをインストールします。
- API に完全にアクセスする場合:
authentik-mcp - 診断/監視の場合:
authentik-diag-mcp
- API に完全にアクセスする場合:
- MCP ツールまたはプラットフォームを設定し、インストールしたサーバーバイナリ(例:
authentik-mcpまたはauthentik-diag-mcp)を指定して、必要な Authentik API トークンとベース URL を引数または環境変数として渡します。 - **これらのサーバーを CLI から直接実行しないでください。**代わりに、MCP 互換ツールにライフサイクルと通信を管理させます。
- MCP ツールのインターフェースを通じて Authentik を操作します。自動化、監視、診断に利用できるすべてのリソースとツールが公開されます。
例:VS Code Github Copilot MCP 拡張機能
GitHub Copilot Workspace(settings.json)– Python(uvx):
"mcp": {
"servers": {
"authentik": {
"command": "uvx",
"args": [
"authentik-diag-mcp",
"--base-url", "https://your-authentik-instance",
"--token", "your-api-token"
]
}
}
}
GitHub Copilot Workspace(settings.json)– Node.js(npx):
"mcp": {
"servers": {
"authentik": {
"command": "npx",
"args": [
"@cdmx/authentik-diag-mcp",
"--base-url", "https://your-authentik-instance",
"--token", "your-api-token"
]
}
}
}
Claude Desktop(claude_desktop_config.json)– Python(uvx):
{
"mcpServers": {
"authentik": {
"command": "uvx",
"args": [
"authentik-diag-mcp",
"--base-url",
"https://your-authentik-instance",
"--token",
"your-api-token"
]
}
}
}
Claude Desktop(claude_desktop_config.json)– Node.js(npx):
{
"mcpServers": {
"authentik": {
"command": "npx",
"args": [
"@cdmx/authentik-diag-mcp",
"--base-url",
"https://your-authentik-instance",
"--token",
"your-api-token"
]
}
}
}
クイックスタート
Python パッケージ
**注:**これらのパッケージは CLI から直接使用することを想定していません。上記の説明に従って、MCP 互換ツールまたはプラットフォームに統合してください。
Node.js パッケージ
**注:**これらのパッケージは CLI から直接使用することを想定していません。上記の説明に従って、MCP 互換ツールまたはプラットフォームに統合してください。
API へのフルアクセス
MCP ツールによって管理されます。CLI から直接使用する必要はありません。
診断専用
MCP ツールによって管理されます。CLI から直接使用する必要はありません。
機能の比較
| 機能 | フル MCP | 診断 MCP |
|---|---|---|
| ユーザー管理(CRUD) | ✅ | ❌(読み取り専用) |
| グループ管理(CRUD) | ✅ | ❌(読み取り専用) |
| アプリケーション管理(CRUD) | ✅ | ❌(読み取り専用) |
| イベント監視 | ✅ | ✅ |
| ユーザー情報 | ✅ | ✅(読み取り専用) |
| グループ情報 | ✅ | ✅(読み取り専用) |
| アプリケーションのステータス | ✅ | ✅(読み取り専用) |
| フロー管理 | ✅ | ✅(読み取り専用) |
| プロバイダー管理 | ✅ | ✅(読み取り専用) |
| トークン管理 | ✅ | ❌ |
| システムの健全性監視 | ✅ | ✅ |
| 監査証跡の分析 | ✅ | ✅ |
API トークンの設定
フルアクセスの場合(authentik-mcp)
- 管理者として Authentik にログインします
- Directory > Tokens に移動します
- API の全権限を持つ新しいトークンを作成します
- フル MCP サーバーで使用するトークンをコピーします
診断アクセスの場合(authentik-diag-mcp)
- 管理者として Authentik にログインします
- Directory > Tokens に移動します
- 最小限の読み取り専用権限を持つ新しいトークンを作成します
- 診断 MCP サーバーで使用するトークンをコピーします
利用可能なツール
フル MCP サーバーのツール
ユーザー管理
authentik_list_users- フィルタリングしてユーザーを一覧表示authentik_get_user- ユーザーの詳細を取得authentik_create_user- 新しいユーザーを作成authentik_update_user- 既存のユーザーを更新authentik_delete_user- ユーザーを削除
グループ管理
authentik_list_groups- グループを一覧表示authentik_get_group- グループの詳細を取得authentik_create_group- 新しいグループを作成authentik_update_group- 既存のグループを更新authentik_delete_group- グループを削除
アプリケーション管理
authentik_list_applications- アプリケーションを一覧表示authentik_get_application- アプリケーションの詳細を取得authentik_create_application- 新しいアプリケーションを作成authentik_update_application- 既存のアプリケーションを更新authentik_delete_application- アプリケーションを削除
イベント監視
authentik_list_events- システムイベントを一覧表示authentik_get_event- イベントの詳細を取得
フロー管理
authentik_list_flows- 認証フローを一覧表示authentik_get_flow- フローの詳細を取得
プロバイダー管理
authentik_list_providers- プロバイダーを一覧表示authentik_get_provider- プロバイダーの詳細を取得
トークン管理
authentik_list_tokens- API トークンを一覧表示authentik_create_token- 新しいトークンを作成
診断用 MCP サーバーのツール
イベント監視
authentik_list_events- フィルタリングしてシステムイベントを一覧表示authentik_get_event- イベントの詳細情報を取得authentik_search_events- 条件に基づいてイベントを検索authentik_get_user_events- ユーザー固有のイベントを取得
ユーザー情報(読み取り専用)
authentik_get_user_info- ユーザー情報を取得authentik_list_users_info- 診断用にユーザーを一覧表示authentik_get_user_events- ユーザーのイベント履歴を取得
グループ情報(読み取り専用)
authentik_get_group_info- グループ情報を取得authentik_list_groups_info- 診断用にグループを一覧表示authentik_get_group_members- グループのメンバーを取得
システムの健全性
authentik_get_system_config- システム構成を取得authentik_get_version_info- バージョン情報を取得
アプリケーション/フロー/プロバイダーの状態(読み取り専用)
authentik_get_application_status- アプリケーションの状態を確認authentik_list_applications_status- アプリケーションの状態を一覧表示authentik_get_flow_status- フローの状態を確認authentik_list_flows_status- フローの状態を一覧表示authentik_get_provider_status- プロバイダーの状態を確認authentik_list_providers_status- プロバイダーの状態を一覧表示
ユースケース
フル MCP サーバー
- ユーザー管理:ユーザーアカウントの作成、更新、管理
- グループ管理:適切な権限を設定してユーザーをグループに編成
- アプリケーションのセットアップ:新しいアプリケーションの構成とデプロイ
- フローの構成:認証フローのセットアップとカスタマイズ
- システム管理:システム全体の管理と構成
診断用 MCP サーバー
- セキュリティ監視:認証イベントとセキュリティインシデントを追跡
- パフォーマンス分析:システムのパフォーマンスとユーザーエクスペリエンスを監視
- コンプライアンスレポート:監査レポートとコンプライアンス文書を生成
- トラブルシューティング:認証とアクセスに関する問題を診断
- 健全性の監視:システムの健全性と構成のドリフトを監視
セキュリティのベストプラクティス
トークン管理
- サーバーの種類ごとに専用のトークンを使用する
- トークンを定期的にローテーションする
- 最小権限の原則を適用する
- トークンの使用状況を監視する
環境のセキュリティ
- 本番環境では常に HTTPS を使用する
- SSL 証明書を検証する
- 機密データには環境変数を使用する
- 適切なアクセス制御を実装する
監視
- 監査ログを有効にする
- API の使用パターンを監視する
- 不審なアクティビティに対するアラートを設定する
- 定期的にセキュリティレビューを実施する
開発
すべてのパッケージをビルドする
chmod +x build.sh
./build.sh
すべてのパッケージを公開する
chmod +x publish.sh
./publish.sh
開発環境のセットアップ
Python 開発
cd python/authentik-mcp # or authentik-diag-mcp
uv sync
uv run authentik-mcp --base-url http://localhost:9000 --token your-token
Node.js 開発
cd nodejs/authentik-mcp # or authentik-diag-mcp
npm install
npm run dev -- --base-url http://localhost:9000 --token your-token
要件
Python
- Python 3.10 以上
- uv パッケージマネージャー(推奨)
Node.js
- Node.js 18.0.0 以上
全般
- 適切な権限を持つ有効な Authentik API トークン
- npm または yarn
プロジェクト構成
authentik-mcp/
├── python/
│ ├── authentik-mcp/ # Full Python MCP server
│ └── authentik-diag-mcp/ # Diagnostic Python MCP server
├── nodejs/
│ ├── authentik-mcp/ # Full Node.js MCP server
│ └── authentik-diag-mcp/ # Diagnostic Node.js MCP server
├── build.sh # Build all packages
├── publish.sh # Publish all packages
└── README.md # This file
ライセンス
MIT ライセンス — 詳細については、各パッケージの LICENSE ファイルを参照してください。
サポート
コントリビューション
コントリビューションを歓迎します!詳細については、コントリビューションガイドをご覧ください。
変更履歴
バージョン履歴と変更については、各パッケージの CHANGELOG.md ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。