Skip to main content
Glama
dockndevai

mcp-keycloak

by dockndevai

mcp-keycloak

CI License: MIT

Сервер Model Context Protocol для Keycloak. Он позволяет MCP-совместимому клиенту (Claude Desktop, Claude Code и т. д.) просматривать и управлять realm, пользователями, клиентами, ролями и группами Keycloak — при этом безопасность полностью контролируется флагами.

Цель дизайна — безопасность по умолчанию: сервер запускается в режиме read-only, работает только со списком разрешённых realm (allowlist), защищает чувствительные realm от изменения и допускает деструктивные операции только после явного opt-in.

Возможности

  • Multi-realm — каждый инструмент принимает аргумент realm; его область действия можно ограничить с помощью allowlist.

  • Режимы доступаread-onlyread-writeadmin, выстроены по уровням: режим никогда не открывает инструменты выше своего уровня.

  • Флаги безопасности — allowlist realm, защита чувствительных realm, контроль удаления, dry-run и журнал аудита в формате JSON (см. ниже).

  • Две стратегии аутентификации — сервисный аккаунт конфиденциального клиента (рекомендуется) или имя пользователя и пароль администратора.

  • Без тяжёлых зависимостей — тонкий Admin REST-клиент на основе fetch, плюс MCP SDK и zod.

Related MCP server: mcp-keycloak-admin

Модель безопасности

Аспект

Флаг

По умолчанию

Эффект

Что в целом может делать сервер?

KEYCLOAK_MODE

read-only

read-only даёт только инструменты чтения; read-write добавляет операции изменения; admin добавляет деструктивные инструменты. Инструменты выше режима никогда не регистрируются.

Какие realm входят в зону действия?

KEYCLOAK_REALM_ALLOWLIST

(все)

Значения через запятую. Когда список задан, любая операция с realm вне списка отклоняется.

Какие realm навсегда остаются read-only?

KEYCLOAK_PROTECTED_REALMS

master

Защищённые realm можно читать, но нельзя изменять или удалять, независимо от режима.

Можно ли удалять?

KEYCLOAK_ALLOW_DELETE

false

Инструменты delete_* требуют этого флага и режима admin.

Предпросмотр без обращения к Keycloak

KEYCLOAK_DRY_RUN

false

Инструменты записи/администрирования проверяют данные и логируют намерение, затем завершаются, не вызывая Keycloak.

Журнал аудита

KEYCLOAK_AUDIT_LOG

true

Для каждой контролируемой операции выводит JSON-строку в stderr (ALLOW / DENY / DRY_RUN).

Эти слои независимы — например, режим admin с KEYCLOAK_ALLOW_DELETE=false может создавать и обновлять пользователей, но не может их удалять.

Инструменты

Чтение (read-only и выше): list_realms, get_realm, list_users, get_user, count_users, list_clients, list_realm_roles, list_groups

Запись (read-write и выше): create_user, update_user, reset_password, logout_user

Администрирование (admin): delete_user

Работа с вашим MCP-клиентом

Работает с Claude Code, Claude Desktop, Cursor, OpenAI Codex CLI, Windsurf, VS Code (Copilot) и любым другим MCP-клиентом — о настройке каждого клиента см. docs/CLIENTS.md.

Установка

npm install
npm run build

Настройка

Скопируйте .env.example и заполните его, либо задайте переменные напрямую в конфигурации вашего MCP-клиента. Рекомендуемые учётные данные — конфиденциальный клиент (confidential client) с нужными вам ролями realm-management.

Запуск с Claude Desktop / Claude Code

Добавьте в конфигурацию вашего MCP-клиента (claude_desktop_config.json или через claude mcp add):

{
  "mcpServers": {
    "keycloak": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-keycloak/dist/index.js"],
      "env": {
        "KEYCLOAK_URL": "https://keycloak.example.com",
        "KEYCLOAK_CLIENT_ID": "admin-cli",
        "KEYCLOAK_CLIENT_SECRET": "your-secret",
        "KEYCLOAK_MODE": "read-only",
        "KEYCLOAK_REALM_ALLOWLIST": "app,customers"
      }
    }
  }
}

Повышайте KEYCLOAK_MODE до read-write (а для удалений — admin + KEYCLOAK_ALLOW_DELETE=true) только тогда, когда вы намерены позволить модели вносить изменения.

Разработка

npm run dev        # watch mode
npm test           # unit tests for the security policy
npm run typecheck

Публикация

Сервер поставляется с server.json для официального реестра MCP и со значением mcpName в mcpName для проверки владения пакетом на npm. О публикации на npm и добавлении в список MCP-реестра, Smithery, Glama, Cursor и PulseMCP см. PUBLISHING.md.

Лицензия

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    An MCP server for Keycloak Admin REST API, enabling user, group, event, and security management through service account authentication.
    30
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables administrators to manage Keycloak realms, users, roles, clients, groups, and more through its Admin REST API, with safe-by-default configuration and destructive operation confirmation.
    56
    42
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that lets an AI assistant inspect and modify Keycloak realm, client, and protocol-mapper configuration across multiple Keycloak hosts.
    7
    87
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables administration of Keycloak identity and access management through MCP, allowing management of realms, clients, users, roles, groups, identity providers, and sessions from any MCP client.
    41
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Managed Keycloak from any MCP client: clusters, realms, apps, SSO, users, domains, audit events.

  • Remote MCP for A2A caller identity, scope policy, verdict receipts, and audit history.

  • The official MCP Server from Mia-Platform to interact with Mia-Platform Console

View all MCP Connectors

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/dockndevai/mcp-keycloak'

If you have feedback or need assistance with the MCP directory API, please join our Discord server