keycloak-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KEYCLOAK_URL | Yes | The base URL of your Keycloak instance | http://localhost:8080 |
| KEYCLOAK_ADMIN | Yes | Admin username | admin |
| KEYCLOAK_ADMIN_PASSWORD | Yes | Admin password | admin |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create-user | Create a new user in a specific realm |
| delete-user | Delete a user from a specific realm |
| list-users | List users in a specific realm |
| update-user | Update user information in a specific realm |
| get-user | Get user details by ID from a specific realm |
| reset-user-password | Reset a user's password in a specific realm |
| search-users | Search users in a specific realm with filters |
| logout-user | Logout all sessions for a specific user |
| list-realms | List all available realms |
| create-realm | Create a new realm with configurable settings |
| update-realm | Update realm settings and configurations |
| delete-realm | Delete an existing realm |
| get-realm-settings | Retrieve detailed settings of a realm |
| create-client | Register a new client/application in a realm |
| update-client | Update client settings (redirect URIs, protocol mappers, etc.) |
| delete-client | Remove a client from a realm |
| list-clients | List all clients in a realm |
| list-roles | List all roles in a specific realm |
| create-role | Create roles at realm or client level |
| update-role | Modify role attributes |
| delete-role | Delete roles |
| assign-role-to-user | Assign a realm role, or a client role when clientId is given, to a user |
| remove-role-from-user | Remove a realm role, or a client role when clientId is given, from a user |
| get-user-roles | Get all roles directly assigned to a user, returned as { realmMappings, clientMappings } |
| list-client-roles | List all roles defined on a client |
| create-group | Create user groups |
| update-group | Update group attributes |
| delete-group | Delete groups |
| list-groups | List all groups in a realm |
| manage-user-groups | Add or remove users from groups |
| list-sessions | List all active sessions in a realm |
| get-user-sessions | List active sessions for a user |
| list-events | Retrieve authentication and admin events |
| clear-events | Clear event logs |
| create-protocol-mapper | Create a protocol mapper for a client (CRITICAL for JWT organization claims) |
| create-client-scope-protocol-mapper | Create a protocol mapper for a client scope |
| list-protocol-mappers | List protocol mappers for a client |
| list-client-scope-protocol-mappers | List protocol mappers for a client scope |
| update-protocol-mapper | Update a protocol mapper for a client |
| update-client-scope-protocol-mapper | Update a protocol mapper for a client scope |
| delete-protocol-mapper | Delete a protocol mapper from a client |
| delete-client-scope-protocol-mapper | Delete a protocol mapper from a client scope |
| set-user-attributes | Set user attributes (CRITICAL for storing organization data) |
| get-user-attributes | Get user attributes including unmanaged attributes |
| create-client-scope | Create a new client scope (CRITICAL for managing token scopes) |
| update-client-scope | Update an existing client scope |
| delete-client-scope | Delete a client scope |
| list-client-scopes | List all client scopes in a realm |
| get-client-scope | Get details of a specific client scope |
| create-organization | Create a new organization (CRITICAL for organization management) |
| update-organization | Update an existing organization |
| delete-organization | Delete an organization |
| list-organizations | List all organizations in a realm |
| get-organization | Get details of a specific organization |
| add-organization-member | Add a user to an organization |
| remove-organization-member | Remove a user from an organization |
| list-organization-members | List all members of an organization |
| create-composite-role | Create composite roles (role hierarchies) |
| get-composite-roles | Get composite roles for a role |
| delete-composite-roles | Delete composite roles from a role |
| get-role-by-id | Get role details by ID |
| update-role-by-id | Update role by ID |
| delete-role-by-id | Delete role by ID |
| find-users-with-role | Find users with a realm role, or with a client role when clientId is given |
| assign-role-to-group | Assign a realm role, or a client role when clientId is given, to a group |
| remove-role-from-group | Remove a realm role, or a client role when clientId is given, from a group |
| get-group-roles | Get roles assigned to a group, returned as { realmMappings, clientMappings } |
| list-available-group-roles | List roles a group could still be granted -- realm roles, or a client's roles when clientId is given |
| list-composite-group-roles | List composite roles for a group |
| set-group-attributes | Set group attributes (organization metadata) |
| get-group-attributes | Get group attributes |
| create-child-group | Create a child group (subgroup) |
| list-sub-groups | List subgroups of a parent group |
| list-group-members | List members of a group |
| create-identity-provider | Create a new identity provider for SSO integration |
| update-identity-provider | Update an existing identity provider |
| delete-identity-provider | Delete an identity provider |
| list-identity-providers | List all identity providers in a realm |
| get-identity-provider | Get details of a specific identity provider |
| create-identity-provider-mapper | Create a mapper for identity provider (external user mapping) |
| update-identity-provider-mapper | Update an identity provider mapper |
| delete-identity-provider-mapper | Delete an identity provider mapper |
| list-identity-provider-mappers | List all mappers for an identity provider |
| get-identity-provider-mapper | Get details of a specific identity provider mapper |
| list-identity-provider-mapper-types | List available mapper types for an identity provider |
| import-identity-provider-from-url | Import identity provider configuration from URL |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/thebylito/keycloak-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server