Keycloak Mcp

Keycloak Mcp

🚀 Keycloak MCP

Keycloak MCP 是一个针对 Keycloak 的模型上下文协议(MCP)服务器实现,它提供了一个标准化接口,用于管理 Keycloak 的用户和领域。

🚀 快速开始

本项目实现了一个与 Keycloak 集成的 MCP 服务器,允许你通过标准化协议管理 Keycloak 的用户和领域。它使用官方的 Keycloak 管理客户端与 Keycloak 的 API 进行交互。

✨ 主要特性

功能演示

点击查看功能演示

可用工具

  • create - user:在指定领域中创建新用户。
    • 输入参数
      • realm:领域名称
      • username:新用户的用户名
      • email:用户的电子邮件地址
      • firstName:用户的名字
      • lastName:用户的姓氏
  • delete - user:从指定领域中删除用户。
    • 输入参数
      • realm:领域名称
      • userId:要删除的用户的 ID
  • list - realms:列出所有可用的领域。
  • list - users:列出指定领域中的所有用户。
    • 输入参数
      • realm:领域名称
  • list - clients:列出指定领域中的所有客户端。
    • 输入参数
      • realm:领域名称
  • list - groups:列出指定领域中的所有组。
    • 输入参数
      • realm:领域名称
  • list - client - roles:列出领域中特定客户端的所有角色。
    • 输入参数
      • realm:领域名称
      • clientUniqueId:客户端的唯一 ID
  • assign - client - role - to - user:为特定用户分配客户端角色。
    • 输入参数
      • realm:领域名称
      • userId:用户的 ID
      • clientUniqueId:客户端的唯一 ID
      • roleName:要分配的角色名称
  • add - user - to - group:将用户添加到特定组。
    • 输入参数
      • realm:领域名称
      • userId:用户的 ID
      • groupId:组的 ID

📦 安装指南

先决条件

  • Node.js(建议使用最新的 LTS 版本)
  • npm
  • 正在运行的 Keycloak 实例

通过 Smithery 安装

要通过 Smithery 自动为 Claude Desktop 安装 keycloak - mcp,请执行以下命令:

npx -y @smithery/cli install @HaithamOumerzoug/keycloak-mcp --client claude

通过 NPM 安装

该服务器作为 NPM 包提供:

# 直接使用 npx
npx -y keycloak-mcp

# 或者全局安装
npm install -g keycloak-mcp

📚 详细文档

配置

使用 NPM 包

在你的 Cursor IDE、Cline 或 Claude Desktop MCP 配置文件中配置服务器:

{
"mcpServers": {
"keycloak": {
"command": "npx",
"args": ["-y", "keycloak-mcp"],
"env": {
"KEYCLOAK_URL": "http://localhost:8080",
"KEYCLOAK_ADMIN": "admin",
"KEYCLOAK_ADMIN_PASSWORD": "admin"
}
}
}
}

本地开发

{
"mcpServers": {
"keycloak": {
"command": "node",
"args": ["path/to/dist/index.js"],
"env": {
"KEYCLOAK_URL": "http://localhost:8080",
"KEYCLOAK_ADMIN": "admin",
"KEYCLOAK_ADMIN_PASSWORD": "admin"
}
}
}
}

开发

要设置开发环境,请按以下步骤操作:

  1. 克隆仓库
  2. 安装依赖:
    npm install
    
  3. 构建项目:
    npm run build
    
  4. 启动项目:
    npm run watch
    

可用脚本

  • npm run build - 构建项目并使 CLI 可执行
  • npm run prepare - 运行构建脚本(在包安装期间使用)
  • npm run watch - 监视更改并自动重新构建

依赖项

主要依赖项

  • @keycloak/keycloak-admin-client - 官方 Keycloak 管理客户端
  • @modelcontextprotocol/sdk - 用于标准化协议实现的 MCP SDK
  • zod - 基于 TypeScript 的模式验证库

开发依赖项

  • typescript - 支持 TypeScript
  • @types/node - Node.js 的 TypeScript 定义
  • shx - 跨平台的 shell 命令

📄 许可证

本项目采用 MIT 许可证。

作者

OUMERZOUG Haitham

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-30 11:51

相似服务问题