A side-by-side look at the MCP Keycloak Admin and Binary Ninja MCP 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 Binary Ninja MCP 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.list_methods, get_entry_points, search_functions_by_name.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Security | Security |
| Quality signal | 61/100 · Good | 71/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | other | No auth required |
| Pricing | Free | Free |
| Required env vars | KEYCLOAK_BASE_URLKEYCLOAK_REALMAUTH_MODEKC_CLIENT_IDKC_CLIENT_SECRETKC_ADMIN_USERNAMEKC_ADMIN_PASSWORDREAD_ONLY | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 2 | 450 |
| Directory activity | 2 views 0 installs 0 upvotes | 4 views 1 installs 0 upvotes |
| Tools | 56 | 54 |
| Full listing | View MCP Keycloak Admin | View Binary Ninja MCP |
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.list_methodsList all function names in the program with pagination.get_entry_pointsList entry point(s) of the loaded binary.search_functions_by_nameSearch for functions whose name contains the given substring.decompile_functionDecompile a specific function by name and return the decompiled C code.get_ilGet IL for a function in the selected view (hlil, mlil, llil).fetch_disassemblyRetrieve the disassembled code of a function as assembly mnemonic instructions.rename_functionRename a function by its current name. The configured prefix will be automatically prepended if not present.rename_single_variableRename a variable in a function.rename_multi_variablesRename multiple local variables in one call.rename_dataRename a data label at the specified address.set_commentSet a comment at a specific address.get_commentGet the comment at a specific address.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": {
"fosdickio-binary-ninja-mcp": {
"command": "npx",
"args": [
"-y",
"binary-ninja-mcp"
]
}
}
}