K

Keycloak模型上下文协议工具

@ChristophEnglisch/keycloak-model-context-protocol
0 Stars 328 次浏览 ChristophEnglisch 更新于 2026-08-23

一种模型上下文协议服务器,提供管理Keycloak用户和领域的工具,允许你创建和删除用户、列出可用领域、以及查看特定领域中的用户。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

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

该服务需要配置环境变量:KEYCLOAK_ADMIN、KEYCLOAK_ADMIN_PASSWORD、KEYCLOAK_URL

可用工具 (4 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

create-user 5 个参数 需填 5 项

Create a new user in a specific realm

必填参数:realm、username、email、firstName、lastName

delete-user 2 个参数 需填 2 项

Delete a user from a specific realm

必填参数:realm、userId

list-realms

List all available realms

该工具无需必填参数,直接调用即可

list-users 1 个参数 需填 1 项

List users in a specific realm

必填参数:realm

服务介绍

Keycloak MCP 服务器

smithery 徽章

这是一个用于 Keycloak 管理的 Model Context Protocol 服务器,提供了管理用户和领域(realm)的工具。

功能

  • 在特定领域中创建新用户
  • 从领域中删除用户
  • 列出可用的领域
  • 列出特定领域中的用户

安装

通过 Smithery 安装

要通过 Smithery 自动为 Claude Desktop 安装 Keycloak:

npx -y @smithery/cli install keycloak-model-context-protocol --client claude

通过 NPM(推荐)

该服务器作为 NPM 包提供:

# Direct usage with npx
npx -y keycloak-model-context-protocol

# Or global installation
npm install -g keycloak-model-context-protocol

本地开发设置

如果你想开发或修改服务器:

git clone <repository-url>
cd keycloak-model-context-protocol
npm install
npm run build

配置

使用 NPM 包(推荐)

在你的 Claude Desktop 配置文件中配置服务器:

{
  "mcpServers": {
    "keycloak": {
      "command": "npx",
      "args": ["-y", "keycloak-model-context-protocol"],
      "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"
      }
    }
  }
}

可用工具

create-user

在指定的领域中创建一个新用户。

输入

  • realm:领域名称
  • username:新用户的用户名
  • email:用户的电子邮件地址
  • firstName:用户的姓
  • lastName:用户的名

delete-user

从指定的领域中删除一个用户。

输入

  • realm:领域名称
  • userId:要删除的用户的 ID

list-realms

列出所有可用的领域。

list-users

列出指定领域中的所有用户。

输入

  • realm:领域名称

开发

npm run watch

测试

使用 MCP Inspector 测试服务器:

npx -y @modelcontextprotocol/inspector npx -y keycloak-model-context-protocol

部署

NPM 包

当在 GitHub 上发布新版本时,此项目会通过 GitHub Actions 自动发布到 NPM

部署设置要求

  1. 创建 NPM 账户并获取访问令牌
  2. 将 NPM_TOKEN 密钥添加到 GitHub 仓库
    • 前往仓库设置 > 密钥
    • 添加名为 NPM_TOKEN 的新密钥
    • 将你的 NPM 访问令牌粘贴为值

先决条件

  • Node.js 18 或更高版本
  • 正在运行的 Keycloak 实例

相关 MCP 服务