🚀 Authentik MCP Servers
このプロジェクトは、Authentik APIとの統合を目的としたModel Context Protocol (MCP) サーバーのコレクションです。PythonとNode.jsの両方の実装が用意されています。
🚀 クイックスタート
Pythonパッケージ
⚠️ 重要提示
これらのパッケージは直接CLIで使用することを想定していません。上記の説明に従って、MCP互換のツールまたはプラットフォームと統合してください。
Node.jsパッケージ
⚠️ 重要提示
これらのパッケージは直接CLIで使用することを想定していません。上記の説明に従って、MCP互換のツールまたはプラットフォームと統合してください。
フルAPIアクセス
あなたのMCPツールによって管理されます。直接CLIでの使用は必要ありません。
診断のみ
あなたのMCPツールによって管理されます。直接CLIでの使用は必要ありません。
✨ 主な機能
このリポジトリには、Authentikと統合するための4つのMCPサーバーが含まれています。
フル機能サーバー
- 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
- 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"
]
}
}
}
💻 使用例
基本的な使用法
上記のインストールと設定手順に従って、MCPツールを使用してAuthentikとやり取りします。
📚 ドキュメント
機能比較
| 機能 |
フル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
uv sync
uv run authentik-mcp --base-url http://localhost:9000 --token your-token
Node.js開発
cd nodejs/authentik-mcp
npm install
npm run dev -- --base-url http://localhost:9000 --token your-token
要件
Python
- Python 3.10以上
- uvパッケージマネージャー (推奨)
Node.js
一般
- 適切な権限を持つ有効なAuthentik APIトークン
- npmまたはyarn
プロジェクト構造
authentik-mcp/
├── python/
│ ├── authentik-mcp/ # フルPython MCPサーバー
│ └── authentik-diag-mcp/ # 診断用Python MCPサーバー
├── nodejs/
│ ├── authentik-mcp/ # フルNode.js MCPサーバー
│ └── authentik-diag-mcp/ # 診断用Node.js MCPサーバー
├── build.sh # すべてのパッケージをビルドするスクリプト
├── publish.sh # すべてのパッケージを公開するスクリプト
└── README.md # このファイル
📄 ライセンス
MITライセンス - 詳細については、個々のパッケージのLICENSEファイルを参照してください。
サポート
コントリビューション
コントリビューションを歓迎します!詳細については、Contributing Guide を参照してください。
変更履歴
バージョン履歴と変更内容については、個々のパッケージのCHANGELOG.mdファイルを参照してください。