Keycloak MCP Server
Administrar usuarios y reinos de Keycloak mediante un servidor del Protocolo de Contexto de Modelo.
Documentación
Servidor MCP de Keycloak
Un servidor de Protocolo de Contexto de Modelo para la administración de Keycloak, que proporciona herramientas para gestionar usuarios y dominios.
Características
- Crear nuevos usuarios en dominios específicos
- Eliminar usuarios de dominios
- Listar dominios disponibles
- Listar usuarios en dominios específicos
Instalación
Instalación mediante Smithery
Para instalar Keycloak para Claude Desktop automáticamente mediante Smithery:
npx -y @smithery/cli install keycloak-model-context-protocol --client claude
Mediante NPM (Recomendado)
El servidor está disponible como un paquete NPM:
# Direct usage with npx
npx -y keycloak-model-context-protocol
# Or global installation
npm install -g keycloak-model-context-protocol
Configuración de Desarrollo Local
Si deseas desarrollar o modificar el servidor:
git clone <repository-url>
cd keycloak-model-context-protocol
npm install
npm run build
Configuración
Uso del Paquete NPM (Recomendado)
Configura el servidor en tu archivo de configuración de 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"
}
}
}
}
Para Desarrollo Local
{
"mcpServers": {
"keycloak": {
"command": "node",
"args": ["path/to/dist/index.js"],
"env": {
"KEYCLOAK_URL": "http://localhost:8080",
"KEYCLOAK_ADMIN": "admin",
"KEYCLOAK_ADMIN_PASSWORD": "admin"
}
}
}
}
Herramientas Disponibles
create-user
Crea un nuevo usuario en un dominio especificado.
Entradas:
realm: El nombre del dominiousername: Nombre de usuario para el nuevo usuarioemail: Dirección de correo electrónico del usuariofirstName: Primer nombre del usuariolastName: Apellido del usuario
delete-user
Elimina un usuario de un dominio especificado.
Entradas:
realm: El nombre del dominiouserId: El ID del usuario a eliminar
list-realms
Lista todos los dominios disponibles.
list-users
Lista todos los usuarios en un dominio especificado.
Entradas:
realm: El nombre del dominio
Desarrollo
npm run watch
Pruebas
Para probar el servidor usando MCP Inspector:
npx -y @modelcontextprotocol/inspector npx -y keycloak-model-context-protocol
Despliegue
Paquete NPM
Este proyecto se publica automáticamente en NPM mediante GitHub Actions cuando se publica una nueva versión en GitHub.
Requisitos de Configuración para el Despliegue
- Crea una cuenta de NPM y obtén un token de acceso
- Agrega el secreto NPM_TOKEN al repositorio de GitHub
- Ve a Configuración del repositorio > Secretos
- Agrega un nuevo secreto llamado
NPM_TOKEN - Pega tu token de acceso de NPM como valor
Requisitos Previos
- Node.js 18 o superior
- Instancia de Keycloak en ejecución