Skip to main content
Glama
dockndevai

mcp-keycloak

by dockndevai

mcp-keycloak

CI License: MIT

Ein Model Context Protocol-Server für Keycloak. Er ermöglicht einem MCP-fähigen Client (Claude Desktop, Claude Code, etc.), die Realms, Benutzer, Clients, Rollen und Gruppen von Keycloak einzusehen und zu verwalten — wobei die Sicherheit vollständig über Flags gesteuert wird.

Das Designziel ist standardmäßig sicher: Der Server startet im Nur-Lesen-Modus, beschränkt sich auf eine Allowlist von Realms, schützt sensible Realms vor Änderungen und macht destruktive Operationen von einem expliziten Opt-in abhängig.

Features

  • Multi-Realm — jedes Tool nimmt ein realm-Argument entgegen; begrenzen Sie es mit einer Allowlist.

  • Zugriffsmodiread-onlyread-writeadmin, geschichtet, sodass ein Modus nie Tools oberhalb seiner Stufe bereitstellt.

  • Sicherheits-Flags — Realm-Allowlist, geschützte Realms, Steuerung von Löschvorgängen, Dry-Run und JSON-Audit-Logging (siehe unten).

  • Zwei Authentifizierungsstrategien — Servicekonto eines Confidential-Clients (empfohlen) oder Admin-Benutzername/Passwort.

  • Keine schwergewichtigen Abhängigkeiten — ein schlanker fetch-basierter Admin-REST-Client plus das MCP-SDK und zod.

Related MCP server: mcp-keycloak-admin

Sicherheitsmodell

Thema

Flag

Standardwert

Auswirkung

Was kann der Server überhaupt tun?

KEYCLOAK_MODE

read-only

read-only legt nur Lese-Werkzeuge frei; read-write ergänzt Schreiboperationen; admin ergänzt destruktive Werkzeuge. Werkzeuge oberhalb des Modus werden niemals registriert.

Welche Realms sind abgedeckt?

KEYCLOAK_REALM_ALLOWLIST

(alle)

Durch Kommas getrennt. Wenn gesetzt, wird jede Operation an einem Realm außerhalb der Liste abgelehnt.

Welche Realms sind dauerhaft schreibgeschützt?

KEYCLOAK_PROTECTED_REALMS

master

Geschützte Realms können gelesen, aber niemals geändert oder gelöscht werden — unabhängig vom Modus.

Kann der Server löschen?

KEYCLOAK_ALLOW_DELETE

false

delete_*-Werkzeuge erfordern diese Einstellung und den Admin-Modus.

Vorschau, ohne Keycloak zu verändern

KEYCLOAK_DRY_RUN

false

Schreib-/Admin-Werkzeuge validieren und protokollieren die Absicht und kehren danach ohne Keycloak-Aufruf zurück.

Audit-Trail

KEYCLOAK_AUDIT_LOG

true

Gibt bei jeder überwachten Operation eine JSON-Zeile auf stderr aus (ALLOW / DENY / DRY_RUN).

Diese Ebenen sind unabhängig — beispielsweise kann der admin-Modus bei KEYCLOAK_ALLOW_DELETE=false Benutzer erstellen und aktualisieren, aber nicht löschen.

Werkzeuge

  • Lesen (read-only+): list_realms, get_realm, list_users, get_user, count_users, list_clients, list_realm_roles, list_groups

  • Schreiben (read-write+): create_user, update_user, reset_password, logout_user

  • Admin (admin): delete_user

Verwendung mit Ihrem MCP-Client

Funktioniert mit Claude Code, Claude Desktop, Cursor, OpenAI Codex CLI, Windsurf, VS Code (Copilot) und jedem anderen MCP-Client — siehe docs/CLIENTS.md für die Einrichtung pro Client.

Installation

npm install
npm run build

Konfiguration

Kopieren Sie .env.example und füllen Sie die Datei aus, oder setzen Sie die Variablen direkt in Ihrer MCP-Client-Konfiguration. Die empfohlene Möglichkeit für Anmeldedaten ist ein ConfidentialityBenutzereintritt mit den realm-management-Rollen, die Sie benötigen.

Ausführen mit Claude Desktop / Claude Code

Fügen Sie es zu Ihrer MCP-Client-Konfiguration hinzu (claude_desktop_config.json oder über claude mcp add):

{
  "mcpServers": {
    "keycloak": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-keycloak/dist/index.js"],
      "env": {
        "KEYCLOAK_URL": "https://keycloak.example.com",
        "KEYCLOAK_CLIENT_ID": "admin-cli",
        "KEYCLOAK_CLIENT_SECRET": "your-secret",
        "KEYCLOAK_MODE": "read-only",
        "KEYCLOAK_REALM_ALLOWLIST": "app,customers"
      }
    }
  }
}

Setzen Sie KEYCLOAK_MODE auf read-write (und für Löschvorgänge auf admin + KEYCLOAK_ALLOW_DELETE=true) nur dann, wenn Sie dem Modell erlauben möchten, Änderungen vorzunehmen.

Entwicklung

npm run dev        # watch mode
npm test           # unit tests for the security policy
npm run typecheck

Veröffentlichung

Dieser Server wird mit einer server.json für die offizielle MCP-Registry und einem mcpName zur Bestätigungierung der npm-Inhaberschaft ausgeliefert. Siehe PUBLISHING.md für das Veröffentlichen auf npm und die Aufnahme in die MCP-Registry, bei Smithery, Glama, Cursor und PulseMCP.

Lizenz

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    An MCP server for Keycloak Admin REST API, enabling user, group, event, and security management through service account authentication.
    30
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables administrators to manage Keycloak realms, users, roles, clients, groups, and more through its Admin REST API, with safe-by-default configuration and destructive operation confirmation.
    56
    42
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that lets an AI assistant inspect and modify Keycloak realm, client, and protocol-mapper configuration across multiple Keycloak hosts.
    7
    87
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables administration of Keycloak identity and access management through MCP, allowing management of realms, clients, users, roles, groups, identity providers, and sessions from any MCP client.
    41
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Managed Keycloak from any MCP client: clusters, realms, apps, SSO, users, domains, audit events.

  • Remote MCP for A2A caller identity, scope policy, verdict receipts, and audit history.

  • The official MCP Server from Mia-Platform to interact with Mia-Platform Console

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dockndevai/mcp-keycloak'

If you have feedback or need assistance with the MCP directory API, please join our Discord server