ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Keycloak Admin

โดย mrz1880รุ่น 0.2.3i★ –iรันบนเครื่อง
ชื่อใน registryio.github.mrz1880/mcp-keycloak-admin

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Administer Keycloak via its Admin REST API: users, roles, clients, groups, IdP, events.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: อื่น ๆ
  • ต้องใส่ค่าเหล่านี้: KEYCLOAK_BASE_URL, KEYCLOAK_REALM, AUTH_MODE, KC_CLIENT_SECRET, KC_ADMIN_PASSWORD

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: KEYCLOAK_BASE_URL, KEYCLOAK_REALM, AUTH_MODE, KC_CLIENT_ID, KC_CLIENT_SECRET, KC_ADMIN_USERNAME, KC_ADMIN_PASSWORD, KC_ADMIN_REALM, READ_ONLY, ALLOWED_REALMS

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "keycloak-admin": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-keycloak-admin"
      ],
      "env": {
        "KEYCLOAK_BASE_URL": "ใส่ค่าของคุณ",
        "KEYCLOAK_REALM": "ใส่ค่าของคุณ",
        "AUTH_MODE": "ใส่ค่าของคุณ",
        "KC_CLIENT_ID": "ใส่ค่าของคุณ",
        "KC_CLIENT_SECRET": "ใส่ค่าของคุณ",
        "KC_ADMIN_USERNAME": "ใส่ค่าของคุณ",
        "KC_ADMIN_PASSWORD": "ใส่ค่าของคุณ",
        "KC_ADMIN_REALM": "ใส่ค่าของคุณ",
        "READ_ONLY": "ใส่ค่าของคุณ",
        "ALLOWED_REALMS": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add keycloak-admin --env KEYCLOAK_BASE_URL='ใส่ค่าของคุณ' --env KEYCLOAK_REALM='ใส่ค่าของคุณ' --env AUTH_MODE='ใส่ค่าของคุณ' --env KC_CLIENT_ID='ใส่ค่าของคุณ' --env KC_CLIENT_SECRET='ใส่ค่าของคุณ' --env KC_ADMIN_USERNAME='ใส่ค่าของคุณ' --env KC_ADMIN_PASSWORD='ใส่ค่าของคุณ' --env KC_ADMIN_REALM='ใส่ค่าของคุณ' --env READ_ONLY='ใส่ค่าของคุณ' --env ALLOWED_REALMS='ใส่ค่าของคุณ' -- npx -y mcp-keycloak-admin

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "keycloak-admin": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-keycloak-admin"
      ],
      "env": {
        "KEYCLOAK_BASE_URL": "ใส่ค่าของคุณ",
        "KEYCLOAK_REALM": "ใส่ค่าของคุณ",
        "AUTH_MODE": "ใส่ค่าของคุณ",
        "KC_CLIENT_ID": "ใส่ค่าของคุณ",
        "KC_CLIENT_SECRET": "ใส่ค่าของคุณ",
        "KC_ADMIN_USERNAME": "ใส่ค่าของคุณ",
        "KC_ADMIN_PASSWORD": "ใส่ค่าของคุณ",
        "KC_ADMIN_REALM": "ใส่ค่าของคุณ",
        "READ_ONLY": "ใส่ค่าของคุณ",
        "ALLOWED_REALMS": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "keycloak-admin": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-keycloak-admin"
      ],
      "env": {
        "KEYCLOAK_BASE_URL": "ใส่ค่าของคุณ",
        "KEYCLOAK_REALM": "ใส่ค่าของคุณ",
        "AUTH_MODE": "ใส่ค่าของคุณ",
        "KC_CLIENT_ID": "ใส่ค่าของคุณ",
        "KC_CLIENT_SECRET": "ใส่ค่าของคุณ",
        "KC_ADMIN_USERNAME": "ใส่ค่าของคุณ",
        "KC_ADMIN_PASSWORD": "ใส่ค่าของคุณ",
        "KC_ADMIN_REALM": "ใส่ค่าของคุณ",
        "READ_ONLY": "ใส่ค่าของคุณ",
        "ALLOWED_REALMS": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • KEYCLOAK_BASE_URL จำเป็น env
    Base URL of the Keycloak server (no trailing slash).
  • KEYCLOAK_REALM จำเป็น env
    Realm the server operates on.
  • AUTH_MODE จำเป็น env
    Authentication mode: service_account or password.
  • KC_CLIENT_ID env
    Confidential client id (service_account mode).
  • KC_CLIENT_SECRET ความลับ env
    Client secret (service_account mode).
  • KC_ADMIN_USERNAME env
    Admin username (password mode).
  • KC_ADMIN_PASSWORD ความลับ env
    Admin password (password mode).
  • KC_ADMIN_REALM env
    Realm holding the admin user (password mode; default master).
  • READ_ONLY env
    When true, write and destructive tools are not registered.
  • ALLOWED_REALMS env
    Comma-separated allow-list of realms the server may operate on.

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub mrz1880 ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 32725 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 14% ของอีก 32725 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 32725 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Keycloak Admin ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: KEYCLOAK_BASE_URL, KEYCLOAK_REALM, AUTH_MODE, KC_CLIENT_SECRET, KC_ADMIN_PASSWORD

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.3) เข้า registry 4 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Signoff

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

