返回市场
身份验证器-mcp

身份验证器-mcp

作者:cdmx-in5 星标更新:2025-07-03

项目介绍

技术文档摘要

Authentik MCP 服务器

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

概览

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

功能齐全的服务器

  • authentik-mcp (Python) - 完整的 Authentik API 集成,具有完整的 CRUD 能力
  • authentik-mcp (Node.js) - 具有完整 API 访问权限的 TypeScript 实现

仅诊断的服务器

  • 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-mcpauthentik-diag-mcp),并提供所需的 Authentik API 令牌和基础 URL 作为参数或环境变量。
  3. 不要直接通过 CLI 运行这些服务器。 相反,让兼容 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 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. 导航到 目录 > 令牌
  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 - 删除用户

组管理

  • authent-ik_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 文件以获取版本历史和更改。