Authentik MCP服务器
用于Authentik API集成的模型上下文协议(MCP)服务器集合,可用于Python和Node.js实现。
概述
此存储库包含四个MCP服务器,用于与Authentik集成:
全功能服务器
- 正品mcp (Python)-完整的Authentik API集成和完整的CRUD功能
- 正品mcp (Node.js)-具有完整API访问权限的TypeScript实现
仅诊断服务器
- 真实诊断mcp (Python)-只读诊断和监控功能
- 真实诊断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作为参数或环境变量。 - 不要直接通过CLI运行这些服务器。 相反,让您的MCP兼容工具管理它们的生命周期和通信。
- 与Authentik交互 通过MCP工具界面,该界面将公开所有可用的资源和工具,用于自动化、监控和诊断。
示例:VS代码Github副本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_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_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令牌设置
完全访问(authentick mcp)
- 以管理员身份登录Authentik
- 导航至 目录 > 代币
- 创建具有完全API权限的新令牌
- 复制令牌以用于完整的MCP服务器
用于诊断访问(authentic 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 # or authentik-diag-mcp
uv sync
uv run authentik-mcp --base-url http://localhost:9000 --token your-tokenNode.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或纱线
项目结构
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许可证-有关详细信息,请参阅单个软件包许可证文件。
支持
贡献
我们欢迎捐款!请查看我们的 贡献指南 了解详情。
更新日志
有关版本历史记录和更改,请参阅单个包CHANGELOG.md文件。
