Back to MCP Servers
🧩

keycloak-model-context-protocol MCP Server

API key required

Manage Keycloak users, groups, roles and realms through the Keycloak Admin REST API.

To add keycloak-model-context-protocol to Claude, run the install command below or copy the ready-made config for Claude Code, Claude Desktop, Cursor and VS Code further down. Restart your client after adding it and its tools show up in your next conversation. It needs 14 environment variables, listed below.

AIAPIDevTools

Install

npx -y keycloak-model-context-protocol@1.1.0

Environment variables

KEYCLOAK_URLSet in your MCP config
KEYCLOAK_AUTH_REALMSet in your MCP config
KEYCLOAK_CLIENT_IDSet in your MCP config
KEYCLOAK_CLIENT_SECRETSet in your MCP config
KEYCLOAK_USERNAMESet in your MCP config
KEYCLOAK_PASSWORDSet in your MCP config
KEYCLOAK_GRANT_TYPESet in your MCP config
KEYCLOAK_MCP_READ_ONLYSet in your MCP config
KEYCLOAK_MCP_REALMSSet in your MCP config
KEYCLOAK_MCP_ALLOW_MASTER_WRITESet in your MCP config
KEYCLOAK_MCP_TOOLSETSSet in your MCP config
KEYCLOAK_MCP_REQUIRE_CONFIRMATIONSet in your MCP config
KEYCLOAK_MCP_TIMEOUT_MSSet in your MCP config
KEYCLOAK_MCP_LOG_LEVELSet in your MCP config

Install with your client

Terminal
claude mcp add keycloak-model-context-protocol --env KEYCLOAK_URL=<YOUR_KEYCLOAK_URL> --env KEYCLOAK_AUTH_REALM=<YOUR_KEYCLOAK_AUTH_REALM> --env KEYCLOAK_CLIENT_ID=<YOUR_KEYCLOAK_CLIENT_ID> --env KEYCLOAK_CLIENT_SECRET=<YOUR_KEYCLOAK_CLIENT_SECRET> --env KEYCLOAK_USERNAME=<YOUR_KEYCLOAK_USERNAME> --env KEYCLOAK_PASSWORD=<YOUR_KEYCLOAK_PASSWORD> --env KEYCLOAK_GRANT_TYPE=<YOUR_KEYCLOAK_GRANT_TYPE> --env KEYCLOAK_MCP_READ_ONLY=<YOUR_KEYCLOAK_MCP_READ_ONLY> --env KEYCLOAK_MCP_REALMS=<YOUR_KEYCLOAK_MCP_REALMS> --env KEYCLOAK_MCP_ALLOW_MASTER_WRITE=<YOUR_KEYCLOAK_MCP_ALLOW_MASTER_WRITE> --env KEYCLOAK_MCP_TOOLSETS=<YOUR_KEYCLOAK_MCP_TOOLSETS> --env KEYCLOAK_MCP_REQUIRE_CONFIRMATION=<YOUR_KEYCLOAK_MCP_REQUIRE_CONFIRMATION> --env KEYCLOAK_MCP_TIMEOUT_MS=<YOUR_KEYCLOAK_MCP_TIMEOUT_MS> --env KEYCLOAK_MCP_LOG_LEVEL=<YOUR_KEYCLOAK_MCP_LOG_LEVEL> -- npx -y keycloak-model-context-protocol@1.1.0

Run this in a terminal to add the server to Claude Code.

What this does

keycloak-model-context-protocol exposes a set of tools to Claude over the Model Context Protocol. After you add it to claude_desktop_config.json (snippet above) and restart Claude Desktop, those tools become callable inside any conversation.

Requirements

This server needs the following environment variables to be set before it can run:

KEYCLOAK_URL
KEYCLOAK_AUTH_REALM
KEYCLOAK_CLIENT_ID
KEYCLOAK_CLIENT_SECRET
KEYCLOAK_USERNAME
KEYCLOAK_PASSWORD
KEYCLOAK_GRANT_TYPE
KEYCLOAK_MCP_READ_ONLY
KEYCLOAK_MCP_REALMS
KEYCLOAK_MCP_ALLOW_MASTER_WRITE
KEYCLOAK_MCP_TOOLSETS
KEYCLOAK_MCP_REQUIRE_CONFIRMATION
KEYCLOAK_MCP_TIMEOUT_MS
KEYCLOAK_MCP_LOG_LEVEL

Set these via the env object in your MCP config (see claude_desktop_config.json snippet above).

Frequently asked questions

How do I install keycloak-model-context-protocol?

Run the Claude Code command in the install section to add keycloak-model-context-protocol to Claude Code, or copy the ready-made config for your client from the install section on this page. Restart your client afterwards and the tools appear in your next conversation.

Which clients work with keycloak-model-context-protocol?

This page carries setup and config for Claude Code, Claude Desktop, Cursor and VS Code. Any other MCP client that accepts a standard server config can connect to keycloak-model-context-protocol as well.

Does keycloak-model-context-protocol need an API key?

Yes. Before it can run, set these environment variables: KEYCLOAK_URL, KEYCLOAK_AUTH_REALM, KEYCLOAK_CLIENT_ID, KEYCLOAK_CLIENT_SECRET, KEYCLOAK_USERNAME, KEYCLOAK_PASSWORD, KEYCLOAK_GRANT_TYPE, KEYCLOAK_MCP_READ_ONLY, KEYCLOAK_MCP_REALMS, KEYCLOAK_MCP_ALLOW_MASTER_WRITE, KEYCLOAK_MCP_TOOLSETS, KEYCLOAK_MCP_REQUIRE_CONFIRMATION, KEYCLOAK_MCP_TIMEOUT_MS, KEYCLOAK_MCP_LOG_LEVEL. They go in the env block of your MCP config.

Imported from the Official MCP Registry. The details above come from the registry entry; the maker can claim this listing to correct them, add docs, and see its traffic.

Is this your MCP server?

Claim this listing to see its traffic, fix details yourself, and skip the review queue on future updates.

Listed on clauderules.net

Add this badge to your README

Show visitors this server is listed in the ClaudeRules directory. The badge links straight to this listing.

Markdown
[![Listed on clauderules.net](https://clauderules.net/api/badge/io-github-christophenglisch-keycloak-model-context-protocol)](https://clauderules.net/mcp/io-github-christophenglisch-keycloak-model-context-protocol)
HTML
<a href="https://clauderules.net/mcp/io-github-christophenglisch-keycloak-model-context-protocol" target="_blank" rel="noopener noreferrer"><img src="https://clauderules.net/api/badge/io-github-christophenglisch-keycloak-model-context-protocol" alt="Listed on clauderules.net" /></a>