返回 MCP 目录
public公开dns本地运行

keycloak-mcp

一个为Keycloak实现的MCP服务器,提供标准化接口来管理Keycloak用户和域。

article

README

🚀 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

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端