Keycloak MCP Server
by dockndevaiio.github.dockndevai/mcp-keycloakv0.3.0
Keycloak multi-realm admin (users, clients, roles, groups) — safe-by-default access modes, realm allowlists, protected realms, delete gating, dry-run, and audit logging. `npx -y @dockndevai/mcp-keycloak`
context tax
queued
security
queued
cold start
queued
freshness
Active10d ago
Install Keycloak MCP server
Install in Claude Code
claude mcp add keycloak -e KEYCLOAK_URL='<keycloak-url>' -e KEYCLOAK_CLIENT_SECRET='<keycloak-client-secret>' -- npx -y @dockndevai/mcp-keycloakInstall in Cursor
{
"mcpServers": {
"keycloak": {
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-keycloak"
],
"env": {
"KEYCLOAK_URL": "<keycloak-url>",
"KEYCLOAK_CLIENT_SECRET": "<keycloak-client-secret>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"keycloak": {
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-keycloak"
],
"env": {
"KEYCLOAK_URL": "<keycloak-url>",
"KEYCLOAK_CLIENT_SECRET": "<keycloak-client-secret>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"keycloak": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-keycloak"
],
"env": {
"KEYCLOAK_URL": "<keycloak-url>",
"KEYCLOAK_CLIENT_SECRET": "<keycloak-client-secret>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"keycloak": {
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-keycloak"
],
"env": {
"KEYCLOAK_URL": "<keycloak-url>",
"KEYCLOAK_CLIENT_SECRET": "<keycloak-client-secret>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| KEYCLOAK_URL | yes | — | Base URL of the Keycloak server (no trailing slash). |
| KEYCLOAK_CLIENT_ID | — | — | Client id used to authenticate (default admin-cli). |
| KEYCLOAK_CLIENT_SECRET | — | yes | Service-account client secret (or use KEYCLOAK_USERNAME/PASSWORD). |
| KEYCLOAK_MODE | — | — | Access mode: read-only | read-write | admin. |
Freshness
Active — last maintenance signal 10d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-09-29 · 10d ago · GitHub
Latest release
2026-09-29 · 10d ago · GitHub · v0.3.0
Package published
no data · npm/PyPI
Registry entry updated
2026-09-29 · 10d ago · official registry · v0.3.0
FAQ
›How do I install the Keycloak MCP server in Claude Code?
Run: claude mcp add keycloak -e KEYCLOAK_URL='<keycloak-url>' -e KEYCLOAK_CLIENT_SECRET='<keycloak-client-secret>' -- npx -y @dockndevai/mcp-keycloak. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Keycloak require an API key?
Yes. It expects KEYCLOAK_URL, KEYCLOAK_CLIENT_SECRET, of which 1 is a secret.
›Can I use Keycloak as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Keycloak in the official MCP registry?
Yes, as io.github.dockndevai/mcp-keycloak.
Alternatives to Keycloak
Other cloud platforms MCP servers.