mcp-keycloak
mcp-keycloak
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.Zugriffsmodi —
read-only→read-write→admin, 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? |
|
|
|
Welche Realms sind abgedeckt? |
| (alle) | Durch Kommas getrennt. Wenn gesetzt, wird jede Operation an einem Realm außerhalb der Liste abgelehnt. |
Welche Realms sind dauerhaft schreibgeschützt? |
|
| Geschützte Realms können gelesen, aber niemals geändert oder gelöscht werden — unabhängig vom Modus. |
Kann der Server löschen? |
|
|
|
Vorschau, ohne Keycloak zu verändern |
|
| Schreib-/Admin-Werkzeuge validieren und protokollieren die Absicht und kehren danach ohne Keycloak-Aufruf zurück. |
Audit-Trail |
|
| Gibt bei jeder überwachten Operation eine JSON-Zeile auf stderr aus ( |
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_groupsSchreiben (
read-write+):create_user,update_user,reset_password,logout_userAdmin (
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 buildKonfiguration
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 typecheckVerö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
Maintenance
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
- AlicenseAqualityAmaintenanceAn MCP server for Keycloak Admin REST API, enabling user, group, event, and security management through service account authentication.30MIT
- AlicenseAqualityAmaintenanceEnables 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.56421MIT
- AlicenseAqualityCmaintenanceAn MCP server that lets an AI assistant inspect and modify Keycloak realm, client, and protocol-mapper configuration across multiple Keycloak hosts.787MIT
- AlicenseNot gradedqualityBmaintenanceEnables 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.41Apache 2.0
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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