Keycloak MCP Server

Administre usuários e realms do Keycloak usando um servidor Model Context Protocol.

Documentação

Keycloak MCP Server

smithery badge

Um servidor Model Context Protocol para administração do Keycloak, fornecendo ferramentas para gerenciar usuários e realms.

Recursos

  • Criar novos usuários em realms específicos
  • Excluir usuários de realms
  • Listar realms disponíveis
  • Listar usuários em realms específicos

Instalação

Instalando via Smithery

Para instalar o Keycloak para Claude Desktop automaticamente via Smithery:

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

Via NPM (Recomendado)

O servidor está disponível como um pacote NPM:

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

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

Configuração para Desenvolvimento Local

Se você deseja desenvolver ou modificar o servidor:

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

Configuração

Usando Pacote NPM (Recomendado)

Configure o servidor no seu arquivo de configuração do Claude Desktop:

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

Para Desenvolvimento Local

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

Ferramentas Disponíveis

create-user

Cria um novo usuário em um realm especificado.

Entradas:

  • realm: O nome do realm
  • username: Nome de usuário para o novo usuário
  • email: Endereço de e-mail do usuário
  • firstName: Primeiro nome do usuário
  • lastName: Sobrenome do usuário

delete-user

Exclui um usuário de um realm especificado.

Entradas:

  • realm: O nome do realm
  • userId: O ID do usuário a ser excluído

list-realms

Lista todos os realms disponíveis.

list-users

Lista todos os usuários em um realm especificado.

Entradas:

  • realm: O nome do realm

Desenvolvimento

npm run watch

Testes

Para testar o servidor usando o MCP Inspector:

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

Implantação

Pacote NPM

Este projeto é publicado automaticamente no NPM via GitHub Actions quando uma nova versão é publicada no GitHub.

Requisitos de Configuração para Implantação

  1. Crie uma conta NPM e obtenha um token de acesso
  2. Adicione o segredo NPM_TOKEN ao repositório GitHub
    • Vá para Configurações do repositório > Segredos
    • Adicione um novo segredo chamado NPM_TOKEN
    • Cole seu token de acesso NPM como valor

Pré-requisitos

  • Node.js 18 ou superior
  • Instância do Keycloak em execução