关于 Authentik MCP Server
Authentik MCP Server 将 Authentik 身份管理操作提供给 AI 助手和开发工具,适用于需要管理用户、组、应用及认证配置的团队。它支持只读访问和按类别筛选工具。
主要功能
- 01管理用户、组和应用
- 02管理流程、策略与提供方
- 03只读访问模式
- 04按类别筛选可用工具
- 05支持 stdio 与 HTTP 传输
适用场景
- 01查询 Authentik 用户和组信息
- 02创建或更新应用与身份配置
- 03以只读模式监控 Authentik
- 04按需限制 Agent 可见的工具
MCP 相关
该 MCP 服务将 Authentik API 操作封装为工具,供 MCP 客户端调用;可通过 stdio 或 Streamable HTTP 传输提供。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @samik081/mcp-authentikAUTHENTIK_URL密钥URL of the Authentik instance (e.g. https://auth.example.com)AUTHENTIK_TOKEN密钥Authentik API token本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Authentik
用于 Authentik 身份管理的 MCP 服务。通过 Cursor、Claude Code 和 Claude Desktop 中的自然语言管理用户、群组、应用、流程、策略、提供商等。
功能
- 297 个工具,分为 22 个类别,涵盖完整的 Authentik API
- 通过
AUTHENTIK_ACCESS_TIER=read-only启用只读模式,用于安全监控 - 通过
AUTHENTIK_CATEGORIES进行类别筛选,仅提供所需工具 - 通过
@goauthentik/api提供类型安全的 SDK 客户端 - 在 GHCR 提供适用于
linux/amd64和linux/arm64的 Docker 镜像 - 通过 HTTP 传输(
MCP_TRANSPORT=http)和 Streamable HTTP 协议提供远程 MCP - 使用 TypeScript/ESM,具备完整的类型安全
API 兼容性
为 Authentik 2026.5 构建。
快速开始
使用 npx 直接运行服务:
AUTHENTIK_URL="https://auth.example.com" \
AUTHENTIK_TOKEN="your-api-token" \
npx -y @samik081/mcp-authentik
服务启动时会验证与 Authentik 的连接;如果凭据缺失或无效,会立即报错并提供清晰的错误信息。
Docker
使用 Docker 运行(stdio 传输,与 npx 相同):
docker run --rm -i \
-e AUTHENTIK_URL=https://auth.example.com \
-e AUTHENTIK_TOKEN=your-api-token \
ghcr.io/samik081/mcp-authentik
要将其作为使用 HTTP 传输的远程 MCP 服务运行:
docker run -d -p 3000:3000 \
-e MCP_TRANSPORT=http \
-e AUTHENTIK_URL=https://auth.example.com \
-e AUTHENTIK_TOKEN=your-api-token \
ghcr.io/samik081/mcp-authentik
MCP 端点位于 http://localhost:3000,健康检查端点位于 http://localhost:3000/health。
配置
Claude Code CLI(推荐):
# Using npx
claude mcp add --transport stdio authentik \
--env AUTHENTIK_URL=https://auth.example.com \
--env AUTHENTIK_TOKEN=your-api-token \
-- npx -y @samik081/mcp-authentik
# Using Docker
claude mcp add --transport stdio authentik \
--env AUTHENTIK_URL=https://auth.example.com \
--env AUTHENTIK_TOKEN=your-api-token \
-- docker run --rm -i ghcr.io/samik081/mcp-authentik
# Using remote HTTP (connect to a running Docker container or HTTP server)
claude mcp add --transport http authentik http://localhost:3000
JSON 配置(适用于 Claude Code .mcp.json、Claude Desktop claude_desktop_config.json、Cursor .cursor/mcp.json):
{
"mcpServers": {
"authentik": {
"command": "npx",
"args": ["-y", "@samik081/mcp-authentik"],
"env": {
"AUTHENTIK_URL": "https://auth.example.com",
"AUTHENTIK_TOKEN": "your-api-token"
}
}
}
}
Docker(stdio):
{
"mcpServers": {
"authentik": {
"command": "docker",
"args": ["run", "--rm", "-i",
"-e", "AUTHENTIK_URL=https://auth.example.com",
"-e", "AUTHENTIK_TOKEN=your-api-token",
"ghcr.io/samik081/mcp-authentik"
]
}
}
}
远程 MCP(连接到正在运行的 Docker 容器或 HTTP 服务):
{
"mcpServers": {
"authentik": {
"type": "streamable-http",
"url": "http://localhost:3000"
}
}
}
访问级别
使用 AUTHENTIK_ACCESS_TIER 环境变量控制可用工具:
| 级别 | 工具数 | 说明 |
|---|---|---|
full(默认) | 297 | 读写——完全控制 |
read-only | 144 | 只读——可安全用于监控,不会更改状态 |
- full:全部 297 个工具。包括创建、更新和删除用户、群组、应用、流程、提供商及所有其他资源。
- read-only:144 个工具。仅列出和查看资源,不会更改状态。
当前访问级别不可用的工具不会注册到 MCP 服务中,因此不会出现在 AI 工具的工具列表中,使上下文保持简洁。
环境变量
| 变量 | 必需 | 默认值 | 描述 |
|---|---|---|---|
AUTHENTIK_URL | 是 | -- | Authentik 实例 URL(例如:https://auth.example.com) |
AUTHENTIK_TOKEN | 是 | -- | 具有适当权限的 API 令牌 |
AUTHENTIK_ACCESS_TIER | 否 | full | read-only 仅使用只读工具,full 使用所有工具 |
AUTHENTIK_CATEGORIES | 否 | (全部) | 以逗号分隔的类别允许列表(例如:core,admin,flows) |
AUTHENTIK_TOOL_BLACKLIST | 否 | (无) | 以逗号分隔的要排除的工具名称列表(例如:authentik_users_delete) |
AUTHENTIK_TOOL_WHITELIST | 否 | (无) | 以逗号分隔的要强制包含的工具名称列表,可绕过访问级别和类别筛选 |
DEBUG | 否 | false | 启用调试日志并输出到 stderr |
MCP_TRANSPORT | 否 | stdio | 传输模式:stdio(默认)或 http |
MCP_PORT | 否 | 3000 | HTTP 服务端口(仅在 MCP_TRANSPORT=http 时使用) |
MCP_HOST | 否 | 0.0.0.0 | HTTP 服务绑定地址(仅在 MCP_TRANSPORT=http 时使用) |
MCP_SESSION_IDLE_TIMEOUT | 否 | 1800 | HTTP 会话关闭并释放其内存前的不活动秒数(连接着 SSE 流的会话永远不会关闭)。设为 0 可禁用。仅在 MCP_TRANSPORT=http 时使用 |
MCP_EXCLUDE_TOOL_TITLES | 否 | false | 设为 true 可在注册时省略工具标题(节省令牌) |
可用类别
admin、authenticators、core、crypto、endpoints、enterprise、events、flows、managed、oauth2、outposts、policies、property-mappings、providers、rac、rbac、reports、root、sources、ssf、stages、tenants
工具
mcp-authentik 提供 297 个按类别组织的工具。每个工具的 Access 列显示所需的最低级别:read-only(两个级别均可用)或 full(需要 full 级别)。Hints 列显示工具行为:read-only(不更改状态)、destructive(修改现有状态)、idempotent(调用两次会得到相同结果)。
管理(8 个工具)
| 工具 | 描述 | 访问级别 | 提示 |
|---|---|---|---|
authentik_admin_system_info | 获取系统信息,包括 HTTP 主机、运行时环境、服务端时间和嵌入式 outpost 状态 | read-only | read-only、idempotent |
authentik_admin_version | 获取 Authentik 版本信息,包括当前版本和构建哈希 | read-only | read-only、idempotent |
authentik_admin_settings_get | 获取当前系统设置 | read-only | read-only、idempotent |
authentik_admin_settings_update | 更新系统设置(部分更新) | full | destructive、idempotent |
authentik_admin_apps | 列出 Authentik 实例中已安装的 Django 应用 | read-only | read-only、idempotent |
authentik_admin_models | 列出 Authentik 实例中可用的所有数据模型 | read-only | read-only、idempotent |
authentik_admin_version_history | 列出 Authentik 版本历史记录 | read-only | read-only、idempotent |
authentik_admin_system_task_trigger | 触发所有系统任务(例如:清理、清除缓存) | full | — |
身份验证器(5 个工具)
| 工具 | 描述 | 访问权限 | 提示 | |------|-------------|--------|-------| | `authentik_authenticators_list` | 列出当前用户所有类型的验证器设备 | 只读 | 只读、幂等 | | `authentik_authenticators_admin_by_type_list` | 列出特定类型的验证器设备(管理员视图) | 只读 | 只读、幂等 | | `authentik_authenticators_admin_by_type_get` | 按类型和 ID 获取单个验证器设备(管理员视图) | 只读 | 只读、幂等 | | `authentik_authenticators_admin_by_type_delete` | 按类型和 ID 删除验证器设备(管理员视图) | 完全访问 | 具有破坏性 | | `authentik_authenticators_user_by_type_list` | 列出当前用户特定类型的验证器设备 | 只读 | 只读、幂等 |核心(45 个工具)
用户
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_users_list | 列出用户,可按用户名、电子邮件、姓名、活跃状态、超级用户状态、路径、群组和搜索条件进行筛选 | 只读 | 只读、幂等 |
authentik_users_get | 按数字 ID 获取单个用户 | 只读 | 只读、幂等 |
authentik_users_create | 创建新用户 | 完全访问 | — |
authentik_users_update | 更新现有用户(部分更新) | 完全访问 | 具有破坏性、幂等 |
authentik_users_delete | 按数字 ID 删除用户 | 完全访问 | 具有破坏性 |
authentik_users_me | 获取当前已认证用户的信息 | 只读 | 只读、幂等 |
authentik_users_set_password | 为用户设置新密码 | 完全访问 | 具有破坏性、幂等 |
authentik_users_create_service_account | 创建新的服务账户用户,可选择关联群组和令牌 | 完全访问 | — |
authentik_users_generate_recovery_link | 生成临时恢复链接,供用户重新获得账户访问权限 | 完全访问 | — |
authentik_users_send_recovery_email | 使用指定的电子邮件阶段向用户发送恢复邮件 | 完全访问 | — |
authentik_users_list_paths | 列出系统中配置的所有用户路径 | 只读 | 只读、幂等 |
authentik_users_account_lockdown | 锁定用户账户,将其停用并终止其活跃会话 | 完全访问 | 具有破坏性 |
authentik_users_export | 触发用户导出,可选择筛选条件,并生成可下载的导出文件 | 完全访问 | — |
群组
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_groups_list | 列出群组,可按名称、超级用户状态、成员和搜索条件进行筛选 | 只读 | 只读、幂等 |
authentik_groups_get | 按 UUID 获取单个群组 | 只读 | 只读、幂等 |
authentik_groups_create | 创建新群组,可选择设置父群组 UUID、超级用户状态、用户和自定义属性 | 完全访问 | — |
authentik_groups_update | 更新现有群组(部分更新) | 完全访问 | 具有破坏性、幂等 |
authentik_groups_delete | 按 UUID 删除群组 | 完全访问 | 具有破坏性 |
authentik_groups_add_user | 按群组 UUID 和用户 ID 将用户添加到群组 | 完全访问 | 幂等 |
authentik_groups_remove_user | 按群组 UUID 和用户 ID 从群组中移除用户 | 完全访问 | 具有破坏性 |
应用
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_apps_list | 列出应用,可按名称、slug、组、搜索词等筛选 | 只读 | 只读、幂等 |
authentik_apps_get | 根据 slug 获取单个应用 | 只读 | 只读、幂等 |
authentik_apps_create | 创建新应用,并设置名称、slug,以及可选的提供程序、组和元数据 | 完全 | — |
authentik_apps_update | 更新现有应用(部分更新) | 完全 | 有破坏性、幂等 |
authentik_apps_set_icon_url | 将应用图标设为外部 URL(设置 meta_icon 字段),或使用 clear: true 清除当前图标 | 完全 | 有破坏性、幂等 |
authentik_apps_delete | 根据 slug 删除应用 | 完全 | 有破坏性 |
authentik_apps_check_access | 检查特定用户是否有权访问应用 | 只读 | 只读、幂等 |
authentik_apps_update_transactional | 在单个原子事务中创建或更新应用及其提供程序 | 完全 | 有破坏性、幂等 |
authentik_app_entitlements_list | 列出应用授权,可选择筛选条件 | 只读 | 只读、幂等 |
authentik_app_entitlements_get | 根据 UUID 获取单个应用授权 | 只读 | 只读、幂等 |
authentik_app_entitlements_create | 创建新的应用授权 | 完全 | — |
authentik_app_entitlements_update | 更新现有应用授权(部分更新) | 完全 | 有破坏性、幂等 |
authentik_app_entitlements_delete | 根据 UUID 删除应用授权 | 完全 | 有破坏性 |
令牌
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_tokens_list | 列出令牌,可按标识符、用途、托管状态和搜索词等筛选 | 只读 | 只读、幂等 |
authentik_tokens_get | 根据标识符获取单个令牌 | 只读 | 只读、幂等 |
authentik_tokens_create | 创建新令牌,并设置标识符以及可选的用途、描述和过期设置 | 完全 | — |
authentik_tokens_update | 更新现有令牌(部分更新) | 完全 | 有破坏性、幂等 |
authentik_tokens_delete | 根据标识符删除令牌 | 完全 | 有破坏性 |
authentik_tokens_view_key | 查看令牌的原始密钥值(需要特权,会记录日志) | 完全 | 只读、幂等 |
authentik_tokens_set_key | 为令牌设置自定义密钥值 | 完全 | 有破坏性、幂等 |
品牌
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_brands_list | 列出品牌,可按 UUID、域名和搜索词筛选 | 只读 | 只读、幂等 |
authentik_brands_get | 根据 UUID 获取单个品牌 | 只读 | 只读、幂等 |
authentik_brands_create | 创建新品牌,并设置域名、品牌设置、流程分配以及可选属性 | 完全 | — |
authentik_brands_update | 更新现有品牌(部分更新) | 完全 | 有破坏性、幂等 |
authentik_brands_delete | 根据 UUID 删除品牌 | 完全 | 有破坏性 |
authentik_brands_current | 获取当前域名的品牌配置 | 只读 | 只读、幂等 |
加密(8 个工具)
| 工具 | 描述 | 访问权限 | 提示 | |------|-------------|--------|-------| | `authentik_crypto_list` | 列出证书密钥对,可选择筛选条件 | 只读 | 只读,幂等 | | `authentik_crypto_get` | 根据 UUID 获取单个证书密钥对 | 只读 | 只读,幂等 | | `authentik_crypto_create` | 根据 PEM 编码的证书和可选的私钥数据创建新的证书密钥对 | 完全访问 | — | | `authentik_crypto_update` | 更新现有证书密钥对(部分更新) | 完全访问 | 有破坏性,幂等 | | `authentik_crypto_delete` | 根据 UUID 删除证书密钥对 | 完全访问 | 有破坏性 | | `authentik_crypto_generate` | 生成新的自签名证书密钥对(RSA、ECDSA、ED25519 或 ED448) | 完全访问 | — | | `authentik_crypto_view_certificate` | 查看密钥对的 PEM 编码证书数据 | 只读 | 只读,幂等 | | `authentik_crypto_view_private_key` | 查看密钥对的 PEM 编码私钥数据(敏感) | 完全访问 | 只读,幂等 |端点(41 个工具)
企业级设备和端点管理:受管设备、设备访问组、设备与策略绑定,以及用于 Agent、注册、Fleet、Google Chrome 和 Apple ISE-PSSO 的连接器。
设备
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_endpoints_devices_list | 列出受管端点设备,可按名称或标识符筛选、搜索和排序 | 只读 | 只读,幂等 |
authentik_endpoints_devices_get | 根据 UUID 获取单个端点设备 | 只读 | 只读,幂等 |
authentik_endpoints_devices_summary | 获取受管端点设备的汇总统计信息 | 只读 | 只读,幂等 |
authentik_endpoints_devices_update | 更新端点设备(部分更新) | 完全访问 | 有破坏性,幂等 |
authentik_endpoints_devices_delete | 根据 UUID 删除端点设备(不可逆) | 完全访问 | 有破坏性 |
设备访问组
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_endpoints_device_access_groups_list | 列出设备访问组,可按名称筛选、搜索和排序 | 只读 | 只读,幂等 |
authentik_endpoints_device_access_groups_get | 根据 UUID 获取单个设备访问组 | 只读 | 只读,幂等 |
authentik_endpoints_device_access_groups_create | 创建新的设备访问组(将设备组合起来以供策略定位) | 完全访问 | — |
authentik_endpoints_device_access_groups_update | 更新设备访问组(部分更新) | 完全访问 | 有破坏性,幂等 |
authentik_endpoints_device_access_groups_delete | 根据 UUID 删除设备访问组(不可逆) | 完全访问 | 有破坏性 |
设备绑定
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_endpoints_device_bindings_list | 列出设备与用户的策略绑定,可选择筛选条件 | 只读 | 只读,幂等 |
authentik_endpoints_device_bindings_get | 根据 UUID 获取单个设备绑定 | 只读 | 只读,幂等 |
authentik_endpoints_device_bindings_create | 创建新的设备绑定,将策略、组或用户关联到目标,并设置评估顺序 | 完全访问 | — |
authentik_endpoints_device_bindings_update | 更新设备绑定(部分更新) | 完全访问 | 有破坏性,幂等 |
authentik_endpoints_device_bindings_delete | 根据 UUID 删除设备绑定(不可逆) | 完全访问 | 有破坏性 |
Agent 连接器
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_endpoints_agent_connectors_list | 列出端点 Agent 连接器,可选择筛选 | 只读 | 只读、幂等 |
authentik_endpoints_agent_connectors_get | 根据 UUID 获取单个 Agent 连接器 | 只读 | 只读、幂等 |
authentik_endpoints_agent_connectors_create | 创建新的端点 Agent 连接器 | 完全 | — |
authentik_endpoints_agent_connectors_update | 更新 Agent 连接器(部分更新) | 完全 | 有破坏性、幂等 |
authentik_endpoints_agent_connectors_delete | 根据 UUID 删除 Agent 连接器(不可逆) | 完全 | 有破坏性 |
注册令牌
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_endpoints_enrollment_tokens_list | 列出 Agent 注册令牌,可选择筛选 | 只读 | 只读、幂等 |
authentik_endpoints_enrollment_tokens_get | 根据 UUID 获取单个注册令牌 | 只读 | 只读、幂等 |
authentik_endpoints_enrollment_tokens_create | 创建绑定到连接器的新 Agent 注册令牌(用于注册设备) | 完全 | — |
authentik_endpoints_enrollment_tokens_update | 更新注册令牌(部分更新) | 完全 | 有破坏性、幂等 |
authentik_endpoints_enrollment_tokens_delete | 根据 UUID 删除注册令牌(不可逆) | 完全 | 有破坏性 |
Fleet 连接器
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_endpoints_fleet_connectors_list | 列出 Fleet 设备管理连接器,可选择筛选 | 只读 | 只读、幂等 |
authentik_endpoints_fleet_connectors_get | 根据 UUID 获取单个 Fleet 连接器 | 只读 | 只读、幂等 |
authentik_endpoints_fleet_connectors_create | 创建指向 Fleet 设备管理实例的新 Fleet 连接器 | 完全 | — |
authentik_endpoints_fleet_connectors_update | 更新 Fleet 连接器(部分更新) | 完全 | 有破坏性、幂等 |
authentik_endpoints_fleet_connectors_delete | 根据 UUID 删除 Fleet 连接器(不可逆) | 完全 | 有破坏性 |
Google Chrome 连接器
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_endpoints_google_chrome_connectors_list | 列出 Google Chrome 设备管理连接器,可选择筛选 | 只读 | 只读、幂等 |
authentik_endpoints_google_chrome_connectors_get | 根据 UUID 获取单个 Google Chrome 连接器 | 只读 | 只读、幂等 |
authentik_endpoints_google_chrome_connectors_create | 使用服务账号凭据创建新的 Google Chrome 连接器 | 完全 | — |
authentik_endpoints_google_chrome_connectors_update | 更新 Google Chrome 连接器(部分更新) | 完全 | 有破坏性、幂等 |
authentik_endpoints_google_chrome_connectors_delete | 根据 UUID 删除 Google Chrome 连接器(不可逆) | 完全 | 有破坏性 |
ISE-PSSO Agent
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_endpoints_psso_ise_list | 列出 Apple Independent Secure Enclave (ISE-PSSO) Agent,可选择筛选 | 只读 | 只读、幂等 |
authentik_endpoints_psso_ise_get | 根据 UUID 获取单个 ISE-PSSO Agent | 只读 | 只读、幂等 |
authentik_endpoints_psso_ise_delete | 根据 UUID 删除 ISE-PSSO Agent(不可逆) | 完全 | 有破坏性 |
连接器(通用注册表)
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_endpoints_connectors_list | 列出所有类型的端点连接器(通用注册表视图) | 只读 | 只读、幂等 |
authentik_endpoints_connectors_get | 通过 UUID 从通用注册表中获取单个端点连接器 | 只读 | 只读、幂等 |
authentik_endpoints_connectors_delete | 通过 UUID 从通用注册表中删除端点连接器(不可撤销) | 完全访问 | 破坏性操作 |
企业版(8 个工具)
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_enterprise_license_list | 列出企业版许可证,可选筛选条件 | 只读 | 只读、幂等 |
authentik_enterprise_license_get | 通过 UUID 获取单个企业版许可证 | 只读 | 只读、幂等 |
authentik_enterprise_license_create | 安装新的企业版许可证密钥 | 完全访问 | — |
authentik_enterprise_license_update | 更新现有企业版许可证(部分更新) | 完全访问 | 破坏性操作、幂等 |
authentik_enterprise_license_delete | 通过 UUID 删除企业版许可证 | 完全访问 | 破坏性操作 |
authentik_enterprise_license_summary | 获取企业版许可证状态总览 | 只读 | 只读、幂等 |
authentik_enterprise_license_forecast | 根据当前增长情况预测一年后所需的用户数量 | 只读 | 只读、幂等 |
authentik_enterprise_install_id | 获取 authentik 安装 ID(用于生成许可证) | 只读 | 只读、幂等 |
事件(25 个工具)
事件
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_events_list | 列出审计事件,可按操作、用户名、客户端 IP 等进行筛选 | 只读 | 只读、幂等 |
authentik_events_get | 根据 UUID 获取单条审计事件 | 只读 | 只读、幂等 |
authentik_events_create | 创建新的审计事件 | 完全访问 | — |
authentik_events_actions_list | 列出所有可用的事件操作类型 | 只读 | 只读、幂等 |
authentik_events_top_per_user | 获取按用户数量分组的排名前 N 的事件 | 只读 | 只读、幂等 |
authentik_events_volume | 获取指定筛选条件和时间范围内的事件量数据 | 只读 | 只读、幂等 |
authentik_events_stats | 获取按所提供的计数步长分桶的聚合事件统计信息,可选择性地进行筛选 | 只读 | 只读、幂等 |
authentik_events_rules_list | 列出通知规则,可选择性地进行筛选 | 只读 | 只读、幂等 |
authentik_events_rules_get | 根据 UUID 获取单条通知规则 | 只读 | 只读、幂等 |
authentik_events_rules_create | 创建新的通知规则 | 完全访问 | — |
authentik_events_rules_update | 更新现有通知规则(部分更新) | 完全访问 | 破坏性、幂等 |
authentik_events_rules_delete | 根据 UUID 删除通知规则 | 完全访问 | 破坏性 |
authentik_events_transports_list | 列出通知传输方式,可选择性地进行筛选 | 只读 | 只读、幂等 |
authentik_events_transports_get | 根据 UUID 获取单条通知传输方式 | 只读 | 只读、幂等 |
authentik_events_transports_create | 创建新的通知传输方式 | 完全访问 | — |
authentik_events_transports_update | 更新现有通知传输方式(部分更新) | 完全访问 | 破坏性、幂等 |
authentik_events_transports_delete | 根据 UUID 删除通知传输方式 | 完全访问 | 破坏性 |
authentik_events_transports_test | 使用指定的传输方式发送测试通知 | 完全访问 | — |
authentik_events_notifications_list | 列出当前用户的通知,可选择性地进行筛选 | 只读 | 只读、幂等 |
authentik_events_notifications_update | 更新通知,通常用于将其标记为已读或未读 | 完全访问 | 破坏性、幂等 |
authentik_events_notifications_delete | 根据 UUID 删除通知 | 完全访问 | 破坏性 |
authentik_events_notifications_mark_all_seen | 将当前用户的所有通知标记为已读 | 完全访问 | 破坏性、幂等 |
authentik_events_export | 触发事件导出,可选择性地进行筛选,并生成可下载的导出文件 | 完全访问 | — |
系统任务
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_tasks_list | 列出后台任务,可按执行者名称、队列、状态、聚合结果状态(例如错误/警告)或搜索条件进行筛选 | 只读 | 只读、幂等 |
authentik_tasks_get | 根据消息 ID 获取特定任务的详细信息 | 只读 | 只读、幂等 |
authentik_tasks_retry | 根据消息 ID 重试失败的任务 | 完全访问 | — |
流程(15 个工具)
| 工具 | 描述 | 访问权限 | 提示 | |------|-------------|--------|-------| | `authentik_flows_list` | 列出流程,可按搜索、用途和排序方式筛选 | 只读 | 只读、幂等 | | `authentik_flows_get` | 根据 slug 获取单个流程 | 只读 | 只读、幂等 | | `authentik_flows_create` | 创建流程,并设置名称、slug、标题和用途 | 完全访问 | — | | `authentik_flows_update` | 更新现有流程(部分更新) | 完全访问 | 破坏性操作、幂等 | | `authentik_flows_delete` | 根据 slug 删除流程 | 完全访问 | 破坏性操作 | | `authentik_flows_diagram` | 获取流程的可视化图表,显示其阶段和绑定 | 只读 | 只读、幂等 | | `authentik_flows_export` | 将流程导出为 YAML | 只读 | 只读、幂等 | | `authentik_flows_import` | 通过托管蓝图导入端点,从 YAML 内容导入流程/蓝图(合并或更新现有对象,不会先清除现有流程) | 完全访问 | — | | `authentik_flows_cache_info` | 获取有关缓存流程的信息 | 只读 | 只读、幂等 | | `authentik_flows_cache_clear` | 清除流程缓存 | 完全访问 | 破坏性操作、幂等 | | `authentik_flows_bindings_list` | 列出流程阶段绑定,可选用筛选条件 | 只读 | 只读、幂等 | | `authentik_flows_bindings_get` | 根据 UUID 获取单个流程阶段绑定 | 只读 | 只读、幂等 | | `authentik_flows_bindings_create` | 创建新的流程阶段绑定,将某个阶段附加到流程 | 完全访问 | — | | `authentik_flows_bindings_update` | 更新现有流程阶段绑定 | 完全访问 | 破坏性操作、幂等 | | `authentik_flows_bindings_delete` | 根据 UUID 删除流程阶段绑定 | 完全访问 | 破坏性操作 |托管(7 个工具)
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_blueprints_list | 列出托管蓝图实例,可选用筛选条件 | 只读 | 只读、幂等 |
authentik_blueprints_get | 根据 UUID 获取单个蓝图实例 | 只读 | 只读、幂等 |
authentik_blueprints_create | 创建新的托管蓝图实例 | 完全访问 | — |
authentik_blueprints_update | 更新现有蓝图实例(部分更新) | 完全访问 | 破坏性操作、幂等 |
authentik_blueprints_delete | 根据 UUID 删除蓝图实例 | 完全访问 | 破坏性操作 |
authentik_blueprints_available | 列出所有可用于创建蓝图实例的蓝图文件 | 只读 | 只读、幂等 |
authentik_blueprints_apply | 应用蓝图实例并执行其配置 | 完全访问 | 破坏性操作、幂等 |
OAuth2(9 个工具)
| 工具 | 描述 | 访问权限 | 提示 | |------|-------------|--------|-------| | `authentik_oauth2_access_tokens_list` | 列出 OAuth2 访问令牌,可选筛选条件 | 只读 | 只读、幂等 | | `authentik_oauth2_access_tokens_get` | 根据数字 ID 获取单个 OAuth2 访问令牌 | 只读 | 只读、幂等 | | `authentik_oauth2_access_tokens_delete` | 根据 ID 删除(撤销)OAuth2 访问令牌 | 完全访问 | 破坏性操作 | | `authentik_oauth2_auth_codes_list` | 列出 OAuth2 授权码,可选筛选条件 | 只读 | 只读、幂等 | | `authentik_oauth2_auth_codes_get` | 根据数字 ID 获取单个 OAuth2 授权码 | 只读 | 只读、幂等 | | `authentik_oauth2_auth_codes_delete` | 根据 ID 删除 OAuth2 授权码 | 完全访问 | 破坏性操作 | | `authentik_oauth2_refresh_tokens_list` | 列出 OAuth2 刷新令牌,可选筛选条件 | 只读 | 只读、幂等 | | `authentik_oauth2_refresh_tokens_get` | 根据数字 ID 获取单个 OAuth2 刷新令牌 | 只读 | 只读、幂等 | | `authentik_oauth2_refresh_tokens_delete` | 根据 ID 删除(撤销)OAuth2 刷新令牌 | 完全访问 | 破坏性操作 |出站代理(15 个工具)
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_outposts_list | 列出出站代理实例,可选筛选条件 | 只读 | 只读、幂等 |
authentik_outposts_get | 根据 UUID 获取单个出站代理实例 | 只读 | 只读、幂等 |
authentik_outposts_create | 创建新的出站代理实例 | 完全访问 | — |
authentik_outposts_update | 更新现有出站代理实例(部分更新) | 完全访问 | 破坏性操作、幂等 |
authentik_outposts_delete | 根据 UUID 删除出站代理实例 | 完全访问 | 破坏性操作 |
authentik_outposts_health | 获取出站代理的当前健康状态 | 只读 | 只读、幂等 |
authentik_outposts_default_settings | 获取全局默认出站代理配置 | 只读 | 只读、幂等 |
authentik_outposts_service_connections_list | 列出所有服务连接(Docker 和 Kubernetes),可选筛选条件 | 只读 | 只读、幂等 |
authentik_outposts_service_connections_state | 获取服务连接的当前状态 | 只读 | 只读、幂等 |
authentik_outposts_service_connections_types | 列出所有可用的服务连接类型 | 只读 | 只读、幂等 |
authentik_outposts_docker_create | 创建新的 Docker 服务连接 | 完全访问 | — |
authentik_outposts_docker_update | 更新现有 Docker 服务连接(部分更新) | 完全访问 | 破坏性操作、幂等 |
authentik_outposts_kubernetes_create | 创建新的 Kubernetes 服务连接 | 完全访问 | — |
authentik_outposts_kubernetes_update | 更新现有 Kubernetes 服务连接(部分更新) | 完全访问 | 破坏性操作、幂等 |
authentik_outposts_service_connections_delete | 根据 UUID 删除服务连接 | 完全访问 | 破坏性操作 |
策略(19 个工具)
策略采用类型+配置模式。跨类型工具可对任意策略进行操作,而按类型划分的工具则接受 policy_type 参数。可用类型:dummy、event_matcher、expression、geoip、password、password_expiry、reputation、unique_password。
属性映射(10 个工具)
属性映射采用类型 + 配置模式。跨类型工具适用于任何映射,而按类型划分的工具接受 mapping_type 参数。可用类型:notification、provider_google_workspace、provider_microsoft_entra、provider_rac、provider_radius、provider_saml、provider_scim、provider_scope、source_kerberos、source_ldap、source_oauth、source_plex、source_saml、source_scim。
| Tool | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_property_mappings_list | 列出所有类型的全部属性映射 | 只读 | 只读、幂等 |
authentik_property_mappings_get | 根据 UUID 获取单个属性映射(跨类型) | 只读 | 只读、幂等 |
authentik_property_mappings_delete | 根据 UUID 删除属性映射 | 完全访问 | 破坏性操作 |
authentik_property_mappings_types_list | 列出所有可用的属性映射类型 | 只读 | 只读、幂等 |
authentik_property_mappings_test | 根据 UUID 测试属性映射 | 完全访问 | 只读、幂等 |
authentik_property_mappings_by_type_list | 列出特定类型的属性映射 | 只读 | 只读、幂等 |
authentik_property_mappings_by_type_get | 根据类型和 UUID 获取单个属性映射 | 只读 | 只读、幂等 |
authentik_property_mappings_by_type_create | 创建特定类型的新属性映射 | 完全访问 | — |
authentik_property_mappings_by_type_update | 根据类型和 UUID 更新现有属性映射 | 完全访问 | 破坏性操作、幂等 |
authentik_property_mappings_by_type_delete | 根据类型和 UUID 删除属性映射 | 完全访问 | 破坏性操作 |
提供商(13 个工具)
提供商采用类型 + 配置模式。跨类型工具可对任何提供商进行操作,而按类型划分的工具接受 provider_type 参数。可用类型:oauth2、saml、ldap、proxy、radius、scim、rac、google_workspace、microsoft_entra、wsfed。
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_providers_list | 列出所有类型的提供商,并可选择筛选条件 | 只读 | 只读、幂等 |
authentik_providers_get | 根据数字 ID 获取单个提供商(跨类型) | 只读 | 只读、幂等 |
authentik_providers_delete | 根据数字 ID 删除提供商(跨类型) | 完全访问 | 破坏性操作 |
authentik_providers_types_list | 列出所有可用的提供商类型 | 只读 | 只读、幂等 |
authentik_providers_by_type_list | 列出指定类型的提供商,并可选择筛选条件 | 只读 | 只读、幂等 |
authentik_providers_by_type_get | 根据数字 ID 获取指定类型的单个提供商 | 只读 | 只读、幂等 |
authentik_providers_by_type_create | 创建指定类型的新提供商 | 完全访问 | — |
authentik_providers_by_type_update | 更新指定类型的现有提供商 | 完全访问 | 破坏性操作、幂等 |
authentik_providers_by_type_delete | 根据数字 ID 删除指定类型的提供商 | 完全访问 | 破坏性操作 |
authentik_providers_oauth2_setup_urls | 获取 OAuth2 提供商设置 URL(授权、令牌、用户信息等) | 只读 | 只读、幂等 |
authentik_providers_saml_metadata | 获取 SAML 提供商元数据 XML | 只读 | 只读、幂等 |
authentik_providers_wsfed_metadata | 获取 WS-Federation 提供商元数据 XML | 只读 | 只读、幂等 |
authentik_providers_wsfed_preview_user | 预览 WS-Federation 提供商为用户生成的属性映射输出 | 只读 | 只读、幂等 |
RAC(8 个工具)
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_rac_endpoints_list | 列出 RAC(远程访问控制)端点,并可选择筛选条件 | 只读 | 只读、幂等 |
authentik_rac_endpoints_get | 根据 UUID 获取单个 RAC 端点 | 只读 | 只读、幂等 |
authentik_rac_endpoints_create | 创建用于远程访问的新 RAC 端点 | 完全访问 | — |
authentik_rac_endpoints_update | 更新现有 RAC 端点(部分更新) | 完全访问 | 破坏性操作、幂等 |
authentik_rac_endpoints_delete | 根据 UUID 删除 RAC 端点 | 完全访问 | 破坏性操作 |
authentik_rac_connection_tokens_list | 列出 RAC 连接令牌,并可选择筛选条件(由系统管理,不提供创建功能) | 只读 | 只读、幂等 |
authentik_rac_connection_tokens_get | 根据 UUID 获取单个 RAC 连接令牌 | 只读 | 只读、幂等 |
authentik_rac_connection_tokens_delete | 根据 UUID 删除 RAC 连接令牌 | 完全访问 | 破坏性操作 |
RBAC(11 个工具)
RBAC 权限仅适用于角色:将权限分配给角色,然后通过角色成员关系将角色授予用户。
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_rbac_roles_list | 列出 RBAC 角色,可选筛选条件 | 只读 | 只读、幂等 |
authentik_rbac_roles_get | 根据 UUID 获取单个 RBAC 角色 | 只读 | 只读、幂等 |
authentik_rbac_roles_create | 创建新的 RBAC 角色 | 完全访问 | — |
authentik_rbac_roles_update | 更新现有 RBAC 角色(部分更新) | 完全访问 | 有破坏性、幂等 |
authentik_rbac_roles_delete | 根据 UUID 删除 RBAC 角色 | 完全访问 | 有破坏性 |
authentik_rbac_permissions_list | 列出所有可用权限,可按模型和应用筛选 | 只读 | 只读、幂等 |
authentik_rbac_permissions_by_role_list | 列出分配给特定模型的对象权限,可按角色筛选 | 只读 | 只读、幂等 |
authentik_rbac_permissions_by_role_assign | 将权限分配给角色 | 完全访问 | 幂等 |
authentik_rbac_permissions_by_role_unassign | 从角色取消分配权限 | 完全访问 | 有破坏性 |
authentik_rbac_roles_add_user | 根据角色 UUID 和用户 ID 将用户添加到角色(通过角色授予权限) | 完全访问 | 幂等 |
authentik_rbac_roles_remove_user | 根据角色 UUID 和用户 ID 从角色中移除用户 | 完全访问 | 有破坏性 |
报告(3 个工具)
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_reports_export_list | 列出数据导出,可选搜索和排序 | 只读 | 只读、幂等 |
authentik_reports_export_get | 根据 ID 获取单个数据导出,包括内容类型、查询、文件 URL 和完成状态 | 只读 | 只读、幂等 |
authentik_reports_export_delete | 根据 ID 删除数据导出(不可撤销) | 完全访问 | 有破坏性 |
根配置(1 个工具)
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_root_config | 获取根配置,包括功能、错误报告设置和 UI 配置 | 只读 | 只读、幂等 |
来源(11 个工具)
来源采用类型 + 配置模式。跨类型工具可用于任何来源,而按类型划分的工具接受 source_type 参数。可用类型:oauth、saml、ldap、plex、kerberos、scim、telegram。
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_sources_list | 列出所有类型的来源(OAuth、SAML、LDAP、Plex、Kerberos、SCIM) | 只读 | 只读、幂等 |
authentik_sources_get | 根据 slug 获取单个来源(跨类型) | 只读 | 只读、幂等 |
authentik_sources_delete | 根据 slug 删除来源 | 完全访问 | 有破坏性 |
authentik_sources_types_list | 列出所有可用的来源类型 | 只读 | 只读、幂等 |
authentik_sources_by_type_list | 列出特定类型的来源 | 只读 | 只读、幂等 |
authentik_sources_by_type_get | 根据类型和 slug 获取单个来源 | 只读 | 只读、幂等 |
authentik_sources_by_type_create | 创建特定类型的新来源 | 完全访问 | — |
authentik_sources_by_type_update | 根据类型和 slug 更新现有来源 | 完全访问 | 有破坏性、幂等 |
authentik_sources_by_type_delete | 根据类型和 slug 删除来源 | 完全访问 | 有破坏性 |
authentik_sources_user_connections_list | 列出所有来源类型的用户与来源连接 | 只读 | 只读、幂等 |
authentik_sources_telegram_connect_user | 使用 Telegram 身份验证数据(登录小组件负载)将用户连接到 Telegram 来源 | 完全访问 | — |
SSF(3 个工具)
| 工具 | 描述 | 访问权限 | 提示 | |------|-------------|--------|-------| | `authentik_ssf_streams_list` | 列出 Shared Signals Framework (SSF) 事件流,可选筛选条件 | 只读 | 只读、幂等 | | `authentik_ssf_streams_get` | 根据 UUID 获取单个 SSF 事件流 | 只读 | 只读、幂等 | | `authentik_ssf_streams_delete` | 根据 UUID 删除 Shared Signals Framework (SSF) 事件流(不可撤销) | 完整 | 破坏性操作 |阶段(19 个工具)
阶段使用类型 + 配置模式。跨类型工具可操作任何阶段,而按类型划分的工具接受 stage_type 参数。可用类型:account_lockdown、authenticator_duo、authenticator_email、authenticator_endpoint_gdtc、authenticator_sms、authenticator_static、authenticator_totp、authenticator_validate、authenticator_webauthn、captcha、consent、deny、dummy、email、endpoint、identification、invitation、mtls、password、prompt、redirect、source、user_delete、user_login、user_logout、user_write。
| 工具 | 描述 | 访问权限 | 提示 |
|---|---|---|---|
authentik_stages_list | 列出所有类型的全部阶段,可选筛选条件 | 只读 | 只读、幂等 |
authentik_stages_get | 根据 UUID 获取单个阶段(跨类型) | 只读 | 只读、幂等 |
authentik_stages_delete | 根据 UUID 删除一个阶段(跨类型) | 完整 | 破坏性操作 |
authentik_stages_types_list | 列出所有可用的阶段类型 | 只读 | 只读、幂等 |
authentik_stages_by_type_list | 列出指定类型的阶段,可选筛选条件 | 只读 | 只读、幂等 |
authentik_stages_by_type_get | 根据 UUID 获取指定类型的单个阶段 | 只读 | 只读、幂等 |
authentik_stages_by_type_create | 创建指定类型的新阶段 | 完整 | — |
authentik_stages_by_type_update | 更新指定类型的现有阶段 | 完整 | 破坏性操作、幂等 |
authentik_stages_by_type_delete | 根据 UUID 删除指定类型的阶段 | 完整 | 破坏性操作 |
authentik_invitations_list | 列出邀请,可选筛选条件 | 只读 | 只读、幂等 |
authentik_invitations_get | 根据 UUID 获取单个邀请 | 只读 | 只读、幂等 |
authentik_invitations_create | 创建新邀请 | 完整 | — |
authentik_invitations_update | 更新现有邀请 | 完整 | 破坏性操作、幂等 |
authentik_invitations_delete | 根据 UUID 删除邀请 | 完整 | 破坏性操作 |
authentik_invitations_send_email | 向一个或多个收件人发送现有邀请的电子邮件 | 完整 | — |
authentik_prompts_list | 列出提示词字段定义,可选筛选条件 | 只读 | 只读、幂等 |
authentik_prompts_get | 根据 UUID 获取单个提示词字段定义 | 只读 | 只读、幂等 |
authentik_prompts_create | 创建新的提示词字段定义 | 完整 | — |
authentik_prompts_update | 更新现有提示词字段定义 | 完整 | 破坏性操作、幂等 |
authentik_prompts_delete | 根据 UUID 删除提示词字段定义 | 完整 | 破坏性操作 |
租户(10 个工具)
| 工具 | 描述 | 访问权限 | 提示 | |------|-------------|--------|-------| | `authentik_tenants_list` | 使用可选筛选条件列出租户 | 只读 | 只读、幂等 | | `authentik_tenants_get` | 根据 UUID 获取单个租户 | 只读 | 只读、幂等 | | `authentik_tenants_create` | 创建新租户 | 完全访问 | — | | `authentik_tenants_update` | 更新现有租户(部分更新) | 完全访问 | 有破坏性、幂等 | | `authentik_tenants_delete` | 根据 UUID 删除租户(不可撤销,会移除该租户的所有数据) | 完全访问 | 有破坏性 | | `authentik_tenants_create_admin_group` | 为租户创建管理组并向其中添加用户 | 完全访问 | — | | `authentik_tenants_create_recovery_key` | 为租户中的用户创建恢复密钥 | 完全访问 | — | | `authentik_tenants_domains_list` | 使用可选筛选条件列出租户域名 | 只读 | 只读、幂等 | | `authentik_tenants_domains_create` | 为租户创建新域名 | 完全访问 | — | | `authentik_tenants_domains_delete` | 根据数字 ID 删除租户域名 | 完全访问 | 有破坏性 |已知限制
- 应用图标仅支持 URL。
authentik_apps_set_icon_url会将meta_icon字段设为外部 URL,也可以使用clear: true清除当前图标。此 MCP 服务不支持上传二进制图标文件。 - 无法检索端点注册密钥。 可以创建和管理注册令牌,但无法通过
@goauthentik/apiSDK 查看原始注册密钥值。
验证是否正常工作
配置好 MCP 客户端后,向 AI 助手询问:
“当前运行的 Authentik 版本是什么?”
如果连接正常,助手会调用 authentik_admin_version 并返回服务版本和构建哈希。
使用示例
- “列出管理组中的所有用户” -- 调用
authentik_users_list和authentik_groups_list,查找并显示管理组成员。 - “配置了哪些应用?” -- 调用
authentik_apps_list,显示所有应用及其提供程序和用户组。 - “为 [email protected] 创建新用户” -- 调用
authentik_users_create,创建新用户账户。 - “汇总所有受管理的端点设备” -- 调用
authentik_endpoints_devices_summary,报告设备统计汇总信息。
故障排除
连接错误
- 确认运行 MCP 服务的机器可以访问
AUTHENTIK_URL - 确保 URL 末尾没有斜杠(使用
https://auth.example.com,而不是https://auth.example.com/) - 如果实例使用 TLS,请确认 HTTPS 配置正确
令牌权限
- API 令牌必须具备使用所需工具的足够权限
- 如果令牌只有读取权限,访问级别为
full的工具将无法使用——设置AUTHENTIK_ACCESS_TIER=read-only以限制权限范围 - 在 Authentik 管理界面的 Directory > Tokens and App passwords 下创建令牌
按类别筛选
- 使用
AUTHENTIK_CATEGORIES时,请填写上方列出的实际类别值(例如core,admin,flows),而不是源文件名 - 用户、用户组、应用、令牌和品牌都属于
core类别,并非单独的类别 - 使用逗号分隔的值,且不要添加空格(例如
core,admin,events)
开发
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode (auto-reload)
npm run dev
# Open the MCP Inspector for interactive testing
npm run inspect
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。