keycloak-mcp

keycloak-mcp: управляет облачным Keycloak — realm, SSO, пользователи, WAF из ассистента

От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетБез входаГлобальныйБесплатноМожет изменять данные

Что умеет

  • Создавать и масштабировать кластеры Keycloak
  • Настраивать realm, приложения и провайдеров идентичности SSO
  • Управлять пользователями, ролями и группами
  • Настраивать домены, WAF и гео-блокировку
  • Отправлять события аудита в SIEM

Какие данные видит

Ассистент управляет кластерами и настройками Keycloak в пределах роли пользователя в workspace, вход по OAuth через браузер.

Нужен ли аккаунт

Не нужен: сервер работает без входа

keycloak-mcp даёт ассистенту доступ к управляемому Keycloak: создание и масштабирование кластеров, настройка realm и приложений, подключение SSO и провайдеров идентичности (Google, GitHub, SAML, LDAP), управление пользователями, ролями и группами, кастомные домены, WAF и гео-блокировка, стрим событий аудита в SIEM. Вход через браузер по OAuth, без ключей API, права ограничены ролью в workspace.

Как подключить

Как подключить keycloak-mcp к Claude

Адрес сервера, который нужно вставить в настройках Claude:

https://keycloak-mcp--skycloak.run.tools

  1. Откройте Claude (сайт claude.ai или приложение для компьютера).
  2. Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
  3. Нажмите Добавить пользовательский коннектор (Add custom connector).
  4. Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
  5. В чате нажмите + → Коннекторы и включите новый коннектор.

Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.

Авторизация

После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.

Как подключить keycloak-mcp к ChatGPT

Адрес сервера, который нужно вставить в настройках ChatGPT:

https://keycloak-mcp--skycloak.run.tools

  1. Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
  2. Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
  3. Откройте Настройки → Коннекторы и нажмите Создать (Create).
  4. Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
  5. В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
  6. В новом чате откройте + → Приложения/Коннекторы и включите коннектор.

Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.

Авторизация

При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.

Как подключить keycloak-mcp к Cursor

Адрес сервера, который нужно вставить в настройках Cursor:

https://keycloak-mcp--skycloak.run.tools

Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.

Вручную:

  1. В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
  2. Вставьте JSON, скопированный ниже, в открывшийся файл ~/.cursor/mcp.json (для одного проекта: .cursor/mcp.json в корне проекта).
  3. Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.

Авторизация

Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.

Список инструментов сервера (60)

Технические названия из tools/list. Нужны только разработчикам.

