MCP ExplorerExplorer

Keycloak Model Context Protocol

@ChristophEnglischon 9 months ago
21 MIT
FreeCommunity
AI Systems
#ai-tools#authentication#claude-desktop#identity-management#keycloak#keycloak-admin#mcp#model-context-protocol#node#typescript#user-management
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.

Overview

What is Keycloak Model Context Protocol

Keycloak-model-context-protocol is an MCP server implementation designed for managing Keycloak users and realms. It allows for AI-powered administration through the Model Context Protocol, integrating seamlessly with Claude Desktop and other MCP clients for automated user operations.

Use cases

Use cases include automating user management tasks in Keycloak, integrating user operations with AI tools, and simplifying the administration of multiple realms and users in a streamlined manner.

How to use

To use keycloak-model-context-protocol, install it via NPM or Smithery. Configure it in your Claude Desktop configuration file with the necessary Keycloak URL and admin credentials. You can then utilize commands to create, delete, and list users and realms.

Key features

Key features include creating new users in specific realms, deleting users from realms, listing available realms, and listing users within specific realms.

Where to use

undefined

Content

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:

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

Via NPM (Recommended)

The server is available as an NPM package:

# 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:

git clone <repository-url>
cd keycloak-model-context-protocol
npm install
npm run build

Configuration

Using NPM Package (Recommended)

Configure the server in your Claude Desktop configuration file:

{
  "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

{
  "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

npm run watch

Testing

To test the server using MCP Inspector:

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
    • Go to repository Settings > Secrets
    • Add new secret named NPM_TOKEN
    • Paste your NPM access token as the value

Prerequisites

  • Node.js 18 or higher
  • Running Keycloak instance

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers