Skip to main content
Glama
idoyudha

mcp-keycloak

by idoyudha

remove_realm_role_from_user

Remove realm roles from a Keycloak user to manage access permissions. Specify user ID and role names to revoke specific privileges in identity management.

Instructions

Remove realm roles from a user.

Args:
    user_id: User ID
    role_names: List of role names to remove
    realm: Target realm (uses default if not specified)

Returns:
    Status message

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
user_idYes
role_namesYes
realmNo

Implementation Reference

  • The handler function decorated with @mcp.tool(), implementing the logic to remove realm roles from a user by fetching roles and deleting mappings via Keycloak API.
    @mcp.tool()
    async def remove_realm_role_from_user(
        user_id: str, role_names: List[str], realm: Optional[str] = None
    ) -> Dict[str, str]:
        """
        Remove realm roles from a user.
    
        Args:
            user_id: User ID
            role_names: List of role names to remove
            realm: Target realm (uses default if not specified)
    
        Returns:
            Status message
        """
        # Get role representations
        roles = []
        for role_name in role_names:
            role = await client._make_request("GET", f"/roles/{role_name}", realm=realm)
            roles.append(role)
    
        await client._make_request(
            "DELETE", f"/users/{user_id}/role-mappings/realm", data=roles, realm=realm
        )
        return {
            "status": "removed",
            "message": f"Roles {role_names} removed from user {user_id}",
        }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/idoyudha/mcp-keycloak'

If you have feedback or need assistance with the MCP directory API, please join our Discord server