mcpField
A
Authentik MCP Server

Authentik MCP Server

本地服务
github.com/cdmx-in安全1869 周前更新

关于 Authentik MCP Server

一组连接 Authentik API 的 MCP 服务,提供 Python 和 Node.js 实现,并包含完整管理版与只读诊断版,供自动化管理和监控使用。

主要功能

  1. 01Python 和 Node.js 实现
  2. 02用户、组及应用 CRUD
  3. 03事件与系统健康监控
  4. 04诊断版提供只读访问

适用场景

  1. 01自动创建和更新用户、组及应用
  2. 02检查认证事件和系统健康
  3. 03排查应用、流程及访问问题

MCP 相关

向 MCP 客户端提供 Authentik API 工具,可管理用户、组、应用和令牌,也可执行只读诊断与监控。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"authentik": {
"command": "npx",
"args": [
"-y",
"@cdmx/authentik-diag-mcp"
]
}
}
}
启动命令npx -y @cdmx/authentik-diag-mcp

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

安装包
npm@cdmx/authentik-diag-mcp

工具

还没有获取到工具列表

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

详细介绍

Authentik MCP 服务

一组用于集成 Authentik API 的模型上下文协议(MCP)服务,提供 Python 和 Node.js 两种实现。

概述

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

全功能服务
  • authentik-mcp(Python)- 完整集成 Authentik API,支持全部 CRUD 操作
  • authentik-mcp(Node.js)- 使用 TypeScript 实现,可完整访问 API
仅用于诊断的服务
  • authentik-diag-mcp(Python)- 提供只读诊断和监控功能
  • authentik-diag-mcp(Node.js)- 使用 TypeScript 实现,用于诊断和监控

MCP 集成与使用

此仓库旨在与模型上下文协议(MCP)生态系统无缝集成。这些服务应由兼容 MCP 的工具(如 VS Code 扩展、自动化平台或编排系统)运行和管理,而非直接通过命令行运行。

如何通过 MCP 使用
  1. 安装所需的软件包:
    • 完整 API 访问:authentik-mcp
    • 诊断/监控:authentik-diag-mcp
  2. 配置 MCP 工具或平台,使其指向已安装的服务二进制文件(例如 authentik-mcp 或 authentik-diag-mcp),并通过参数或环境变量提供所需的 Authentik API 令牌和基础 URL。
  3. 不要直接通过 CLI 运行这些服务。 请让兼容 MCP 的工具管理其生命周期和通信。
  4. 通过 MCP 工具界面与 Authentik 交互,该界面会提供所有可用的资源和工具,用于自动化、监控和诊断。
示例:VS Code Github Copilot MCP 扩展

GitHub Copilot Workspace(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 Workspace(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(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(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 令牌设置

完整访问(authentik-mcp)
  1. 以管理员身份登录 Authentik
  2. 前往 Directory > Tokens
  3. 创建具有完整 API 权限的新令牌
  4. 复制令牌,以便与完整 MCP 服务配合使用
诊断访问(authentik-diag-mcp)
  1. 以管理员身份登录 Authentik
  2. 前往 Directory > Tokens
  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  # or authentik-diag-mcp
uv sync
uv run authentik-mcp --base-url http://localhost:9000 --token your-token
Node.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 或 yarn

项目结构

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 许可证 — 详情请参阅各个软件包的 LICENSE 文件。

支持

贡献

欢迎贡献!详情请参阅我们的贡献指南。

更新日志

请参阅各个软件包的 CHANGELOG.md 文件,了解版本历史和变更。

评论

支持 Markdown

第一次接触 MCP?

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

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