MCP Server for Keycloak

Your managed Keycloak, in the conversation.

The Skycloak MCP server gives your AI assistant your whole platform: clusters, realms, applications, SSO, custom domains, WAF, webhooks, SIEM and branding. One command, browser sign-in, nothing to install.

terminal bash
$ claude mcp add --transport http skycloak https://mcp.skycloak.io

No API key to create, paste into a config file, or forget to rotate. Your client opens a browser and you approve.

What is an MCP server for Keycloak?

An MCP server for Keycloak is a Model Context Protocol endpoint that lets an AI assistant read and change your identity infrastructure through defined tools instead of a dashboard or hand-written API calls. The Skycloak MCP server is hosted at https://mcp.skycloak.io and exposes every operation the Skycloak platform API supports, spanning managed Keycloak clusters, realms, applications, identity providers, users, custom domains, edge security, webhooks, SIEM destinations, branding and SMTP. It authenticates over OAuth in your browser, and an assistant only ever gets the access the signed-in account already has.

Everything the API can do

Not just the realm. The platform around it.

Point an agent at a Keycloak admin API and it can edit realms. It cannot provision a cluster, verify a custom domain, change a WAF rule, or ship events to your SIEM. Those surfaces are the managed platform, and they are exactly where an assistant saves the most time.

Clusters

Provision, resize, upgrade and inspect the managed Keycloak clusters themselves.

list_clusters, get_cluster, create_cluster, update_cluster, list_cluster_upgrades, get_cluster_upgrade_path, get_cluster_insights

Edge security & WAF

Read and change the protection in front of the cluster, not just the settings inside it.

get_cluster_security, update_cluster_security

Custom domains

Add a domain, get back the DNS records to create, then trigger verification and manage routes.

list_domains, create_domain, verify_domain, list_domain_routes, create_domain_route

Webhooks

Subscribe to platform events, inspect what is subscribed, and fire a test delivery.

list_webhook_subscriptions, list_webhook_event_types, create_webhook_subscription, test_webhook_subscription

SIEM destinations

Wire cluster events into Splunk, Datadog, Sentinel or a webhook sink, and test the pipe.

list_siem_destinations, create_siem_destination, update_siem_destination, test_siem_destination

Events, logs & exports

Query authentication and admin events, read logs, and export realms or event history.

query_events, get_logs, create_export, export_cluster_events, create_realm_export

Realms, users & roles

The Keycloak layer: realms, users, roles, groups and membership.

list_realms, create_realm, list_realm_users, create_realm_user, assign_realm_user_role, add_realm_user_to_group

Applications & SSO

OIDC and SAML clients, their roles and sessions, plus the identity providers behind sign-in.

list_applications, create_application, rotate_application_secret, list_identity_providers, create_identity_provider, discover_oidc

Branding & themes

Login and email branding, theme upload and per-client theme assignment.

list_themes, set_theme_assignment, upsert_login_branding, upsert_email_branding

Extensions & SMTP

Install and upgrade Keycloak extensions, and configure or test outbound mail.

list_extensions, install_extension, upgrade_extension, get_smtp, upsert_smtp, test_smtp

Things to actually ask it

Questions a dashboard makes you click for.

Audit

“Which realms across my clusters still have self-registration enabled?”

Upgrades

“Which of my clusters are behind on their Keycloak version, and what is the upgrade path for the oldest one?”

Incident

“Pull the last 200 failed logins for realm acme and group them by IP.”

Sign-in setup

“Which identity providers are configured on the checkout realm, and is the Google one still enabled?”

Change tracking

“Show me the admin events for realm acme this week. Did anyone change the login settings?”

Provisioning

“Create a staging cluster in the EU, add a realm called checkout, and wire up Microsoft Entra ID sign-in.”

Custom domains

“Add login.acme.com as a custom domain and tell me exactly which DNS records to create.”

Housekeeping

“Rotate the client secret for the checkout application and show me the new one.”

Read questions run against your live platform. Anything that changes state is bounded by your own permissions, and deletions need an explicit confirmation.

Permissions

Your agent gets exactly the access you have.

The scary part of handing an assistant your identity provider is not that it does nothing useful. It is that it does something very useful to the wrong realm. So there is no second permission system to reason about.

One permission model

Tools are registered against the scopes of the credential you signed in with. If your account cannot rotate a client secret, neither can your assistant. Nothing to configure, nothing that can drift out of step with your real access.

Destructive tools refuse by default

Deleting a realm, an application or an identity provider requires an explicit confirm=true. Without it the tool declines and says why, so an ambiguous instruction cannot cascade into a deletion.

Standard OAuth, no shared secret

Sign-in runs through your Skycloak account over OAuth. There is no long-lived key sitting in a config file on a laptop, and revoking access is the same action you already use.

FAQ

The MCP server, answered.

What is the Skycloak MCP server?
It is a hosted Model Context Protocol server that lets an AI assistant manage your Skycloak platform in plain language. It covers managed Keycloak clusters, realms, applications, identity providers, users, custom domains, edge security and WAF, webhooks, SIEM destinations, branding, extensions and audit logs. You connect with one command and sign in through your browser, and there is nothing to install.
How do I add it to Claude Code, Claude Desktop or Cursor?
Run claude mcp add --transport http skycloak https://mcp.skycloak.io. For a client that takes JSON configuration, add an entry with "type": "http" and "url": "https://mcp.skycloak.io". On first use the server returns a 401 carrying its OAuth metadata and your client opens a browser for you to sign in. See the MCP documentation for the full setup.
Do I need an API key?
No. The hosted server implements OAuth discovery, so your client finds the authorization server on its own and opens a browser for you to approve. There is no key to create, paste into a config file, or rotate. If your client does not speak OAuth, or you are running headless in CI, you can send a Skycloak API key as a bearer token instead.
Can an AI assistant delete my production realm?
Only if you can. Tools are registered against the scopes of the credential you signed in with, so the assistant inherits exactly your access and never more. On top of that, destructive tools such as deleting a realm, an application or an identity provider refuse to run unless they are passed an explicit confirm=true, so a vague instruction cannot cascade into a deletion.
Is this just for Keycloak configuration?
No, and that is the main difference from pointing an agent at a Keycloak admin API. The Skycloak MCP server reaches the managed platform around Keycloak as well: provisioning and upgrading clusters, custom domains and their DNS verification, the WAF and edge security rules, webhook subscriptions, SIEM destinations, extensions, SMTP and branding. Those surfaces do not exist in the Keycloak admin API at all.
Does it work with clients other than Claude?
Yes. It speaks streamable HTTP, the standard MCP remote transport, so any spec-compliant client can connect. Claude Code, Claude Desktop and Cursor are the ones we test against.
What does it cost?
Nothing extra. The MCP server is included with every Skycloak plan and is rate limited per plan like the rest of the API. You need a Skycloak account and at least one cluster for it to be useful.
How is this different from the Terraform provider?
They solve different halves of the same problem. The Terraform provider is for declarative, reviewed, repeatable infrastructure that lives in version control. The MCP server is for the conversational half: investigating, auditing and answering questions, plus the one-off changes that never justified a pull request. Most teams end up using both.

Stop clicking through a console to answer a question.

Connect in one command, or start a free trial and spin up a cluster to point it at. Unlimited users on every plan, real upstream Keycloak, no lock-in.

Start free trial
Start Free Trial MCP Docs
© 2026 Skycloak. All Rights Reserved. Design by Yasser Soliman