Skip to main content
Glama
dockndevai

mcp-keycloak

by dockndevai

mcp-keycloak

CI License: MIT

KeycloakModel Context Protocol 서버입니다. MCP를 지원하는 클라이언트(Claude Desktop, Claude Code 등)가 Keycloak의 realm, 사용자, 클라이언트, 역할, 그룹을 조회하고 관리할 수 있게 하며, 보안은 전적으로 플래그에 의해 제어됩니다.

설계 목표는 안전이 기본값이라는 것입니다. 읽기 전용으로 시작하고, Realm 허용 목록으로 범위를 제한하며, 민감한 Realm은 변경으로부터 보호하고, 파괴적인 작업은 명시적인 옵트인을 거쳐야만 허용됩니다.

기능

  • 멀티 Realm — 모든 도구는 realm 인자를 받습니다. 허용 목록으로 범위를 제한할 수 있습니다.

  • 접근 모드read-onlyread-writeadmin 순서로 계층화되어, 각 모드는 현재 수준보다 높은 도구를 절대 노출하지 않습니다.

  • 보안 플래그 — Realm 허용 목록, 보호되는 Realm, 삭제 통제, dry-run, JSON 감사 로깅(아래 참조)

  • 두 가지 인증 방식 — 기밀 클라이언트 서비스 계정(권장) 또는 관리자 사용자 이름/비밀번호.

  • 무거운 의존성 없음 — 가벼운 fetch 기반 Admin REST 클라이언트와 MCP SDK 및 zod만 사용합니다.

Related MCP server: mcp-keycloak-admin

보안 모델

제어 항목

플래그

기본값

효과

서버가 어떤 작업을 수행할 수 있는가?

KEYCLOAK_MODE

read-only

read-only는 읽기 도구만 노출하고 read-write는 변경 도구, admin은 파괴적 도구를 추가합니다. 현재 모드보다 높은 수준의 도구는 등록되지 않습니다.

어떤 Realm이 작업 대상인가?

KEYCLOAK_REALM_ALLOWLIST

(전체)

쉼표로 구분됩니다. 이 값이 설정되면 목록에 없는 Realm에 대한 모든 작업이 거부됩니다.

어떤 Realm이 영구적으로 읽기 전용인가?

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).

이 계층들은 서로 독립적입니다. 예를 들어 KEYCLOAK_ALLOW_DELETE=falseadmin 모드는 사용자를 생성하고 업데이트할 수 있지만 삭제할 수는 없습니다.

도구

읽기 (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 클라이언트 설정에 변수를 직접 넣으세요. 필요한 realm-management 역할을 가진 기밀 클라이언트가 권장되는 자격 증명입니다.

Claude Desktop / Claude Code에서 실행하기

claude_desktop_config.json 또는 claude mcp add 명령으로 MCP 클라이언트 설정에 추가하세요:

{
  "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_MODEread-write로 올리고(삭제 작업은 admin + KEYCLOAK_ALLOW_DELETE=true) 설정하세요.

개발

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

배포

이 서버는 공식 MCP 레지스트리용으로 server.json을, npm 소유권 인증용으로 mcpName을 제공합니다. 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