NestDaddy

Keycloak Admin

io.github.mrz1880/mcp-keycloak-admin · v0.2.3

Administer Keycloak via its Admin REST API: users, roles, clients, groups, IdP, events.

Connect Runs on your machine

Terminal
claude mcp add mcp-keycloak-admin -e KEYCLOAK_BASE_URL=<KEYCLOAK_BASE_URL> -e KEYCLOAK_REALM=<KEYCLOAK_REALM> -e AUTH_MODE=<AUTH_MODE> -e KC_CLIENT_ID=<KC_CLIENT_ID> -e KC_CLIENT_SECRET=<KC_CLIENT_SECRET> -e KC_ADMIN_USERNAME=<KC_ADMIN_USERNAME> -e KC_ADMIN_PASSWORD=<KC_ADMIN_PASSWORD> -e KC_ADMIN_REALM=<KC_ADMIN_REALM> -e READ_ONLY=<READ_ONLY> -e ALLOWED_REALMS=<ALLOWED_REALMS> -- npx -y [email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "mcp-keycloak-admin": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "KEYCLOAK_BASE_URL": "<KEYCLOAK_BASE_URL>",
        "KEYCLOAK_REALM": "<KEYCLOAK_REALM>",
        "AUTH_MODE": "<AUTH_MODE>",
        "KC_CLIENT_ID": "<KC_CLIENT_ID>",
        "KC_CLIENT_SECRET": "<KC_CLIENT_SECRET>",
        "KC_ADMIN_USERNAME": "<KC_ADMIN_USERNAME>",
        "KC_ADMIN_PASSWORD": "<KC_ADMIN_PASSWORD>",
        "KC_ADMIN_REALM": "<KC_ADMIN_REALM>",
        "READ_ONLY": "<READ_ONLY>",
        "ALLOWED_REALMS": "<ALLOWED_REALMS>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "mcp-keycloak-admin": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "KEYCLOAK_BASE_URL": "<KEYCLOAK_BASE_URL>",
        "KEYCLOAK_REALM": "<KEYCLOAK_REALM>",
        "AUTH_MODE": "<AUTH_MODE>",
        "KC_CLIENT_ID": "<KC_CLIENT_ID>",
        "KC_CLIENT_SECRET": "<KC_CLIENT_SECRET>",
        "KC_ADMIN_USERNAME": "<KC_ADMIN_USERNAME>",
        "KC_ADMIN_PASSWORD": "<KC_ADMIN_PASSWORD>",
        "KC_ADMIN_REALM": "<KC_ADMIN_REALM>",
        "READ_ONLY": "<READ_ONLY>",
        "ALLOWED_REALMS": "<ALLOWED_REALMS>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "mcp-keycloak-admin": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "KEYCLOAK_BASE_URL": "<KEYCLOAK_BASE_URL>",
        "KEYCLOAK_REALM": "<KEYCLOAK_REALM>",
        "AUTH_MODE": "<AUTH_MODE>",
        "KC_CLIENT_ID": "<KC_CLIENT_ID>",
        "KC_CLIENT_SECRET": "<KC_CLIENT_SECRET>",
        "KC_ADMIN_USERNAME": "<KC_ADMIN_USERNAME>",
        "KC_ADMIN_PASSWORD": "<KC_ADMIN_PASSWORD>",
        "KC_ADMIN_REALM": "<KC_ADMIN_REALM>",
        "READ_ONLY": "<READ_ONLY>",
        "ALLOWED_REALMS": "<ALLOWED_REALMS>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
KEYCLOAK_BASE_URL
Required
Base URL of the Keycloak server (no trailing slash).
KEYCLOAK_REALM
Required
Realm the server operates on.
AUTH_MODE
Required
Authentication mode: service_account or password.
KC_CLIENT_ID
Optional
Confidential client id (service_account mode).
KC_CLIENT_SECRET
Optional, secret
Client secret (service_account mode).
KC_ADMIN_USERNAME
Optional
Admin username (password mode).
KC_ADMIN_PASSWORD
Optional, secret
Admin password (password mode).
KC_ADMIN_REALM
Optional
Realm holding the admin user (password mode; default master).
READ_ONLY
Optional
When true, write and destructive tools are not registered.
ALLOWED_REALMS
Optional
Comma-separated allow-list of realms the server may operate on.

Details

Package[email protected] (NPM, stdio)
First published26 Jun 2026
Last updated26 Jun 2026
Registry nameio.github.mrz1880/mcp-keycloak-admin

More other servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.