skycloak_add_cluster_captcha_domainRegister a hostname for CAPTCHA protection on a cluster.
skycloak_add_realm_user_to_groupAdd a user to a realm group.
skycloak_assign_application_roleGrant a role to an application's service account. Provide role_client_id for a client role, or omit it for a realm role.
skycloak_assign_realm_user_roleAssign a realm role to a user.
skycloak_cancel_cluster_upgradeCancel an in-progress cluster version upgrade. Set confirm=true to proceed.
skycloak_create_applicationCreate an OIDC/SAML client (application) in a realm. Returns the client secret for confidential clients (store it; it is not retrievable later).
skycloak_create_clusterProvision a new Keycloak cluster. Asynchronous: the returned cluster starts in a provisioning state — poll skycloak_get_cluster until its status is 'available'. Requires --allow-writes.
skycloak_create_domainAdd a custom domain to a cluster. Returns the DNS records the customer must create to verify and route the domain.
skycloak_create_domain_routeAdd a realm route to a custom domain.
skycloak_create_exportStart a database export for a cluster. Asynchronous: poll skycloak_get_export until the status is 'completed' to obtain the download URL. Including credentials requires an encryption_password.
skycloak_create_identity_providerCreate an OIDC identity provider (SSO connection) in a realm.
skycloak_create_realmCreate a new Keycloak realm in a cluster. Requires the server to be started with --allow-writes and a write-scoped API key.
skycloak_create_realm_exportExport a Keycloak realm to an encrypted archive. Asynchronous: poll skycloak_get_realm_export until status is 'completed'. The archive is always encrypted, so encryption_password is required, and the same password is needed to import it again. This is a realm export (one realm's configuration); skycloak_create_export is the separate whole-cluster database export.
skycloak_create_realm_groupCreate a realm group, optionally nested under a parent group.
skycloak_create_realm_importImport a Keycloak realm into a cluster from an uploaded archive or an existing realm export. Asynchronous: poll skycloak_get_realm_import. Creates a new realm: preflight refuses a name collision rather than overwriting, so an existing realm of the same name fails with 409. It does import users and their credentials, so set confirm=true to proceed.
skycloak_create_realm_import_upload_urlGet a presigned URL to upload a realm archive to. PUT the archive to upload_url, then pass the returned s3_key to skycloak_create_realm_import as upload_s3_key. Not needed when importing an existing export: pass that export's ID as source_export_id instead.
skycloak_create_realm_roleCreate a realm-scoped role.
skycloak_create_realm_userCreate a realm user with an initial temporary password.
skycloak_create_siem_destinationCreate a SIEM destination. Credentials are write-only and are not returned.
skycloak_create_webhook_subscriptionCreate a webhook subscription. Signing secrets and authorization headers are write-only.
skycloak_delete_applicationDelete an application (OIDC/SAML client) from a realm. Set confirm=true to proceed.
skycloak_delete_clusterPermanently delete a Keycloak cluster and all of its realms and data. Irreversible. Set confirm=true to proceed.
skycloak_delete_cluster_maintenance_windowDelete a cluster-specific maintenance window so the cluster follows the workspace default. Set confirm=true to proceed.
skycloak_delete_domainRemove a custom domain from a cluster. Set confirm=true to proceed.
skycloak_delete_domain_routeRemove a realm route from a custom domain. Set confirm=true to proceed.
skycloak_delete_email_brandingRevert email branding to defaults. Set confirm=true to proceed.
skycloak_delete_exportDelete a database export archive. Set confirm=true to proceed.
skycloak_delete_extensionDelete a custom extension from the workspace catalog. Set confirm=true to proceed.
skycloak_delete_identity_providerDelete an identity provider from a realm. Set confirm=true to proceed.
skycloak_delete_login_brandingRevert login branding to defaults. Set confirm=true to proceed.
skycloak_delete_realmPermanently delete a realm and all of its users, clients and configuration. This is irreversible. Set confirm=true to proceed.
skycloak_delete_realm_groupDelete a realm group. Set confirm=true to proceed.
skycloak_delete_realm_roleDelete a realm role. Set confirm=true to proceed.
skycloak_delete_realm_userDelete a realm user. Set confirm=true to proceed.
skycloak_delete_siem_destinationDelete a SIEM destination. Set confirm=true to proceed.
skycloak_delete_smtpRemove a realm's SMTP configuration. Set confirm=true to proceed.
skycloak_delete_themeDelete a custom theme. Set confirm=true to proceed.
skycloak_delete_webhook_subscriptionDelete a webhook subscription. Set confirm=true to proceed.
skycloak_discover_oidcResolve an OIDC issuer's discovery document to obtain its authorization, token, and userinfo endpoints. Use the result when creating an identity provider.
skycloak_download_theme_contentDownload a custom theme's content archive. Returns size and SHA-256 always, and the archive itself only when it is small enough to inline.
skycloak_export_cluster_eventsExport a cluster's events as a document and return its contents.
skycloak_get_applicationGet an application (OIDC/SAML client) by client ID.
skycloak_get_client_theme_assignmentGet a client's login-theme override (empty means the realm default).
skycloak_get_clusterGet full details for a single Keycloak cluster by its ID.
skycloak_get_cluster_insightsGet cluster analytics as a JSON document. type is one of: overview, authentication, events, performance, security.
skycloak_get_cluster_maintenance_windowGet a cluster-specific maintenance window. A 404 means the cluster follows the workspace default.
skycloak_get_cluster_securityGet a cluster's edge-security configuration: IP allow-listing, rate limiting, WAF, geo-blocking, and bot management.
skycloak_get_cluster_upgrade_pathGet the recommended version-upgrade path for a cluster.
skycloak_get_domainGet a custom domain by ID, including its DNS records and verification/SSL status.
skycloak_get_domain_routeGet a single realm route on a custom domain.
skycloak_get_email_brandingGet the email-template branding (colors, logo, footer) for a realm.
skycloak_get_exportGet a database export job by ID, including its status, progress, and (once completed) the time-limited download URL.
skycloak_get_identity_providerGet an identity provider by provider ID.
skycloak_get_login_brandingGet the login-page branding (colors, logo, toggles) for a realm.
skycloak_get_logsRead recent Keycloak server logs for a cluster, optionally filtered by level and a search string.
skycloak_get_realmGet a realm by name.
skycloak_get_realm_exportGet a realm export job by ID. Poll this after skycloak_create_realm_export until status is 'completed'; the download URL only appears then and expires 24 hours later.
skycloak_get_realm_groupGet a realm group by ID.
skycloak_get_realm_importGet a realm import job by ID. Poll this after skycloak_create_realm_import until status is 'completed' or 'failed'.
skycloak_get_realm_roleGet a realm role by name.