by ChristophEnglisch
keycloak-model-context-protocol is an MCP server implementation for Keycloak user management, enabling AI-powered administration of Keycloak users and realms through the Model Context Protocol (MCP).
Keycloak MCP Server is a Model Context Protocol (MCP) server designed to facilitate the administration of Keycloak users and realms through natural language interaction. It integrates seamlessly with AI tools like Claude Desktop, allowing for automated user operations within Keycloak.
Keycloak MCP Server can be installed and used in several ways:
npx -y @smithery/cli install keycloak-model-context-protocol --client claude
.npx -y keycloak-model-context-protocol
npm install -g keycloak-model-context-protocol
After installation, configure the server in your Claude Desktop configuration file by setting mcpServers
with the appropriate command and environment variables for your Keycloak instance (e.g., KEYCLOAK_URL
, KEYCLOAK_ADMIN
, KEYCLOAK_ADMIN_PASSWORD
).
Keycloak MCP Server provides the following core functionalities:
Q: What are the prerequisites for running Keycloak MCP Server? A: You need Node.js 18 or higher and a running Keycloak instance.
Q: How can I configure Keycloak MCP Server? A: Configuration is done within your Claude Desktop configuration file, where you specify the command to run the server and environment variables for your Keycloak instance.
Q: Can I use Keycloak MCP Server for local development?
A: Yes, you can set up a local development environment by cloning the repository, installing dependencies, and building the project. Configuration for local development involves specifying the path to the compiled index.js
file.
Q: How can I test Keycloak MCP Server?
A: You can test the server using MCP Inspector with the command: npx -y @modelcontextprotocol/inspector npx -y keycloak-model-context-protocol
.
Q: How is Keycloak MCP Server deployed?
A: The project is automatically published to NPM via GitHub Actions when a new release is published on GitHub, provided the NPM_TOKEN
secret is configured in the repository.
A Model Context Protocol server for Keycloak administration, providing tools to manage users and realms.
To install Keycloak for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install keycloak-model-context-protocol --client claude
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
If you want to develop or modify the server:
git clone <repository-url>
cd keycloak-model-context-protocol
npm install
npm run build
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"
}
}
}
}
{
"mcpServers": {
"keycloak": {
"command": "node",
"args": ["path/to/dist/index.js"],
"env": {
"KEYCLOAK_URL": "http://localhost:8080",
"KEYCLOAK_ADMIN": "admin",
"KEYCLOAK_ADMIN_PASSWORD": "admin"
}
}
}
}
Creates a new user in a specified realm.
Inputs:
realm
: The realm nameusername
: Username for the new useremail
: Email address for the userfirstName
: User's first namelastName
: User's last nameDeletes a user from a specified realm.
Inputs:
realm
: The realm nameuserId
: The ID of the user to deleteLists all available realms.
Lists all users in a specified realm.
Inputs:
realm
: The realm namenpm run watch
To test the server using MCP Inspector:
npx -y @modelcontextprotocol/inspector npx -y keycloak-model-context-protocol
This project is automatically published to NPM via GitHub Actions when a new release is published on GitHub.
NPM_TOKEN
Reviews feature coming soon
Stay tuned for community discussions and feedback