mcpField
K
Keycloak MCP Server

Keycloak MCP Server

ローカル
shaaf.devセキュリティ4810 週間前に更新

Keycloak MCP Server について

Keycloak MCP Server は、ID およびアクセス管理のための Keycloak 管理機能をプログラムから利用できるようにする MCP サーバーです。AI アシスタントや開発ツールから Keycloak を操作したいチームを想定しています。ユーザー自身の JWT トークンで認証を行い、ネイティブイメージのビルドにも対応しています。

主な機能

  1. 01ユーザー JWT トークンによる認証
  2. 02ユーザー、レルム、クライアント、ロール、グループの管理
  3. 03HTTP 通信向け SSE トランスポート
  4. 04Quay.io で公開されるコンテナイメージ
  5. 05GraalVM ネイティブイメージのサポート

活用シーン

  1. 01AI アシスタントからの Keycloak ユーザーとロールの管理
  2. 02OpenShift や Kubernetes への管理サービスのデプロイ
  3. 03開発ツールからの Keycloak 管理操作の設定

MCP 対応

本プロジェクトは Keycloak の管理機能を MCP クライアントに公開する MCP サーバーであり、クライアントは Bearer トークンを付けて SSE 経由で接続します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"keycloak": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"\\"
]
}
}
}
起動コマンドdocker run -i --rm '\'

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
oci\

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

プロジェクトのロゴ

Keycloak 用 MCP サーバー

Keycloak MCP サーバー

Keycloak の管理機能にプログラムからアクセスできる、Model Context Protocol(MCP)サーバーです。

概要

Keycloak MCP サーバーを使用すると、AI アシスタントや開発ツールから Model Context Protocol を介して 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 トークンを使って認証します。

# Get your token
./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

イメージは、main へのコミット時およびリリース時に自動的にビルドされ、プッシュされます。

ビルド

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
テスト
  • デフォルトの単体テストと統合テスト:mvn test
  • プロンプト/評価のカバレッジに関する注意事項:evals/README.md

技術スタック

  • Quarkus - クラウドネイティブな Java フレームワーク
  • Keycloak Admin Client - 公式 Keycloak Java クライアント
  • MCP Protocol - AI 連携のための Model Context Protocol
  • Jib - Docker デーモンを使わないコンテナ化
  • GraalVM - ネイティブイメージのコンパイルをサポート

ライセンス

MIT License - 詳細については LICENSE ファイルを参照してください。

コントリビューション

コントリビューションを歓迎します。詳細についてはコントリビューターガイドを参照してください。

サポート


メンテナー: Shaaf Syed
リポジトリ: https://github.com/sshaaf/keycloak-mcp-server
コンテナレジストリ: https://quay.io/repository/sshaaf/keycloak-mcp-server

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。