โดย formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

Remote Desktop Commander

โดย desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

รันบนคลาวด์★ 211อัปเดต เมื่อวานซืน
ติดตั้ง

Signoff

โดย ayuanxx-max

Five gates that make an agent's 'done' provable: run them, read the verdict, audit the record.

รันบนเครื่องอัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

mcp-keycloak-admin

A Model Context Protocol (MCP) server to administer a Keycloak instance through its Admin REST API. Safe by default, configurable, and built with a clean, test-driven architecture.

Compatible with Keycloak 26.x (validated against 26.0.5).

Install

No install needed — run it straight from npm with npx:

npx -y mcp-keycloak-admin

The server speaks MCP over stdio, so you normally wire it into an MCP client rather than running it by hand — see Usage with an MCP client. New to it? The Quickstart spins up a local Keycloak and a client config in a couple of minutes.

Why

Administering Keycloak from an MCP client (an assistant, an IDE, a custom agent) means exposing day-to-day operations — searching users, managing roles, reading events — as MCP tools, without handing over a raw admin console. This server does that with strong guardrails so destructive actions never happen silently.

Features

  • Two authentication modes, selectable by configuration:
  • service_account — a confidential client with a service account (recommended; no admin password stored).
  • password — the admin-cli client with an admin username/password.
  • Safe by default:
  • READ_ONLY mode hides every write/destructive tool.
  • ALLOWED_REALMS restricts which realms the server may operate on.
  • Destructive operations require explicit confirmation (native MCP elicitation, with a confirm: true parameter fallback for clients that do not support elicitation).
  • Clean Architecture: a framework-free domain, application use cases, and infrastructure adapters. No business concept travels as a raw string or number — every one is a validated value object.

Requirements

  • Node.js >= 20
  • A reachable Keycloak 26.x server

Usage with an MCP client

Add the server to your MCP client configuration:

{

"mcpServers": { "keycloak-admin": { "command": "npx", "args": ["-y", "mcp-keycloak-admin"], "env": { "KEYCLOAK_BASE_URL": "http://localhost:8080", "KEYCLOAK_REALM": "demo-realm", "AUTH_MODE": "service_account", "KC_CLIENT_ID": "mcp-admin", "KC_CLIENT_SECRET": "your-secret" } } } }

See docs/setup-keycloak.md to create the mcp-admin client and grant it the least-privilege roles it needs.

Multiple Keycloak instances

Each server entry targets one Keycloak (one base URL + realm + auth). To manage several environments, add one entry per instance — each fully isolated, with its own credentials and guardrails:

{

"mcpServers": { "kc-preprod": { "command": "npx", "args": ["-y", "mcp-keycloak-admin"], "env": { "KEYCLOAK_BASE_URL": "https://preprod.example.com", "KEYCLOAK_REALM": "preprod-realm", "AUTH_MODE": "service_account", "KC_CLIENT_ID": "mcp-admin", "KC_CLIENT_SECRET": "…", "ALLOWED_REALMS": "preprod-realm" } }, "kc-prod": { "command": "npx", "args": ["-y", "mcp-keycloak-admin"], "env": { "KEYCLOAK_BASE_URL": "https://auth.example.com", "KEYCLOAK_REALM": "prod-realm", "AUTH_MODE": "service_account", "KC_CLIENT_ID": "mcp-admin", "KC_CLIENT_SECRET": "…", "READ_ONLY": "true", "ALLOWED_REALMS": "prod-realm" } } } }

