1. Conduid
  2. Developer Tools
  3. Keycloak MCP
MCP server · Developer Tools

Keycloak MCP

MCP server that integrates with Keycloak, allowing you to manage Keycloak users and realms through a standardized protocol. It uses the official Keycloak Admin Client to interact with Keycloak's API.

Unclaimed MIT last commit 10 months ago devtools
69Good

Scored 5 days ago · breakdown

About Keycloak MCP

Keycloak MCP is an MCP server published by HaithamOumerzoug in the Developer Tools category: mCP server that integrates with Keycloak, allowing you to manage Keycloak users and realms through a standardized protocol. It uses the official Keycloak Admin Client to interact with Keycloak's API.

The repository has 13 stars and 5 forks, with the last commit 10 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

uvx
uvx keycloak-mcp
pip
pip install keycloak-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Keycloak MCP

Powered by Claude · Grounded in docs

I know everything about Keycloak MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 4 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

1.2.51.2.5 · 1 Dec 2025Release v1.2.5 New Features & Improvements Keycloak MCP Server Badge Added a badge to the README linking to the Keycloak MCP Server listing in the Glama MCP server directory, improving visibility and discoverability of the project. Thanks…
1.2.41.2.4 · 1 Dec 2025Release v1.2.4 New Features & Improvements Keycloak Configuration via CLI Refactored the Keycloak configuration to support passing admin credentials through command-line arguments, improving automation and deployment flexibility.…
1.2.31.2.3 · 26 Sep 2025Release v1.2.3 New Features & Improvements Fix: NPX Execution Error This release fixes a bug where running the package with `npx -y keycloak-mcp` caused errors. MCP Input validations Added validation for Keycloak admin credentials to…
1.2.21.2.2 · 25 Sep 2025Release v1.2.2 New Features & Improvements Logger Integration We are excited to announce the addition of a new logging system. This enhancement includes: Logger Class Implementation: Introduced a `Logger` class that allows easy…
1.2.11.2.1 · 24 Sep 2025Release v1.2.1 New Features & Improvements 1. Manual Dependency Injection: Implemented manual dependency injection to manage class dependencies explicitly. Introduced a singleton pattern for `KeycloakConfig` to ensure a single instance is…

README

Keycloak MCP Server

npm version Downloads Node version smithery badge

A Model Context Protocol (MCP) server implementation for Keycloak, providing a standardized interface for managing Keycloak users and realms.

Description

This project implements an MCP server that integrates with Keycloak, allowing you to manage Keycloak users and realms through a standardized protocol. It uses the official Keycloak Admin Client to interact with Keycloak's API.

Feature Demo

https://github.com/user-attachments/assets/4b02a049-b8d6-4cc5-a7b4-564a0e758dd8

Available Tools

create-user

Creates a new user in a specified realm.

Inputs:

  • realm: The realm name
  • username: Username for the new user
  • email: Email address for the user
  • firstName: User's first name
  • lastName: User's last name

delete-user

Deletes a user from a specified realm.

Inputs:

  • realm: The realm name
  • userId: The ID of the user to delete

list-realms

Lists all available realms.

list-users

Lists all users in a specified realm.

Inputs:

  • realm: The realm name

list-clients

Lists all clients in a specified realm.

Inputs:

  • realm: The realm name

list-groups

Lists all groups in a specified realm.

Inputs:

  • realm: The realm name

list-client-roles

Lists all roles for a specific client in a realm.

Inputs:

  • realm: The realm name
  • clientUniqueId: The unique ID of the client

assign-client-role-to-user

Assigns a client role to a specific user.

Inputs:

  • realm: The realm name
  • userId: The ID of the user
  • clientUniqueId: The unique ID of the client
  • roleName: The name of the role to assign

add-user-to-group

Adds a user to a specific group.

Inputs:

  • realm: The realm name
  • userId: The ID of the user
  • groupId: The ID of the group

Prerequisites

  • Node.js (Latest LTS version recommended)
  • npm
  • A running Keycloak instance

Installation

Installing via Smithery

To install keycloak-mcp for Claude Desktop automatically via Smithery:

$ npx -y @smithery/cli install @HaithamOumerzoug/keycloak-mcp --client claude

Installing via NPM

Configure environment:

  • You can set configuration options using command-line arguments or environment variables:
    • --keycloak-url <Keycloak Instance URL>
    • --keycloak-admin <Admin Username>
    • --keycloak-admin-password <Admin Password>
  • These arguments override environment variables if both are set.

Start the server:

The server is available as an NPM package:

# Direct usage with npx
$ npx -y keycloak-mcp --keycloak-url <Keycloak Instance URL> --keycloak-admin <Admin Username> --keycloak-admin-password <Admin Password>

# Or global installation
$ npm install -g keycloak-mcp@latest
$ keycloak-mcp --keycloak-url <Keycloak Instance URL> --keycloak-admin <Admin Username> --keycloak-admin-password <Admin Password>

Configuration

Using NPM Package

Configure the server in your Cursor IDE, Cline or Claude Desktop MCP configuration file:

{
  "mcpServers": {
    "keycloak": {
      "command": "npx",
      "args": ["-y", "keycloak-mcp"],
      "env": {
        "KEYCLOAK_URL": "http://localhost:8080",
        "KEYCLOAK_ADMIN": "admin",
        "KEYCLOAK_ADMIN_PASSWORD": "admin"
      }
    }
  }
}

For Local Development

{
  "mcpServers": {
    "keycloak": {
      "command": "node",
      "args": ["path/to/dist/server.js"],
      "env": {
        "KEYCLOAK_URL": "http://localhost:8080",
        "KEYCLOAK_ADMIN": "admin",
        "KEYCLOAK_ADMIN_PASSWORD": "admin"
      }
    }
  }
}

Development

To set up the development environment:

  1. Clone the repository
  2. Install dependencies:
    npm install
    
  3. Set env vars
    cp .env.template .env
    # Edit the .env file and set all variables with the appropriate values
    
  4. Start the project:
    npm run dev
    

Available Scripts

  • npm run build - Builds the project and makes the CLI executable
  • npm run prepare - Runs the build script (used during package installation)
  • npm run dev - Watches for changes and rebuilds automatically
  • npm start - Starts the server (for production)

Dependencies

Main Dependencies

  • @keycloak/keycloak-admin-client - Official Keycloak Admin Client
  • @modelcontextprotocol/sdk - MCP SDK for standardized protocol implementation
  • zod - TypeScript-first schema validation
  • chalk - Terminal string styling
  • yargs - Parsing command-line arguments

Dev Dependencies

  • typescript - For TypeScript support
  • @types/node - TypeScript definitions for Node.js
  • shx - Cross-platform shell commands
  • ts-node - TypeScript execution and REPL for Node.js
  • rimraf - A cross-platform tool to remove directories
  • @types/yargs - TypeScript definitions for yargs

License

MIT

Author

OUMERZOUG Haitham

README fetched from the repository 4 days ago. The original is authoritative.

Questions

About Keycloak MCP

How do I install Keycloak MCP?

Run uvx keycloak-mcp, then add the server to your MCP client's configuration.

Is Keycloak MCP safe to use with an AI agent?

Its trust score is 69 out of 100 (good). It passes 4 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Keycloak MCP still maintained?

The last commit was 10 months ago and 2 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.