Octodet Keycloak - MCP Server segur per ALMC Security 2025

Octodet Keycloak

Veure a GitHub

Octodet Keycloak MCP Server

npm versionLicense: MIT

Un potent servidor Model Context Protocol per a l'administració de Keycloak, que ofereix un conjunt complet d'eines per gestionar usuaris, realms, rols i altres recursos de Keycloak a través d'interfícies LLM.

Característiques

  • Gestió d'usuaris: Crear, eliminar i llistar usuaris a través de realms.
  • Administració de realms: Capacitats completes de gestió de realms.
  • Integració segura: Autenticació amb credencials d'administrador.
  • Configuració fàcil: Configuració simple amb variables d'entorn.
  • Integració LLM: Ús sense esforç amb Claude, ChatGPT i altres assistents AI compatibles amb MCP.

Instal·lació

Via NPM (Recomanat)

El servidor està disponible com a paquet NPM:

# Ús directe amb npx
npx -y @octodet/keycloak-mcp

# O instal·lació global
npm install -g @octodet/keycloak-mcp

Configuració

Variables d'entorn

  • KEYCLOAK_URL: URL del servidor Keycloak (per defecte: http://localhost:8080)
  • KEYCLOAK_ADMIN: Nom d'usuari administrador (per defecte: admin)
  • KEYCLOAK_ADMIN_PASSWORD: Contrasenya d'administrador (per defecte: admin)
  • KEYCLOAK_REALM: Realm per defecte (per defecte: master)

Configuració del client MCP

VS Code

Afegiu això al vostre settings.json:

{
  "mcp.servers": {
    "keycloak": {
      "command": "npx",
      "args": ["-y", "@octodet/keycloak-mcp"],
      "env": {
        "KEYCLOAK_URL": "http://localhost:8080",
        "KEYCLOAK_ADMIN": "admin",
        "KEYCLOAK_ADMIN_PASSWORD": "admin"
      }
    }
  }
}

Claude Desktop

Configureu al vostre fitxer de configuració de Claude Desktop:

{
  "mcpServers": {
    "keycloak": {
      "command": "npx",
      "args": ["-y", "@octodet/keycloak-mcp"],
      "env": {
        "KEYCLOAK_URL": "http://localhost:8080",
        "KEYCLOAK_ADMIN": "admin",
        "KEYCLOAK_ADMIN_PASSWORD": "admin"
      }
    }
  }
}

Per al desenvolupament local

{
  "mcpServers": {
    "keycloak": {
      "command": "node",
      "args": ["path/to/build/index.js"],
      "env": {
        "KEYCLOAK_URL": "http://localhost:8080",
        "KEYCLOAK_ADMIN": "admin",
        "KEYCLOAK_ADMIN_PASSWORD": "admin"
      }
    }
  }
}

Eines disponibles

El servidor proporciona un conjunt complet d'eines MCP per a l'administració de Keycloak. Cada eina està dissenyada per realitzar tasques administratives específiques a través de realms, usuaris i rols.

Visió general d'eines

  • create-user – Gestió d'usuaris – Crear un usuari nou en un realm específic.
  • delete-user – Gestió d'usuaris – Eliminar un usuari existent d'un realm.
  • list-users – Gestió d'usuaris – Llistar tots els usuaris d'un realm específic.
  • list-realms – Gestió de realms – Llistar tots els realms disponibles.
  • list-roles – Gestió de rols – Llistar tots els rols d'un client específic.
  • update-user-roles – Gestió de rols – Afegir o eliminar rols de client per a un usuari.

Gestió d'usuaris

create-user

Crea un usuari nou en un realm específic amb atributs complets i credencials opcionals.

Paràmetres obligatoris:
  • realm (string): Nom del realm de destinació.
  • username (string): Nom d'usuari únic per al nou usuari.
  • email (string): Adreça electrònica vàlida.
  • firstName (string): Nom de l'usuari.
  • lastName (string): Cognom de l'usuari.
Paràmetres opcionals:
  • enabled (boolean): Habilita/inhabilita el compte d'usuari (per defecte: true).
  • emailVerified (boolean): Marca l'email com verificat.
  • credentials (array): Array d'objectes de credencials per establir contrasenyes.
Estructura de l'objecte de credencial:
  • type (string): Tipus de credencial (p. ex. "password").
  • value (string): Valor de la credencial.
  • temporary (boolean): Si la contrasenya ha de canviar en el primer login.
Exemple d'ús:
{
  "realm": "my-app-realm",
  "username": "john.doe",
  "email": "john.doe@company.com",
  "firstName": "John",
  "lastName": "Doe",
  "enabled": true,
  "emailVerified": true,
  "credentials": [
    {
      "type": "password",
      "value": "TempPassword123!",
      "temporary": true
    }
  ]
}
Resposta: Retorna l'ID d'usuari creat i un missatge de confirmació.

delete-user

Elimina permanentment un usuari del realm especificat. Aquesta acció és irreversible.

Paràmetres obligatoris:
  • realm (string): Nom del realm de destinació.
  • userId (string): Identificador únic de l'usuari a eliminar.
Exemple d'ús:
{
  "realm": "my-app-realm",
  "userId": "8f5c21e3-7c9d-4b5a-9f3e-8d4f6a2e7b1c"
}
Resposta: Missatge de confirmació d'eliminació amb èxit.

⚠️ Advertència: Aquesta operació és irreversible. Assegureu-vos d'haver l'ID d'usuari correcte abans d'executar-la.

list-users

Obtén una llista de tots els usuaris del realm especificat amb la seva informació bàsica.

Paràmetres obligatoris:
  • (string): Nom del realm de destinació.
Resposta: Retorna una llista d'usuaris amb atributs com id, username, email, etc.

Gestió de realms

list-realms

Llista tots els realms disponibles.

Resposta: Retorna una llista d'objectes realm amb atributs com id, name, etc.

list-roles

Llista tots els rols d'un client específic dins del realm.

Paràmetres obligatoris:
  • realm (string): Nom del realm.
  • clientId (string): ID del client.
Resposta: Retorna una llista d'objectes de rols amb atributs com id, name, description, etc.

update-user-roles

Afegir o eliminar rols de client per a un usuari.

Paràmetres obligatoris:
  • realm (string): Nom del realm.
  • userId (string): Identificador d'usuari.
  • clientId (string): ID del client.
  • roles (array): Array de rols a afegir o eliminar.
  • add (boolean): Si s'ha d'afegir (true) o eliminar (false).
Exemple d'ús per afegir rols:
{
  "realm": "my-app-realm",
  "userId": "8f5c21e3-7c9d-4b5a-9f3e-8d4f6a2e7b1c",
  "clientId": "my-client",
  "roles": ["admin", "user"],
  "add": true
}
Exemple d'ús per eliminar rols:
{
  "realm": "my-app-realm",
  "userId": "8f5c21e3-7c9d-4b5a-9f3e-8d4f6a2e7b1c",
  "clientId": "my-client",
  "roles": ["user"],
  "add": false
}
Resposta: Retorna l'usuari actualitzat amb la nova configuració de rols.

Consells d'ús

  1. Gestió d'usuaris: Util

Instal\u00b7lem i gestionem el teu servidor MCP

El nostre equip configura, desplega i manté servidors MCP adaptats a la teva infraestructura.

  • Instal\u00b7lació i configuració professional
  • Integració amb els teus sistemes existents
  • Suport tècnic i manteniment continu
  • Seguretat i auditoria personalitzada

Resposta en menys de 24h · Sense compromís

Consulta ràpida sobre MCP

Relacionats a Servei en núvol - MCP Servers segurs