Skip to content

keycloak model context protocol for Grok

io.github.christophenglisch/keycloak-model-context-protocol

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

client:Grok transport:stdio runtime:npm

Install keycloak model context protocol in Grok

.mcp.json (in your project root)

Held in this page only — never stored, logged, or sent anywhere but back to your screen.

{
  "mcpServers": {
    "keycloak-model-context-protocol": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "keycloak-model-context-protocol"
      ],
      "env": {
        "KEYCLOAK_URL": "<KEYCLOAK_URL>",
        "KEYCLOAK_AUTH_REALM": "<KEYCLOAK_AUTH_REALM>",
        "KEYCLOAK_CLIENT_ID": "<KEYCLOAK_CLIENT_ID>",
        "KEYCLOAK_CLIENT_SECRET": "<KEYCLOAK_CLIENT_SECRET>",
        "KEYCLOAK_USERNAME": "<KEYCLOAK_USERNAME>",
        "KEYCLOAK_PASSWORD": "<KEYCLOAK_PASSWORD>",
        "KEYCLOAK_GRANT_TYPE": "<KEYCLOAK_GRANT_TYPE>",
        "KEYCLOAK_MCP_READ_ONLY": "<KEYCLOAK_MCP_READ_ONLY>",
        "KEYCLOAK_MCP_REALMS": "<KEYCLOAK_MCP_REALMS>",
        "KEYCLOAK_MCP_ALLOW_MASTER_WRITE": "<KEYCLOAK_MCP_ALLOW_MASTER_WRITE>",
        "KEYCLOAK_MCP_TOOLSETS": "<KEYCLOAK_MCP_TOOLSETS>",
        "KEYCLOAK_MCP_REQUIRE_CONFIRMATION": "<KEYCLOAK_MCP_REQUIRE_CONFIRMATION>",
        "KEYCLOAK_MCP_TIMEOUT_MS": "<KEYCLOAK_MCP_TIMEOUT_MS>",
        "KEYCLOAK_MCP_LOG_LEVEL": "<KEYCLOAK_MCP_LOG_LEVEL>"
      }
    }
  }
}

Grok Build reads Claude Code's .mcp.json and Claude Desktop's config unchanged, so a server you have already set up there needs nothing new. The Grok web app and X integration do not take custom servers. Grok docs

keycloak model context protocol in other clients