🚀 Authentik MCP 服務器
這是一組用於與 Authentik API 集成的模型上下文協議(MCP)服務器,提供 Python 和 Node.js 兩種實現方式。
🚀 快速開始
Python 包
⚠️ 重要提示
這些包不適合直接在命令行中使用,請按照上述說明將它們集成到與 MCP 兼容的工具或平臺中。
Node.js 包
⚠️ 重要提示
這些包不適合直接在命令行中使用,請按照上述說明將它們集成到與 MCP 兼容的工具或平臺中。
全 API 訪問
由您的 MCP 工具管理,無需直接在命令行中使用。
僅用於診斷
由您的 MCP 工具管理,無需直接在命令行中使用。
✨ 主要特性
全功能服務器
- authentik-mcp(Python) - 具備完整的 CRUD 功能,可實現與 Authentik API 的全面集成。
- authentik-mcp(Node.js) - 採用 TypeScript 實現,可全面訪問 API。
僅用於診斷的服務器
- authentik-diag-mcp(Python) - 具備只讀的診斷和監控功能。
- authentik-diag-mcp(Node.js) - 採用 TypeScript 實現,用於診斷和監控。
📦 安裝指南
MCP 集成與使用
本倉庫旨在與模型上下文協議(MCP)生態系統實現無縫集成。這些服務器應由與 MCP 兼容的工具(如 VS Code 擴展、自動化平臺或編排系統)運行和管理,而非直接通過命令行使用。
如何與 MCP 配合使用
- 安裝所需的包:
- 如需全 API 訪問:
authentik-mcp
- 如需診斷/監控:
authentik-diag-mcp
- 配置您的 MCP 工具或平臺,使其指向已安裝的服務器二進制文件(例如
authentik-mcp 或 authentik-diag-mcp),並將所需的 Authentik API 令牌和基礎 URL 作為參數或環境變量提供。
- 請勿直接通過命令行運行這些服務器。請讓與 MCP 兼容的工具管理它們的生命週期和通信。
- 通過 MCP 工具界面與 Authentik 進行交互,該界面將提供所有可用的資源和工具,用於自動化、監控和診斷。
💻 使用示例
示例:VS Code Github Copilot MCP 擴展
GitHub Copilot 工作區(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 工作區(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 桌面端(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 桌面端(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 |
診斷 MCP |
| 用戶管理(CRUD) |
✅ |
❌(只讀) |
| 組管理(CRUD) |
✅ |
❌(只讀) |
| 應用程序管理(CRUD) |
✅ |
❌(只讀) |
| 事件監控 |
✅ |
✅ |
| 用戶信息 |
✅ |
✅(只讀) |
| 組信息 |
✅ |
✅(只讀) |
| 應用程序狀態 |
✅ |
✅(只讀) |
| 流程管理 |
✅ |
✅(只讀) |
| 提供者管理 |
✅ |
✅(只讀) |
| 令牌管理 |
✅ |
❌ |
| 系統健康監控 |
✅ |
✅ |
| 審計跟蹤分析 |
✅ |
✅ |
API 令牌設置
全訪問權限(authentik-mcp)
- 以管理員身份登錄 Authentik。
- 導航至 目錄 > 令牌。
- 創建一個具有全 API 權限的新令牌。
- 複製該令牌,以供全功能 MCP 服務器使用。
診斷訪問權限(authentik-diag-mcp)
- 以管理員身份登錄 Authentik。
- 導航至 目錄 > 令牌。
- 創建一個具有最小隻讀權限的新令牌。
- 複製該令牌,以供診斷 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 文件。
支持
貢獻
我們歡迎貢獻!請參閱我們的 貢獻指南 瞭解詳細信息。
變更日誌
請參閱各個包的 CHANGELOG.md 文件,瞭解版本歷史和變更信息。