Authentik Mcp

Authentik Mcp

🚀 Authentik MCP 服务器

这是一个用于与 Authentik API 集成的模型上下文协议(MCP)服务器集合,提供 Python 和 Node.js 两种实现方式。该项目能够帮助开发者更便捷地与 Authentik 进行交互,实现用户管理、应用配置等功能,同时提供诊断和监控能力,保障系统的安全和稳定运行。

🚀 快速开始

Python 包

注意:这些包不适合直接在命令行中使用。请按照上述说明将它们与支持 MCP 的工具或平台集成。

Node.js 包

注意:这些包不适合直接在命令行中使用。请按照上述说明将它们与支持 MCP 的工具或平台集成。

全 API 访问

由您的 MCP 工具管理,无需直接在命令行中使用。

仅用于诊断

由您的 MCP 工具管理,无需直接在命令行中使用。

✨ 主要特性

本仓库包含四个用于与 Authentik 集成的 MCP 服务器:

全功能服务器

  • authentik-mcp(Python) - 具备完整的 CRUD 功能,可实现全面的 Authentik API 集成。
  • authentik-mcp(Node.js) - 使用 TypeScript 实现,可完全访问 API。

仅用于诊断的服务器

  • authentik-diag-mcp(Python) - 具备只读的诊断和监控功能。
  • authentik-diag-mcp(Node.js) - 使用 TypeScript 实现,用于诊断和监控。

📦 安装指南

如何与 MCP 一起使用

  1. 安装所需的包
    • 若需要全 API 访问:authentik-mcp
    • 若用于诊断/监控:authentik-diag-mcp
  2. 配置您的 MCP 工具或平台,使其指向已安装的服务器二进制文件(例如,authentik-mcpauthentik-diag-mcp),并将所需的 Authentik API 令牌和基本 URL 作为参数或环境变量提供。
  3. 请勿直接通过命令行运行这些服务器。而是让支持 MCP 的工具管理它们的生命周期和通信。
  4. 通过 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 具备完整的用户管理、组管理、应用管理、事件监控、系统健康监控等功能,支持 CRUD 操作。
诊断 MCP 主要用于诊断和监控,部分功能为只读模式,不支持令牌管理。

API 令牌设置

全访问权限(authentik-mcp)

  1. 以管理员身份登录 Authentik。
  2. 导航至 目录 > 令牌
  3. 创建一个具有全 API 权限的新令牌。
  4. 复制该令牌,供全功能 MCP 服务器使用。

诊断访问权限(authentik-diag-mcp)

  1. 以管理员身份登录 Authentik。
  2. 导航至 目录 > 令牌
  3. 创建一个具有最小只读权限的新令牌。
  4. 复制该令牌,供诊断 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  # 或 authentik-diag-mcp
uv sync
uv run authentik-mcp --base-url http://localhost:9000 --token your-token
Node.js 开发
cd nodejs/authentik-mcp  # 或 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/           # 完整的 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 文件。

  • 0 关注
  • 0 收藏,11 浏览
  • system 提出于 2025-09-30 06:54

相似服务问题