Token导航 LogoToken导航TokenDH.com
Keycloak Client MCP Server logo
运维云端stdio官方级别未说明来源级核验

Keycloak Client MCP Server

MCP Server

一个用于管理凭证的服务器,支持Kerberos认证,提供kinit执行、cookies获取和Jenkins凭证更新等功能。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
安全工具PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

IH8E

提供方

IH8E

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

凭证 MCP 服务器

使用Kerberos认证管理凭证的MCP服务器。

🚀 表情符号“🚀”通常表示火箭、发射、快速前进或突破等含义,可以翻译为“🚀(火箭/发射/快速前进等)”。具体翻译可能需要根据上下文来确定最准确的表述。 快速启动QUICK_START.md 翻译为中文是:“快速入门指南.md” 或者 “快速开始指南.md”(其中“.md”表示这是一个Markdown格式的文件)\ 🐳 这个表情符号在中文里通常被解释为“海豚”,所以可以翻译为“海豚”。不过,具体翻译可能还取决于上下文和使用场景。 Docker 文档见 \ 🔐 Kerberos配置KERBEROS_SETUP.md 翻译为中文是:“KERBEROS 安装指南.md” 或 “KERBEROS 设置说明.md”(具体翻译可能根据上下文有所调整,但核心意思是“关于KERBEROS的安装或设置说明的Markdown文件”)

目前,我们通过本地或MCP工具获取kerberos票据:

# Локально (для систем с поддержкой --password-file, например macOS/Debian)
kinit --password-file=./password.txt user@EXAMPLE.COM

# Локально через stdin (работает везде, включая Alpine Linux)
echo "your-password" | kinit user@EXAMPLE.COM

# Через MCP инструмент (универсальный способ, работает на всех платформах)
kinit_auth(username="user@EXAMPLE.COM", password="your-password")

功能/可能性

服务器提供四种工具(tools):

  1. \kinit_auth\ 可以翻译为“Kerberos认证初始化”或“Kerberos身份验证启动”。这个术语通常与网络安全和身份验证系统相关,特别是在使用Kerberos协议进行身份验证时,\kinit\ 命令用于获取票据授予票据(TGT),而 \kinit_auth\ 可能是指与该过程相关的某种认证或初始化步骤。不过,具体的翻译可能需要根据上下文来确定 - 使用指定的凭据执行kinit以获取Kerberos票据
  2. 获取cookies - 通过Kerberos从指定的URL获取cookies
  3. 更新凭证 - 在Jenkins中更新凭证
  4. 获取cookie并更新 - 综合操作:获取cookies和更新Jenkins凭证

安装

pip install -r requirements.txt
# или 
pipenv install

使用

服务器启动

本地运行

# STDIO режим (для локального использования)
python server.py

# SSE режим (HTTP сервер на порту 8000)
python server.py --sse

# Или через pipenv
pipenv run python server.py

在Docker中启动

📚 书籍或学习的象征 Docker的详细文档

构建镜像

docker build -t keycloak-mcp-server .

通过docker-compose启动

# SSE режим (HTTP сервер)
docker-compose up mcp-server-sse -d

# STDIO режим
docker-compose up mcp-server-stdio

通过Makefile启动(推荐)

# Показать все доступные команды
make help

# Сборка образа
make build

# Запуск в режиме SSE (HTTP на порту 8000)
make run-sse

# Запуск в режиме STDIO
make run-stdio

# Выполнение kinit в контейнере
make kinit

# Просмотр логов
make logs

# Открыть shell в контейнере
make shell

# Остановка контейнера
make stop

# Полная очистка (удаление контейнера и образа)
make clean

# Пересборка образа с нуля
make rebuild

# Статус контейнеров
make status

通过辅助脚本启动

# Сборка образа
./docker-run.sh build

# Запуск в режиме SSE (HTTP на порту 8000)
./docker-run.sh run-sse

# Запуск в режиме STDIO
./docker-run.sh run-stdio

# Выполнение kinit в контейнере
./docker-run.sh kinit

# Просмотр логов
./docker-run.sh logs

# Открыть shell в контейнере
./docker-run.sh shell

# Остановка контейнера
./docker-run.sh stop

# Полная очистка (удаление контейнера и образа)
./docker-run.sh clean

直接启动 Docker

# STDIO режим
docker run -it --rm \
  -v $(pwd)/krb5.conf:/etc/krb5.conf:ro \
  keycloak-mcp-server

# SSE режим (HTTP сервер)
docker run -d \
  --name keycloak-mcp-server \
  -p 8000:8000 \
  -v $(pwd)/krb5.conf:/etc/krb5.conf:ro \
  keycloak-mcp-server \
  python server.py --sse

使用工具

执行 kinit 命令

kinit_auth(
    username="user@EXAMPLE.COM",
    password="your-password"
)

获取cookies

get_cookies(url="https://your-platform.com")

在Jenkins中更新凭证

update_credential(
    jenkins_url="https://jenkins.example.com",
    credentials_id="your-credential-id",
    secret_value="your-secret-value"
)

一次性获取cookies并更新凭证

get_cookies_and_update(
    source_url="https://your-platform.com",
    jenkins_url="https://jenkins.example.com",
    credentials_id="your-credential-id"
)

要求

  • 配置的Kerberos认证
  • 访问Jenkins服务器
  • Python 3.10+
  • Docker 和 docker-compose(用于在容器中运行)

Kerberos配置

本地设置

要使用Kerberos,需要创建一个文件 /etc/krb5.conf 或者 ~/krb5.conf

# Скопируйте пример конфигурации
cp krb5.conf.example krb5.conf

# Отредактируйте конфигурацию под ваше окружение
# Укажите правильные значения для:
# - default_realm
# - kdc
# - admin_server

在Docker中的配置

在通过Docker启动时,Kerberos配置会从文件挂载 krb5.conf

# Убедитесь, что файл krb5.conf существует
ls -l krb5.conf

# Если файла нет, создайте его из примера
cp krb5.conf.example krb5.conf

工作时间安排

STDIO模式

适用于:

  • 本地开发和测试
  • 与通过stdin/stdout工作的MCP客户端的集成
  • 通过Claude Desktop或其他本地MCP客户端启动

SSE模式(HTTP)

适用于:

  • 远程访问MCP服务器
  • 在微服务架构中的应用
  • 通过REST API访问
  • 在Kubernetes或其他编排器中启动

使用示例

通过MCP使用kinit

# Сначала выполните kinit для получения Kerberos тикета
kinit_auth(
    username="user@EXAMPLE.COM",
    password="your-password"
)

# Затем используйте другие инструменты
get_cookies(url="https://your-platform.com")

在Docker中的使用

# 1. Соберите образ
./docker-run.sh build

# 2. Запустите сервер в режиме SSE
./docker-run.sh run-sse

# 3. Выполните kinit внутри контейнера
./docker-run.sh kinit

# 4. Используйте MCP инструменты через HTTP API на http://localhost:8000

目录标签

目录标签

安全工具PythonClaude凭证管理本地部署Kerberos认证Jenkins集成

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP