Administer Keycloak via its Admin REST API: users, roles, clients, groups, IdP, events.
Connect Runs on your machine
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]
{
"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>"
}
}
}
}
{
"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>"
}
}
}
}
{
"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
| Name | Description |
|---|---|
KEYCLOAK_BASE_URLRequired | Base URL of the Keycloak server (no trailing slash). |
KEYCLOAK_REALMRequired | Realm the server operates on. |
AUTH_MODERequired | Authentication mode: service_account or password. |
KC_CLIENT_IDOptional | Confidential client id (service_account mode). |
KC_CLIENT_SECRETOptional, secret | Client secret (service_account mode). |
KC_ADMIN_USERNAMEOptional | Admin username (password mode). |
KC_ADMIN_PASSWORDOptional, secret | Admin password (password mode). |
KC_ADMIN_REALMOptional | Realm holding the admin user (password mode; default master). |
READ_ONLYOptional | When true, write and destructive tools are not registered. |
ALLOWED_REALMSOptional | Comma-separated allow-list of realms the server may operate on. |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 26 Jun 2026 |
| Last updated | 26 Jun 2026 |
| Registry name | io.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.
