管理用 MCP サーバー

KeenAuth の管理用 MCP サーバーを使うと、AI アシスタントが Model Context Protocol を通じて、環境の設定を参照できます。サーバーは stdio でローカルに動作し、お使いのキーを使って管理 API を呼び出します。インストールパッケージはまだ提供されていません。

既定では読み取り専用

--allow-write を指定しない場合、サーバーは読み取り専用のツールのみを公開します。どのモードでも、削除を行うツールはありません。

ツール 返される内容
users_list、users_get、users_search 個人情報をマスクしたユーザー
applications_list、applications_get、application_credentials_list アプリケーション
apis_list、apis_get API
connections_list、connections_get 接続
api_keys_list、api_keys_get API キー。メタデータのみで、キーの実値は返されません
organizations_list、organizations_get 組織。名前、スラッグ、外部 ID、ステータス、タイムスタンプです。組織の metadata は返されません
custom_domains_list、custom_domains_get カスタムドメインとその DNS レコード
support_access_grants_list、support_access_grants_get サポートアクセス許可
environment_settings_get 環境設定。ロケール、タイムゾーン、セッション、サインアップ、セキュリティ通知、アカウント回復、多要素認証、フロントチャネルログアウト、許可された第一要素です

--unmask-pii は、このバージョンでは終了コード 2 で終了します。

書き込みツール

書き込みツールを公開するには、--allow-write を指定してサーバーを起動します。このバージョンには 1 つあります。

ツール 変更内容
environment_settings_update 有効なロケール、既定のロケール、既定のタイムゾーンのみ。セッション、サインアップ、アカウント回復、多要素認証、セキュリティ通知、第一要素の設定は、MCP からは変更できません。

どの書き込みも、次の 2 回の呼び出しで行われます。

  1. 1 回目の呼び出しでは何も変更されません。現在の設定を読み取り、各項目の現在値と変更後の値をプレビューとして返します。あわせて confirmation_token も返されます。
  2. アシスタントがプレビューを表示します。承認を得た後にのみ、同じ引数と confirmation_token でツールを再度呼び出します。その後、サーバーが変更を書き込みます。

confirmation_token は、実行中のサーバーが作成するもので、1 回のみ使用でき、5 分で期限切れになります。トークンは、ツール、正確な引数、およびプレビューされた設定のバージョンに紐づいています。異なる引数で使用されたトークンは拒否され、使用済みになります。プレビュー後に設定が変更されていた場合、書き込みは 412 で失敗するため、最初からやり直してください。サーバーが実行する書き込みは、毎秒最大 5 回です。

削除、取り消し、またはローテーションを行うツールは、--allow-write を指定した場合でも公開されません。MCP クライアントで書き込み呼び出しを 1 つずつ承認してください。書き込みツールを自動承認するようにクライアントを設定しないでください。

設定

変数 必須 説明
KEENAUTH_API_KEY はい 管理 API キー。読み取りスコープのみのキーを使用してください。--allow-write を指定する場合は、environment-settings:write のみを追加してください。
KEENAUTH_BASE_URL はい ご利用環境の管理 API のベース URL です。

--tools <pattern> を指定すると、ツール一覧を絞り込めます。例: --tools "users_*"。絞り込みのみが可能で、無効になっているツールを有効にすることはできません。また、--allow-write を指定していない場合は、書き込みツールを有効にすることもできません。

アシスタントが見る内容

監査証跡

MCP サーバーが送信するすべてのリクエストには、Idp-Client: keenauth-mcp/<version> と Idp-Mcp-Tool: <tool name> が含まれます。呼び出しによって何かが変更された場合、その監査ログのエントリーには、通常の実行者(API キーまたは M2M クライアント)に加えて、metadata.client = mcp/<version> と metadata.mcp_tool = ツール名が記録されます。これらの値は MCP サーバー側で宣言されたもので、検証されていません。アシスタントが何をしたかを確認するために使用し、責任の所在は実行者で判断してください。

ツール定義は固定されています

ツール名、説明、入力スキーマは、ビルド時に API の説明から生成され、バージョンごとに固定されます。その SHA-256 ダイジェストは tools.digest に保存されます。どのツール定義が変更されても、ダイジェストが変わり、セキュリティレビューが必要になります。