Keycloak Admin API
Unofficial: one tool per Keycloak admin operation on a realm, read-only unless writes are enabled
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
keycloak-apiclaude mcp add keycloak-admin-api -e 'KEYCLOAK_URL=<KEYCLOAK_URL>' -e 'KEYCLOAK_REALM=<KEYCLOAK_REALM>' -e 'KEYCLOAK_TOKEN=<your keycloak_token>' -e 'KEYCLOAK_CLIENT_ID=<KEYCLOAK_CLIENT_ID>' -e 'KEYCLOAK_CLIENT_SECRET=<your keycloak_client_secret>' -e 'KEYCLOAK_TOKEN_REALM=<KEYCLOAK_TOKEN_REALM>' -e 'KEYCLOAK_MCP_ALLOW_WRITES=<KEYCLOAK_MCP_ALLOW_WRITES>' -- npx -y keycloak-api@3.7.1
{
"mcpServers": {
"keycloak-admin-api": {
"command": "npx",
"args": [
"-y",
"keycloak-api@3.7.1"
],
"env": {
"KEYCLOAK_URL": "<KEYCLOAK_URL>",
"KEYCLOAK_REALM": "<KEYCLOAK_REALM>",
"KEYCLOAK_TOKEN": "<your keycloak_token>",
"KEYCLOAK_CLIENT_ID": "<KEYCLOAK_CLIENT_ID>",
"KEYCLOAK_CLIENT_SECRET": "<your keycloak_client_secret>",
"KEYCLOAK_TOKEN_REALM": "<KEYCLOAK_TOKEN_REALM>",
"KEYCLOAK_MCP_ALLOW_WRITES": "<KEYCLOAK_MCP_ALLOW_WRITES>"
}
}
}
}
Variables d'environnement
KEYCLOAK_URLobligatoire Base URL of the server, such as https://keycloak.example.comKEYCLOAK_REALMobligatoire Realm the tools act onKEYCLOAK_TOKENsecret A fixed access token; otherwise set KEYCLOAK_CLIENT_ID and KEYCLOAK_CLIENT_SECRETKEYCLOAK_CLIENT_IDA confidential client with a service account, for the client credentials grantKEYCLOAK_CLIENT_SECRETsecret Secret of that clientKEYCLOAK_TOKEN_REALMRealm of that client, if not KEYCLOAK_REALM (for example master)KEYCLOAK_MCP_ALLOW_WRITES1 to list the tools that change data
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
openapi
Type-safe TypeScript clients generated from public OpenAPI specs, plus the site at openapi.sferadev.com that lists them.
| Package | API |
|---|---|
cloudflare-api-js | Cloudflare |
keycloak-api | Keycloak |
litellm-api | LiteLLM |
netlify-api | Netlify |
nuki-api-js | Nuki |
v0-api | Vercel v0 |
vercel-api-js | Vercel |
zoom-api-js | Zoom |
Coding agents can load skills/openapi-clients, an Agent Skill on picking a client, auth, finding an operation, errors, streaming and Effect: npx skills add sferarc/openapi.
packages/openapi-utils holds the shared kubb config, spec fetching and runtime helpers every client is generated with. apps/openapi is the website.
Development
The toolchain is pinned in mise.toml. With mise installed:
mise install
pnpm install
pnpm tsc && pnpm check && pnpm test
pnpm generate --filter=<package> # regenerate one client from its live spec
The Update OpenAPI workflow regenerates each client from its upstream spec and opens a PR with a changeset written from the diff. Releases go through changesets: merging the version PR publishes to npm.
Questions fréquentes
Qu'est-ce que Keycloak Admin API ?
Unofficial: one tool per Keycloak admin operation on a realm, read-only unless writes are enabled
Comment installer Keycloak Admin API ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add keycloak-admin-api -e 'KEYCLOAK_URL=<KEYCLOAK_URL>' -e 'KEYCLOAK_REALM=<KEYCLOAK_REALM>' -e 'KEYCLOAK_TOKEN=<your keycloak_token>' -e 'KEYCLOAK_CLIENT_ID=<KEYCLOAK_CLIENT_ID>' -e 'KEYCLOAK_CLIENT_SECRET=<your keycloak_client_secret>' -e 'KEYCLOAK_TOKEN_REALM=<KEYCLOAK_TOKEN_REALM>' -e 'KEYCLOAK_MCP_ALLOW_WRITES=<KEYCLOAK_MCP_ALLOW_WRITES>' -- npx -y keycloak-api@3.7.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour Keycloak Admin API ?
Oui. Il attend KEYCLOAK_URL, KEYCLOAK_REALM, KEYCLOAK_TOKEN, KEYCLOAK_CLIENT_SECRET, à renseigner dans sa configuration.
Keycloak Admin API est-il open source ?
Oui. Son code est sur GitHub sous licence ISC.
Qui maintient Keycloak Admin API ?
Il est publié par sferarc. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.