trackmcp
Back to directory
ChristophEnglisch

keycloak-model-context-protocol

View on GitHub

MCP server implementation for Keycloak user management. Enables AI-powered administration of Keycloak users and realms through the Model Context Protocol (MCP). Seamlessly integrates with Claude Desktop and other MCP clients for automated user operations.

33 stars TypeScriptAI & Machine Learning Updated Oct 13, 2025
ai-toolsauthenticationclaude-desktopidentity-managementkeycloakkeycloak-adminmcpmodel-context-protocolnodetypescriptuser-management

Documentation

Keycloak MCP Server

smithery badge

A Model Context Protocol server for Keycloak administration, providing tools to manage users and realms.

Features

  • Create new users in specific realms
  • Delete users from realms
  • List available realms
  • List users in specific realms

Installation

Installing via Smithery

To install Keycloak for Claude Desktop automatically via Smithery:

bash
npx -y @smithery/cli install keycloak-model-context-protocol --client claude

The server is available as an NPM package:

bash
# Direct usage with npx
npx -y keycloak-model-context-protocol

# Or global installation
npm install -g keycloak-model-context-protocol

Local Development Setup

If you want to develop or modify the server:

bash
git clone 
cd keycloak-model-context-protocol
npm install
npm run build

Configuration

Configure the server in your Claude Desktop configuration file:

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

For Local Development

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

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

Development

bash
npm run watch

Testing

To test the server using MCP Inspector:

bash
npx -y @modelcontextprotocol/inspector npx -y keycloak-model-context-protocol

Deployment

NPM Package

This project is automatically published to NPM via GitHub Actions when a new release is published on GitHub.

Setup Requirements for Deployment

1. Create NPM account and get access token

2. Add NPM_TOKEN secret to GitHub repository

    Prerequisites

    • Node.js 18 or higher
    • Running Keycloak instance

    Frequently asked questions

    What is keycloak-model-context-protocol?

    keycloak-model-context-protocol is MCP server implementation for Keycloak user management. Enables AI-powered administration of Keycloak users and realms through the Model Context Protocol (MCP). Seamlessly integrates with Claude Desktop and other MCP clients for automated user operations.

    How do I install keycloak-model-context-protocol?

    Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

    Is keycloak-model-context-protocol open source?

    Yes — it is hosted on GitHub at https://github.com/ChristophEnglisch/keycloak-model-context-protocol and has 33 stars.

    Related MCP tools

    Run your own MCP server? See who uses it and what to fix.

    Measure it with TrackMCP