Keycloak MCP服务器
](https://img.shields.io/npm/v/keycloak-mcp)  ](https://www.npmjs.com/package/keycloak-mcp) ](https://www.npmjs.com/package/keycloak-mcp) ](https://smithery.ai/server/@HaithamOumerzoug/keycloak-mcp)
Keycloak的模型上下文协议(MCP)服务器实现,为管理Keycloak用户和领域提供了一个标准化的接口。
描述
该项目实现了一个与Keycloak集成的MCP服务器,允许您通过标准化协议管理Keycloak用户和领域。它使用官方的密钥斗篷管理客户端与密钥斗篷的API进行交互。
功能演示
https://github.com/user-attachments/assets/4b02a049-b8d6-4cc5-a7b4-564a0e758dd8
可用工具
创建用户
在指定领域中创建新用户。
输入:
realm:领域名称username:新用户的用户名email:用户的电子邮件地址firstName:用户的名字lastName:用户的姓氏
删除用户
从指定领域删除用户。
输入:
realm:领域名称userId:要删除的用户的ID
列出领域
列出所有可用领域。
列出用户
列出指定领域中的所有用户。
输入:
realm:领域名称
列出客户
列出指定领域中的所有客户端。
输入:
realm:领域名称
列出组
列出指定领域中的所有组。
输入:
realm:领域名称
列出客户端角色
列出领域中特定客户端的所有角色。
输入:
realm:领域名称clientUniqueId:客户端的唯一ID
为用户分配客户端角色
将客户端角色分配给特定用户。
输入:
realm:领域名称userId:用户的IDclientUniqueId:客户端的唯一IDroleName:要分配的角色的名称
将用户添加到组
将用户添加到特定组。
输入:
realm:领域名称userId:用户的IDgroupId:组的ID
先决条件
- Node.js(推荐最新LTS版本)
- npm
- 正在运行的Keycloak实例
安装
通过Smithery安装
通过以下方式自动安装Claude Desktop的keycloak mcp 铁匠铺:
$ npx -y @smithery/cli install @HaithamOumerzoug/keycloak-mcp --client claude通过NPM安装
配置环境:
- 您可以使用命令行参数或环境变量设置配置选项:
- --keycloak-url - --keycloak-admin - --keycloak-admin-password
- 如果同时设置了这两个参数,则这些参数将覆盖环境变量。
启动服务器:
服务器可作为NPM包使用:
# Direct usage with npx
$ npx -y keycloak-mcp --keycloak-url --keycloak-admin --keycloak-admin-password
# Or global installation
$ npm install -g keycloak-mcp@latest
$ keycloak-mcp --keycloak-url --keycloak-admin --keycloak-admin-password 配置
使用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/server.js"],
"env": {
"KEYCLOAK_URL": "http://localhost:8080",
"KEYCLOAK_ADMIN": "admin",
"KEYCLOAK_ADMIN_PASSWORD": "admin"
}
}
}
}发展
设置开发环境:
- 克隆仓库
- 安装依赖项:
npm install- 设置环境变量
cp .env.template .env
# Edit the .env file and set all variables with the appropriate values- 启动项目:
npm run dev可用脚本
npm run build-构建项目并使CLI可执行npm run prepare-运行构建脚本(在包安装期间使用)npm run dev-自动监视更改和重建npm start-启动服务器(用于生产)
依赖项
主要依赖关系
@keycloak/keycloak-admin-client-官方Keycloak管理客户端@modelcontextprotocol/sdk-用于标准化协议实现的MCP SDKzod-TypeScript第一模式验证chalk-端子串样式yargs-解析命令行参数
开发依赖关系
typescript-支持TypeScript@types/node-Node.js的TypeScript定义shx-跨平台shell命令ts-node-Node.js的TypeScript执行和REPLrimraf-用于删除目录的跨平台工具@types/yargs-yargs的TypeScript定义
许可证
麻省理工学院
