Keycloak MCP сервер
Сервер Model Context Protocol (MCP), который предоставляет интерфейс на естественном языке для управления идентификацией и доступом Keycloak через REST API, позволяя AI агентам выполнять управление пользователями, конфигурацию клиентов, администрирование областей и операции контроля доступа на основе ролей.
автор: idoyudha
curl -fsSL https://vibebaza.com/i/keycloak | bash
Сервер Model Context Protocol (MCP), который предоставляет интерфейс на естественном языке для управления идентификацией и доступом Keycloak через REST API, позволяя AI агентам выполнять управление пользователями, конфигурацию клиентов, администрирование областей и операции контроля доступа на основе ролей.
Установка
Smithery
npx -y @smithery/cli install mcp-keycloak --client claude
Pip
pip install mcp-keycloak
Из исходного кода
git clone https://github.com/idoyudha/mcp-keycloak.git
cd mcp-keycloak
pip install -e .
Конфигурация
Настройка uvx
{
"mcpServers": {
"keycloak": {
"command": "uvx",
"args": ["mcp-keycloak"],
"env": {
"SERVER_URL": "https://your-keycloak.com",
"USERNAME": "admin",
"PASSWORD": "admin-password",
"REALM_NAME": "your-realm"
}
}
}
}
Локальная разработка
{
"mcpServers": {
"keycloak": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-keycloak",
"run",
"python",
"-m",
"src"
],
"env": {
"SERVER_URL": "https://your-keycloak.com",
"USERNAME": "admin",
"PASSWORD": "admin-password",
"REALM_NAME": "your-realm"
}
}
}
}
Доступные инструменты
| Инструмент | Описание |
|---|---|
list_users |
Список пользователей с пагинацией и фильтрацией |
create_user |
Создание нового пользователя |
update_user |
Обновление существующего пользователя |
delete_user |
Удаление пользователя |
reset_user_password |
Сброс пароля пользователя |
get_user_sessions |
Получение сессий пользователя |
logout_user |
Выход пользователя из сессий |
count_users |
Получение статистики пользователей |
list_clients |
Список OAuth2/OIDC клиентов |
get_client |
Получение деталей клиента |
create_client |
Создание нового клиента |
get_client_secret |
Получение секрета клиента |
regenerate_client_secret |
Перегенерация секрета клиента |
get_client_service_account |
Получение сервисного аккаунта клиента |
update_client |
Обновление конфигурации клиента |
Возможности
- Комплексное управление пользователями - Управление жизненным циклом пользователей от создания до удаления, включая сброс паролей, управление сессиями и обновление атрибутов пользователей
- Конфигурация клиентов - Создание и настройка OAuth2/OIDC клиентов, управление секретами клиентов и программная обработка сервисных аккаунтов
- Контроль доступа на основе ролей - Определение и назначение ролей областей и клиентов, управление правами пользователей и реализация детального контроля доступа
- Администрирование областей - Настройка параметров областей, управление группами по умолчанию, обработка конфигураций событий и контроль политик на уровне областей
- Управление аутентификацией - Комплексное управление потоками аутентификации, включая создание, обновление и удаление потоков, управление выполнениями и настройку аутентификаторов
- Управление группами - Организация пользователей в группы, управление иерархиями групп и эффективная обработка разрешений на основе групп
- Поддержка HTTP транспорта - Сетевая доступность с поддержкой одновременных подключений от нескольких AI клиентов
- Потоковый HTTP протокол - Следует спецификации MCP для HTTP транспорта с правильными реализациями безопасности
Переменные окружения
Обязательные
SERVER_URL- URL вашего Keycloak сервераUSERNAME- Имя администратора для KeycloakPASSWORD- Пароль администратора для KeycloakREALM_NAME- Имя целевой области в Keycloak
Опциональные
CLIENT_ID- Опциональный OAuth2 ID клиентаCLIENT_SECRET- Опциональный OAuth2 секрет клиентаTRANSPORT- Режим транспорта (http для HTTP транспорта)PORT- Порт для HTTP транспорта (по умолчанию: 8000)
Примеры использования
Управление идентификацией с помощью AI - Создавайте AI ассистентов, которые могут обрабатывать онбординг пользователей, управление разрешениями и контроль доступа через команды на естественном языке
Автоматизированное предоставление пользователей - Создавайте рабочие процессы, которые автоматически предоставляют пользователей, назначают роли и настраивают клиентские приложения на основе бизнес-правил
Аналитика идентификации - Запрашивайте и анализируйте данные пользователей, информацию о сессиях и паттерны доступа для получения инсайтов о вашей инфраструктуре идентификации
DevOps интеграция - Интегрируйте управление Keycloak в ваши CI/CD пайплайны, обеспечивая автоматическую конфигурацию сервисов идентификации
Ресурсы
Примечания
Сервер поддерживает как stdio (по умолчанию), так и HTTP транспорты. HTTP транспорт предлагает сетевую доступность, поддержку множественных клиентов и гибкость интеграции. Требует Python 3.8+ и Keycloak 18+ с правами администратора к целевой области.