mcpField
A
Authentik MCP Server

Authentik MCP Server

本地服务
github.com/Samik081安全144 周前更新

关于 Authentik MCP Server

Authentik MCP Server 将 Authentik 身份管理操作提供给 AI 助手和开发工具,适用于需要管理用户、组、应用及认证配置的团队。它支持只读访问和按类别筛选工具。

主要功能

  1. 01管理用户、组和应用
  2. 02管理流程、策略与提供方
  3. 03只读访问模式
  4. 04按类别筛选可用工具
  5. 05支持 stdio 与 HTTP 传输

适用场景

  1. 01查询 Authentik 用户和组信息
  2. 02创建或更新应用与身份配置
  3. 03以只读模式监控 Authentik
  4. 04按需限制 Agent 可见的工具

MCP 相关

该 MCP 服务将 Authentik API 操作封装为工具,供 MCP 客户端调用;可通过 stdio 或 Streamable HTTP 传输提供。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"samik081-mcp-authentik": {
"command": "npx",
"args": [
"-y",
"@samik081/mcp-authentik"
],
"env": {
"AUTHENTIK_URL": "<AUTHENTIK_URL>",
"AUTHENTIK_TOKEN": "<AUTHENTIK_TOKEN>"
}
}
}
}
启动命令npx -y @samik081/mcp-authentik
需要配置的环境变量
AUTHENTIK_URL密钥URL of the Authentik instance (e.g. https://auth.example.com)
AUTHENTIK_TOKEN密钥Authentik API token

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@samik081/mcp-authentik0.8.1
ocighcr.io/samik081/mcp-authentik:0.8.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

npm version Docker image License: MIT Node.js Version

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-only144只读——可安全用于监控,不会更改状态
  • full:全部 297 个工具。包括创建、更新和删除用户、群组、应用、流程、提供商及所有其他资源。
  • read-only:144 个工具。仅列出和查看资源,不会更改状态。

当前访问级别不可用的工具不会注册到 MCP 服务中,因此不会出现在 AI 工具的工具列表中,使上下文保持简洁。

环境变量

变量必需默认值描述
AUTHENTIK_URL是--Authentik 实例 URL(例如:https://auth.example.com)
AUTHENTIK_TOKEN是--具有适当权限的 API 令牌
AUTHENTIK_ACCESS_TIER否fullread-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否3000HTTP 服务端口(仅在 MCP_TRANSPORT=http 时使用)
MCP_HOST否0.0.0.0HTTP 服务绑定地址(仅在 MCP_TRANSPORT=http 时使用)
MCP_SESSION_IDLE_TIMEOUT否1800HTTP 会话关闭并释放其内存前的不活动秒数(连接着 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-onlyread-only、idempotent
authentik_admin_version获取 Authentik 版本信息,包括当前版本和构建哈希read-onlyread-only、idempotent
authentik_admin_settings_get获取当前系统设置read-onlyread-only、idempotent
authentik_admin_settings_update更新系统设置(部分更新)fulldestructive、idempotent
authentik_admin_apps列出 Authentik 实例中已安装的 Django 应用read-onlyread-only、idempotent
authentik_admin_models列出 Authentik 实例中可用的所有数据模型read-onlyread-only、idempotent
authentik_admin_version_history列出 Authentik 版本历史记录read-onlyread-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。

| Tool | 描述 | 访问权限 | 提示 | |------|-------------|--------|-------| | `authentik_policies_list` | 列出所有类型的全部策略,可选筛选条件 | 只读 | 只读、幂等 | | `authentik_policies_get` | 根据 UUID 获取单个策略(跨类型) | 只读 | 只读、幂等 | | `authentik_policies_delete` | 根据 UUID 删除策略(跨类型) | 完全访问 | 破坏性操作 | | `authentik_policies_types_list` | 列出所有可用的策略类型 | 只读 | 只读、幂等 | | `authentik_policies_test` | 针对特定用户测试策略,查看其是否通过 | 只读 | 只读、幂等 | | `authentik_policies_cache_info` | 获取缓存策略的信息 | 只读 | 只读、幂等 | | `authentik_policies_cache_clear` | 清除策略缓存 | 完全访问 | 破坏性操作、幂等 | | `authentik_policies_by_type_list` | 列出特定类型的策略,可选筛选条件 | 只读 | 只读、幂等 | | `authentik_policies_by_type_get` | 根据 UUID 获取特定类型的单个策略 | 只读 | 只读、幂等 | | `authentik_policies_by_type_create` | 创建特定类型的新策略 | 完全访问 | — | | `authentik_policies_by_type_update` | 更新现有的特定类型策略 | 完全访问 | 破坏性操作、幂等 | | `authentik_policies_by_type_delete` | 根据 UUID 删除特定类型的策略 | 完全访问 | 破坏性操作 | | `authentik_policy_bindings_list` | 列出策略绑定,可选筛选条件 | 只读 | 只读、幂等 | | `authentik_policy_bindings_get` | 根据 UUID 获取单个策略绑定 | 只读 | 只读、幂等 | | `authentik_policy_bindings_create` | 创建新的策略绑定,将策略附加到目标 | 完全访问 | — | | `authentik_policy_bindings_update` | 更新现有策略绑定 | 完全访问 | 破坏性操作、幂等 | | `authentik_policy_bindings_delete` | 根据 UUID 删除策略绑定 | 完全访问 | 破坏性操作 | | `authentik_reputation_scores_list` | 列出信誉评分,可选筛选条件 | 只读 | 只读、幂等 | | `authentik_reputation_scores_delete` | 根据 UUID 删除信誉评分 | 完全访问 | 破坏性操作 |
属性映射(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/api SDK 查看原始注册密钥值。

验证是否正常工作

配置好 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

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。