Skip to main content
Glama
idoyudha

mcp-keycloak

by idoyudha

create_realm_role

Create a new realm role in Keycloak for identity and access management, specifying name, description, composite status, client role status, and target realm.

Instructions

Create a new realm role.

Args:
    name: Role name
    description: Role description
    composite: Whether this is a composite role
    client_role: Whether this is a client role
    realm: Target realm (uses default if not specified)

Returns:
    Status message

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
descriptionNo
compositeNo
client_roleNo
realmNo

Implementation Reference

  • The main handler function for the 'create_realm_role' tool. It uses the KeycloakClient to POST a new role to the /roles endpoint, decorated with @mcp.tool() for registration.
    @mcp.tool()
    async def create_realm_role(
        name: str,
        description: Optional[str] = None,
        composite: bool = False,
        client_role: bool = False,
        realm: Optional[str] = None,
    ) -> Dict[str, str]:
        """
        Create a new realm role.
    
        Args:
            name: Role name
            description: Role description
            composite: Whether this is a composite role
            client_role: Whether this is a client role
            realm: Target realm (uses default if not specified)
    
        Returns:
            Status message
        """
        role_data = {"name": name, "composite": composite, "clientRole": client_role}
    
        if description:
            role_data["description"] = description
    
        await client._make_request("POST", "/roles", data=role_data, realm=realm)
        return {"status": "created", "message": f"Realm role {name} created successfully"}

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