A side-by-side look at the MCP Keycloak Admin and Vorim MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose MCP Keycloak Admin for security work as a local process; choose Vorim MCP Server for security as a local process. You can also run both side by side in one mcpServers block.
KEYCLOAK_BASE_URL, KEYCLOAK_REALM, AUTH_MODE, KC_CLIENT_ID, KC_CLIENT_SECRET, KC_ADMIN_USERNAME, KC_ADMIN_PASSWORD, READ_ONLY.keycloak_user_search, keycloak_user_get, keycloak_user_sessions_list.VORIM_API_KEY, VORIM_BASE_URL.vorim_ping, vorim_verify_trust, vorim_onboard_start.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Security | Security |
| Quality signal | 61/100 · Good | 65/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | other | API key required |
| Pricing | Free | Free |
| Required env vars | KEYCLOAK_BASE_URLKEYCLOAK_REALMAUTH_MODEKC_CLIENT_IDKC_CLIENT_SECRETKC_ADMIN_USERNAMEKC_ADMIN_PASSWORDREAD_ONLY | VORIM_API_KEYVORIM_BASE_URL |
| Verified owner | Community listing | Community listing |
| GitHub stars | 2 | 66 |
| Directory activity | 2 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | 56 | 4 |
| Full listing | View MCP Keycloak Admin | View Vorim MCP Server |
keycloak_user_searchSearch realm users by email, username or free text.keycloak_user_getFetch a single user by id.keycloak_user_sessions_listList a user's active sessions.keycloak_user_createCreate a realm user.keycloak_user_updateUpdate a user's email, name or enabled flag.keycloak_user_set_enabledEnable or disable a user.keycloak_user_send_action_emailSend a required-actions email.keycloak_user_reset_passwordSet a new password for a user.keycloak_user_logoutRevoke all of a user's sessions.keycloak_user_deletePermanently delete a user (id + username must match).keycloak_role_listList realm roles.keycloak_user_roles_getList a user's realm roles.vorim_pingCheck Vorim AI API health and connectivity. Returns status, version, and service health.vorim_verify_trustVerify an agent's identity and trust score. Public endpoint, no authentication required. Returns the trust score (0-100), trust band, status, owning organisation name and a signed attestation. Active scopes and key fingerprint are not shown publicly; the owning organisation can see them with vorim_list_permissions and vorim_get_agent.vorim_onboard_startStart onboarding a user who does NOT yet have a Vorim API key (device-authorization flow). Returns a user_code and an activation URL. You MUST show the human the user_code and verification_uri VERBATIM and ask them to approve in their browser. Then call vorim_onboard_check with the returned device_code to obtain the API key. No VORIM_API_KEY is required for this tool.vorim_onboard_checkCheck whether the human has approved the onboarding request from vorim_onboard_start. Pass the device_code you received. Returns the new API key once approved; otherwise returns a status (authorization_pending — wait ~5s and call again; slow_down — wait longer; access_denied; expired_token).Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"mrz1880-mcp-keycloak-admin": {
"command": "npx",
"args": [
"-y",
"mcp-keycloak-admin"
],
"env": {
"KEYCLOAK_BASE_URL": "YOUR_KEYCLOAK_BASE_URL_HERE",
"KEYCLOAK_REALM": "YOUR_KEYCLOAK_REALM_HERE",
"AUTH_MODE": "YOUR_AUTH_MODE_HERE",
"KC_CLIENT_ID": "YOUR_KC_CLIENT_ID_HERE",
"KC_CLIENT_SECRET": "YOUR_KC_CLIENT_SECRET_HERE",
"KC_ADMIN_USERNAME": "YOUR_KC_ADMIN_USERNAME_HERE",
"KC_ADMIN_PASSWORD": "YOUR_KC_ADMIN_PASSWORD_HERE",
"READ_ONLY": "YOUR_READ_ONLY_HERE"
}
}
}
}
{
"mcpServers": {
"vorim-mcp-server": {
"command": "npx",
"args": [
"-y",
"@vorim/mcp-server"
],
"env": {
"VORIM_API_KEY": "YOUR_VORIM_API_KEY_HERE",
"VORIM_BASE_URL": "YOUR_VORIM_BASE_URL_HERE"
}
}
}
}