Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Keycloak admin for AI agents — realms, users, clients, roles; safe-by-default governance.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
KEYCLOAK_URL, KEYCLOAK_CLIENT_ID, KEYCLOAK_CLIENT_SECRET, KEYCLOAK_MODE「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"keycloak": {
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-keycloak"
],
"env": {
"KEYCLOAK_URL": "your-value",
"KEYCLOAK_CLIENT_ID": "your-value",
"KEYCLOAK_CLIENT_SECRET": "your-value",
"KEYCLOAK_MODE": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add keycloak --env KEYCLOAK_URL=your-value --env KEYCLOAK_CLIENT_ID=your-value --env KEYCLOAK_CLIENT_SECRET=your-value --env KEYCLOAK_MODE=your-value -- npx -y @dockndevai/mcp-keycloak動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"keycloak": {
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-keycloak"
],
"env": {
"KEYCLOAK_URL": "your-value",
"KEYCLOAK_CLIENT_ID": "your-value",
"KEYCLOAK_CLIENT_SECRET": "your-value",
"KEYCLOAK_MODE": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"keycloak": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-keycloak"
],
"env": {
"KEYCLOAK_URL": "your-value",
"KEYCLOAK_CLIENT_ID": "your-value",
"KEYCLOAK_CLIENT_SECRET": "your-value",
"KEYCLOAK_MODE": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
KEYCLOAK_CLIENT_ID envKEYCLOAK_MODE envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント dockndevai で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:KEYCLOAK_URL, KEYCLOAK_CLIENT_SECRET
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.3.3)がレジストリに届いたのは12 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Asset Notation
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Read and maintain an Asset Notation file on disk: net worth, holdings, valuations, CSV import.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A Model Context Protocol server for Keycloak. It lets an MCP-capable client (Claude Desktop, Claude Code, etc.) inspect and manage Keycloak realms, users, clients, roles, and groups — with security controlled entirely by flags.
The design goal is safe by default: it starts read-only, scopes to an allowlist of realms, protects sensitive realms from mutation, and gates destructive operations behind an explicit opt-in.
realm argument; scope it with an allowlist.read-only → read-write → admin, layered so a mode never exposes tools above its level.| Concern | Flag | Default | Effect |
|---|---|---|---|
| What can the server do at all? | KEYCLOAK_MODE | read-only | read-only exposes only read tools; read-write adds mutations; admin adds destructive tools. Tools above the mode are never registered. |
| Which realms are in scope? | KEYCLOAK_REALM_ALLOWLIST | *(all)* | Comma-separated. When set, any operation on a realm outside the list is refused. |
| Which realms are read-only forever? | KEYCLOAK_PROTECTED_REALMS | master | Protected realms can be read but never mutated or deleted, regardless of mode. |
| Can it delete? | KEYCLOAK_ALLOW_DELETE | false | delete_* tools require this and admin mode. |
| Preview without touching Keycloak | KEYCLOAK_DRY_RUN | false | Write/admin tools validate + log intent, then return without calling Keycloak. |
| Audit trail | KEYCLOAK_AUDIT_LOG | true | Emits a JSON line to stderr per guarded operation (ALLOW / DENY / DRY_RUN). |
| Interactive confirmation | *(automatic)* | — | Destructive & high-impact actions prompt the human to approve via MCP elicitation before running; clients without elicitation fall back to the *_ALLOW_* gate. |
These layers are independent — for example admin mode with KEYCLOAK_ALLOW_DELETE=false can create and update users but cannot delete them.
Read (read-only+): list_realms, get_realm, list_users, get_user, count_users, list_clients, list_realm_roles, list_groups
Write (read-write+): create_user, update_user, reset_password, logout_user
Admin (admin): delete_user
Published on npm as @dockndevai/mcp-keycloak. No clone or build needed — your MCP client runs it on demand with npx. Start in `read-only` mode; see .env.example for every variable and docs/CLIENTS.md for the full per-client guide.
Claude Code (CLI)
claude mcp add keycloak -e KEYCLOAK_URL="https://keycloak.example.com" -e KEYCLOAK_CLIENT_ID="admin-cli" -e KEYCLOAK_CLIENT_SECRET="your-secret" -e KEYCLOAK_MODE="read-only" -- npx -y @dockndevai/mcp-keycloak
Claude Desktop · Cursor · Windsurf — same block in claude_desktop_config.json, .cursor/mcp.json, or ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": { "keycloak": { "command": "npx", "args": [ "-y", "@dockndevai/mcp-keycloak" ], "env": { "KEYCLOAK_URL": "https://keycloak.example.com", "KEYCLOAK_CLIENT_ID": "admin-cli", "KEYCLOAK_CLIENT_SECRET": "your-secret", "KEYCLOAK_MODE": "read-only" } } } }
OpenAI Codex CLI — in ~/.codex/config.toml:
[mcp_servers.keycloak]
command = "npx" args = ["-y", "@dockndevai/mcp-keycloak"] env = { KEYCLOAK_URL = "https://keycloak.example.com", KEYCLOAK_CLIENT_ID = "admin-cli", KEYCLOAK_CLIENT_SECRET = "your-secret", KEYCLOAK_MODE = "read-only" }
VS Code (GitHub Copilot, Agent mode) — in .vscode/mcp.json:
{
"servers": { "keycloak": { "type": "stdio", "command": "npx", "args": [ "-y", "@dockndevai/mcp-keycloak" ], "env": { "KEYCLOAK_URL": "https://keycloak.example.com", "KEYCLOAK_CLIENT_ID": "admin-cli", "KEYCLOAK_CLIENT_SECRET": "your-secret", "KEYCLOAK_MODE": "read-only" } } } }
Copy .env.example and fill it in, or set the variables directly in your MCP client config. A confidential client with the realm-management roles you need is the recommended credential.
Prefer the published package above. To run from a clone:
npm install
npm run build node dist/index.js # with the environment variables set
npm run dev # watch mode
npm test # unit tests for the security policy npm run typecheck
This server ships a server.json for the official MCP registry and an mcpName for npm ownership validation. See [PUBLISHING.md](PUBLISHING.md) for publishing to npm and listing on the MCP registry, Smithery, Glama, Cursor, and PulseMCP.
MIT