Keycloak MCP Server

Administrar usuarios y reinos de Keycloak mediante un servidor del Protocolo de Contexto de Modelo.

Documentación

Servidor MCP de Keycloak

smithery badge

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 dominio
  • username: Nombre de usuario para el nuevo usuario
  • email: Dirección de correo electrónico del usuario
  • firstName: Primer nombre del usuario
  • lastName: Apellido del usuario

delete-user

Elimina un usuario de un dominio especificado.

Entradas:

  • realm: El nombre del dominio
  • userId: 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

  1. Crea una cuenta de NPM y obtén un token de acceso
  2. 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