返回市场
密钥守护-MCP服务器

密钥守护-MCP服务器

作者:sshaaf17 星标更新:2025-11-22

项目介绍

【技术文档摘要】:

<!-- 对于居中的logo --> <p align="center"> <img src=".github/assets/keycloak-mcp-server.png" alt="项目Logo" width="128"> </p> <h2 align="center"> <b> Keycloak的MCP服务器 </b> </h2>

Keycloak MCP服务器

一个提供对Keycloak管理功能程序化访问的模型上下文协议(MCP)服务器。

概述

Keycloak MCP服务器使AI助手和开发工具能够通过模型上下文协议与Keycloak进行交互。它支持全面的Keycloak操作,包括用户管理、领域配置、客户端管理和认证流程管理。

主要特性

  • 用户JWT令牌认证
  • 全面的Keycloak操作(用户、领域、客户端、角色、组等)
  • 基于HTTP通信的SSE传输
  • 生产就绪的OpenShift/Kubernetes部署
  • 多架构容器镜像
  • 支持GraalVM原生镜像

快速开始

使用Docker

docker run -d \
  --name keycloak-mcp-server \
  -p 8080:8080 \
  -e KC_URL=https://keycloak.example.com \
  -e KC_REALM=master \
  -e OIDC_CLIENT_ID=mcp-server \
  quay.io/sshaaf/keycloak-mcp-server:latest

认证

用户使用来自Keycloak的自己的JWT令牌进行认证:

# 获取您的令牌
./scripts/get-mcp-token.sh \
  --keycloak-url https://keycloak.example.com \
  --username your-username \
  --password your-password

在您的MCP客户端中配置(~/.cursor/mcp.json):

{
  "mcpServers": {
    "keycloak": {
      "transport": "sse",
      "url": "https://mcp-server.example.com/mcp/sse",
      "headers": {
        "Authorization": "Bearer <your-jwt-token>"
      }
    }
  }
}

文档

完整的文档位于docs目录下:

构建文档

此项目使用MkDocs构建文档。要本地构建并服务:

pip install mkdocs-material
mkdocs serve

访问http://localhost:8000查看文档。

容器镜像

预构建的镜像可以在Quay.io上找到:

docker pull quay.io/sshaaf/keycloak-mcp-server:latest

镜像会在提交到主分支和发布时自动构建并推送。

构建

JAR

mvn clean package
java -jar target/quarkus-app/quarkus-run.jar

原生镜像

mvn clean package -Pnative
./target/keycloak-mcp-server-runner

容器镜像

mvn clean package -Dquarkus.container-image.build=true

技术栈

  • Quarkus - 云原生Java框架
  • Keycloak Admin Client - 官方Keycloak Java客户端
  • MCP协议 - 用于AI集成的模型上下文协议
  • Jib - 不需要Docker守护进程的容器化
  • GraalVM - 原生镜像编译支持

许可证

MIT许可证 - 详情见LICENSE文件。

贡献

欢迎贡献。详情见贡献者指南

支持


维护者:Shaaf Syed
仓库https://github.com/sshaaf/keycloak-mcp-server
容器注册表https://quay.io/repository/sshaaf/keycloak-mcp-server