mcpbeat Sign in

Keycloak Admin API MCP Server

local only

Keycloak Admin API runs on your own machine — the client starts it, so there is no endpoint to ping. 3 476 installs a week from npm. Last commit 8 Nov 2026.

Unofficial: one tool per Keycloak admin operation on a realm, read-only unless writes are enabled

Installs per day peak 1 165 · avg 105 · +3241% w/w
a month agotoday
3 476
Installs / week
npm · keycloak-api
0
Stars
10 open issues
8 Nov 2026
Last commit
from GitHub
ISC
License
TypeScript

What the code does

We read the source, 8 h ago · rules 995398eba69f

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Builds a database query by concatenation apps/openapi/src/lib/markdown.ts:51
        `Regenerated from each spec by the [Update OpenAPI workflow](${updateWorkflowUrl}).`,

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.

run in your terminal
claude mcp add keycloak-api-mcp -e 'KEYCLOAK_URL=<KEYCLOAK_URL>' -e 'KEYCLOAK_REALM=<KEYCLOAK_REALM>' -- npx -y keycloak-api
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "keycloak-api-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "keycloak-api"
      ],
      "env": {
        "KEYCLOAK_REALM": "<KEYCLOAK_REALM>",
        "KEYCLOAK_URL": "<KEYCLOAK_URL>"
      }
    }
  }
}
~/.codex/config.toml
[mcp_servers.keycloak-api-mcp]
command = "npx"
args = ["-y", "keycloak-api"]
env = { KEYCLOAK_URL = "<KEYCLOAK_URL>", KEYCLOAK_REALM = "<KEYCLOAK_REALM>" }
.cursor/mcp.json
{
  "mcpServers": {
    "keycloak-api-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "keycloak-api"
      ],
      "env": {
        "KEYCLOAK_REALM": "<KEYCLOAK_REALM>",
        "KEYCLOAK_URL": "<KEYCLOAK_URL>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "keycloak-api-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "keycloak-api"
      ],
      "env": {
        "KEYCLOAK_REALM": "<KEYCLOAK_REALM>",
        "KEYCLOAK_URL": "<KEYCLOAK_URL>"
      }
    }
  }
}

Put your own values in place of <KEYCLOAK_URL> (Base URL of the server, such as https://keycloak.example.com), <KEYCLOAK_REALM> (Realm the tools act on). The author’s registry entry marks them as required.

Optional settings from the registry entry, left out of the block above: KEYCLOAK_TOKEN (A fixed access token; otherwise set KEYCLOAK_CLIENT_ID and KEYCLOAK_CLIENT_SECRET), KEYCLOAK_CLIENT_ID (A confidential client with a service account, for the client credentials grant), KEYCLOAK_CLIENT_SECRET (Secret of that client), KEYCLOAK_TOKEN_REALM (Realm of that client, if not KEYCLOAK_REALM (for example master)), KEYCLOAK_MCP_ALLOW_WRITES (1 to list the tools that change data), KEYCLOAK_MCP_RESOURCES (Comma separated resources to list tools for, such as users,groups,roles).

Alternatives to Keycloak Admin API

same job, measured the same way
Hetzner Cloud (unofficial)
by mguttmann

Unofficial MCP server for the Hetzner Cloud API: one typed tool per operation, read and write.

74 installs/wk local only
ThreatLocker MCP
by servosity

Every ThreatLocker Portal API feature, plus the write operations the read-only tools lack and a

local only
WAGO PLC
by wagoalex

Read and monitor WAGO PLC parameters over the WDA REST API. Read-only unless writes are allowed.

860 installs/wk local only
Mercury Multiorg MCP
by dkaleganov

Unofficial read-only MCP server exposing several Mercury banking organizations to one AI session.

162 installs/wk local only
Sber MCP
by ex3lite

Unofficial SberBank Online: read accounts and operations, transfer with human approval.

146 installs/wk local only
ZapSign (unofficial)
by blancasj

ZapSign e-signature API: reads run freely, writes ask first, personal data filtered out.

52 installs/wk local only
Talos MCP Server
by bryanjbelanger

Talos Linux cluster operations as one thin MCP tool over the official machine API.

local only
Qbo Multicompany MCP
by dkaleganov

Unofficial read-only MCP server for several QuickBooks Online company files in one AI session.

411 installs/wk local only

Keycloak Admin API — questions

Answers built from our own checks of this server.

Why is there no uptime for Keycloak Admin API?
Keycloak Admin API runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone. What can be measured is adoption: the npm package keycloak-api was installed 3 476 times last week.
How do I connect Keycloak Admin API?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It runs locally, so the command pulls keycloak-api straight from npm; nothing to host, nothing to sign up for.
How many people use Keycloak Admin API?
The npm package keycloak-api was installed 3 476 times in the last week. Week over week that is +3241%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Keycloak Admin API open source?
Yes — it is published under the ISC licence, written in TypeScript, 0 stars on GitHub and 10 open issues. The source link is on this page, so you can read exactly what it does with your data before you connect it.