Zitadel MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | DEBUG, INFO, WARN, ERROR (default: INFO) | INFO |
| ZITADEL_ISSUER | Yes | Zitadel instance URL | |
| ZITADEL_ORG_ID | Yes | Organization ID | |
| ZITADEL_PROJECT_ID | No | Default project ID for role operations | |
| PORTAL_DATABASE_URL | No | Postgres connection string (enables portal tools) | |
| ZITADEL_SERVICE_ACCOUNT_KEY_ID | Yes | Key ID from the JSON key file | |
| ZITADEL_SERVICE_ACCOUNT_USER_ID | Yes | Service account user ID | |
| ZITADEL_SERVICE_ACCOUNT_PRIVATE_KEY | Yes | Base64-encoded RSA private key (the key field from the downloaded JSON) |
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 |
|---|---|
| zitadel_list_usersB | List or search users in the Zitadel instance. Returns user details including name, email, status, and login names. |
| zitadel_get_userA | Get detailed information about a specific user by their user ID. |
| zitadel_create_userA | Create a new human user in Zitadel. An invitation email will be sent automatically so the user can set their password. |
| zitadel_deactivate_userA | Deactivate a user account. The user will no longer be able to log in. Requires confirm: true. |
| zitadel_reactivate_userB | Reactivate a previously deactivated user account. |
| zitadel_lock_userA | Lock a user account. The user will not be able to log in until unlocked. Requires confirm: true. |
| zitadel_unlock_userA | Unlock a previously locked user account. |
| zitadel_delete_userA | Permanently delete a user. This action cannot be undone. Requires confirm: true. Consider using zitadel_deactivate_user instead (reversible). |
| zitadel_list_projectsB | List all projects in the Zitadel organization. |
| zitadel_get_projectB | Get details of a specific project by its ID. |
| zitadel_create_projectB | Create a new project in Zitadel. Projects contain applications, roles, and grants. |
| zitadel_list_appsB | List all applications in a Zitadel project. |
| zitadel_get_appA | Get details of a specific application including its Client ID and OIDC configuration. |
| zitadel_create_oidc_appA | Create a new OIDC application in a Zitadel project. Returns the Client ID (and Client Secret for confidential clients). Configure redirect URIs, response types, and grant types. |
| zitadel_update_appB | Update an OIDC application's configuration (redirect URIs, auth method, etc.). |
| zitadel_list_project_rolesA | List all roles defined in a Zitadel project (e.g., "admin", "app:finance"). |
| zitadel_create_project_roleA | Create a new role in a Zitadel project. Use key format "app:{slug}" for app-specific access roles. |
| zitadel_list_user_grantsA | List role grants for a specific user, showing which roles they have been assigned. |
| zitadel_create_user_grantA | Assign roles to a user by creating a grant. Validates that the roles exist in the project before granting. |
| zitadel_remove_user_grantA | Remove a role grant from a user by grant ID. Requires confirm: true. |
| zitadel_create_service_userA | Create a new service account (machine user) for API access. Service accounts authenticate via JWT keys, not passwords. |
| zitadel_create_service_user_keyA | Generate a new key pair for a service account. The private key is returned ONLY at creation time — save it immediately. |
| zitadel_list_service_user_keysA | List existing keys for a service account. Shows key metadata only (not private keys). |
| zitadel_get_orgA | Get details of the current organization (based on the configured ZITADEL_ORG_ID). |
| zitadel_get_auth_configA | Get the environment variables needed for a new application's .env.local file. Fetches the app details and formats them as ready-to-paste configuration. |
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/takleb3rry/zitadel-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server