项目简介
'keycloak-mcp' 是一个将 Keycloak 管理功能暴露为 Model Context Protocol (MCP) 服务器的项目。它允许大型语言模型 (LLM) 客户端以标准化的方式,通过调用工具来执行 Keycloak 的管理操作,例如创建用户、列出领域、分配角色等,从而实现 Keycloak 的自动化和集成。
主要功能点
- 用户管理: 创建、删除 Keycloak 用户。
- 领域管理: 列出所有可用的 Keycloak 领域。
- 客户端和群组管理: 列出指定领域内的客户端和群组。
- 角色和群组分配: 为用户分配客户端角色,或将用户添加到指定群组。
- 标准化接口: 通过 MCP 协议提供统一的 API,便于 LLM 或其他 MCP 客户端集成和使用。
安装步骤
- 前提条件:
- 确保已安装 Node.js (推荐LTS版本) 和 npm。
- 有一个正在运行的 Keycloak 实例。
- 通过 npm 安装并运行:
- 可以直接使用 'npx' 运行(无需全局安装):
npx -y keycloak-mcp --keycloak-url <你的Keycloak实例URL> --keycloak-admin <管理员用户名> --keycloak-admin-password <管理员密码> - 或者全局安装后运行:
npm install -g keycloak-mcp@latest keycloak-mcp --keycloak-url <你的Keycloak实例URL> --keycloak-admin <管理员用户名> --keycloak-admin-password <管理员密码> - 参数说明:
- '--keycloak-url': 你的 Keycloak 实例的访问 URL。
- '--keycloak-admin': 拥有管理员权限的 Keycloak 用户名。
- '--keycloak-admin-password': 对应管理员用户的密码。
- 可以直接使用 'npx' 运行(无需全局安装):
服务器配置 (供MCP客户端使用)
将以下配置信息添加到您的 MCP 客户端(如 Cursor IDE, Cline, 或 Claude Desktop)的 MCP 配置文件中。这将允许客户端通过标准输入输出 (Stdio) 与 'keycloak-mcp' 服务器通信,并将其作为名为 "keycloak" 的服务器进行管理。
{ "mcpServers": { "keycloak": { "command": "npx", "args": ["-y", "keycloak-mcp"], "env": { "KEYCLOAK_URL": "http://localhost:8080", // 替换为你的Keycloak实例的URL "KEYCLOAK_ADMIN": "admin", // 替换为你的Keycloak管理员用户名 "KEYCLOAK_ADMIN_PASSWORD": "admin" // 替换为你的Keycloak管理员密码 } } } }
- 'command': MCP 客户端用来启动此 MCP 服务器进程的命令。
- 'args': 传递给启动命令的额外参数。
- 'env': 环境变量,用于配置 Keycloak 服务器的连接信息。这些环境变量将被 MCP 服务器进程读取。
基本使用方法
配置完成后,您的 MCP 客户端将能够发现并调用 'keycloak-mcp' 服务器提供的工具。例如,您可以使用客户端与 LLM 交互,通过自然语言指令来请求 Keycloak 执行操作,如“在 'my-realm' 中创建一个名为 'john.doe' 的新用户,邮箱是 '[email protected]'”。LLM 将自动识别并调用 'create-user' 工具,并传递相应的参数,完成 Keycloak 中的用户创建。
信息
分类
商业系统