The client namespaces the tools per server (e.g. kc-prod:keycloak_user_delete), so there's no risk of running an operation against the wrong environment. This is the recommended pattern: you can, for example, keep production READ_ONLY while preprod stays writable.

Configuration

VariableRequiredDescription
KEYCLOAK_BASE_URLyesBase URL of the Keycloak server (no trailing slash).
KEYCLOAK_REALMyesRealm the server operates on.
AUTH_MODEyesservice_account or password.
KC_CLIENT_IDif service_accountConfidential client id (e.g. mcp-admin).
KC_CLIENT_SECRETif service_accountClient secret.
KC_ADMIN_USERNAMEif passwordAdmin username.
KC_ADMIN_PASSWORDif passwordAdmin password.
KC_ADMIN_REALMno (default master)Realm holding the admin user (password mode).
READ_ONLYno (default false)When true, write/destructive tools are not registered.
ALLOWED_REALMSnoComma-separated allow-list of realms. Empty = all.

A full example lives in .env.example.

Tools

Levels: [R] read-only · [W] write · [D] destructive (requires confirmation). Every tool carries the matching MCP annotations (readOnlyHint / destructiveHint / idempotentHint).

Currently implemented:

Note: this table tracks the main branch, which can run ahead of the

latest npm release shown by the version badge above. To confirm what's

available in your install, check npm view mcp-keycloak-admin version and pin

mcp-keycloak-admin@latest.

ToolLevelDescription
keycloak_user_searchRSearch realm users by email, username or free text.
keycloak_user_getRFetch a single user by id.
keycloak_user_sessions_listRList a user's active sessions.
keycloak_user_createWCreate a realm user.
keycloak_user_updateWUpdate a user's email, name or enabled flag.
keycloak_user_set_enabledWEnable or disable a user.
keycloak_user_send_action_emailWSend a required-actions email.
keycloak_user_reset_passwordDSet a new password for a user.
keycloak_user_logoutDRevoke all of a user's sessions.
keycloak_user_deleteDPermanently delete a user (id + username must match).
keycloak_role_listRList realm roles.
keycloak_user_roles_getRList a user's realm roles.
keycloak_user_role_assignWGrant a realm role to a user.
keycloak_user_role_unassignDRevoke a realm role from a user.
keycloak_client_roles_listRList the roles defined on a client.
keycloak_user_client_roles_getRList a user's client roles.
keycloak_user_client_role_assignWGrant a client role to a user.
keycloak_user_client_role_unassignDRevoke a client role from a user.
keycloak_client_listRList the realm clients.
keycloak_client_createWCreate a realm client.
keycloak_client_updateWUpdate a client (enabled, public, redirect URIs, CORS web origins).
keycloak_client_deleteDDelete a client.
keycloak_client_getRFetch a client by its clientId.
keycloak_client_get_secretRRead a client secret (masked unless reveal).
keycloak_client_scopes_listRList the realm's client scopes.
keycloak_client_default_scopes_getRList a client's default scopes.
keycloak_client_mappers_listRList a client's protocol mappers.
keycloak_client_scope_assignWAdd a default scope to a client.
keycloak_client_scope_unassignDRemove a default scope from a client.
keycloak_client_regenerate_secretDRegenerate a client secret (old one stops working).
keycloak_group_listRList the realm's top-level groups.
keycloak_group_members_listRList the members of a group.
keycloak_user_groups_listRList the groups a user belongs to.
keycloak_group_createWCreate a top-level group.
keycloak_group_member_addWAdd a user to a group.
keycloak_group_role_assignWGrant a realm role to a group.
keycloak_group_member_removeDRemove a user from a group.
keycloak_group_deleteDDelete a group.
keycloak_idp_listRList identity providers.
keycloak_idp_getRFetch an identity provider by alias.
keycloak_idp_mappers_listRList an identity provider's mappers.
keycloak_idp_createWCreate an identity provider.
keycloak_idp_deleteDDelete an identity provider.
keycloak_federation_listRList user federation (LDAP/Kerberos) providers.

| `keyclo

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx