article
README
🚀 Keycloak MCP 服务器
一个用于管理 Keycloak 管理用户的模型上下文协议(Model Context Protocol)服务器,提供创建、删除用户和查看领域等功能,助力高效管理 Keycloak 用户。
🚀 快速开始
本服务器提供了创建、删除用户和查看领域等功能,帮助你高效管理 Keycloak 用户。下面为你详细介绍使用方法。
✨ 主要特性
- 在特定领域创建新用户
- 从领域中删除用户
- 列出可用的领域
- 在指定领域中列出用户
📦 安装指南
使用 Smithery 进行安装
通过 Smithery 可自动安装 Keycloak 的 Model Context Protocol:
npx -y @smithery/cli install keycloak-model-context-protocol --client claude
通过 NPM(推荐)
该服务器作为一个 NPM 包提供,你可以选择以下两种方式安装:
# 直接使用 npx
npx -y keycloak-model-context-protocol
# 或者全局安装
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:用户的 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 Actions 在 GitHub 上新版本发布时自动发布到 NPM。
部署前的准备工作
- 创建 NPM 账户并获取访问令牌
- 将 NPM_TOKEN 作为秘密添加到 GitHub 仓库中
- 进入仓库设置 > 秘密
- 添加新的秘密,名称为
NPM_TOKEN - 粘贴你的 NPM 访问令牌作为值
先决条件
- Node.js 18 或更高版本
- 正在运行的 Keycloak 实例
微信扫一扫