メインコンテンツまでスキップ

Admin MCP でKuroco管理画面を操作する

このページでは、Kuroco の Admin MCP に Claude Code を接続し、AI エージェントから Kuroco 管理画面の操作を行う手順を説明します。

接続の設定は、管理画面のAdmin MCP画面を起点に行います。この画面には、接続先のエンドポイントURLと、MCPクライアントごとの設定手順が表示されます。

備考

前提条件

  • Kuroco 管理画面にログインできる管理者アカウント
  • 対象の操作を実行できる管理者権限(Admin MCP 経由で実行できるのは、その管理者が管理画面で実行できる操作の範囲内です)
  • Claude Code がインストールされた環境(claude コマンドが実行できること)
  • Admin MCP のアクセス制限(IPアドレス)を有効にしている場合は、接続元のIPアドレスが許可されていること

Admin MCP への接続の前提

Kuroco には MCP サーバーが2種類あり、このページで扱うのは管理操作向けの Admin MCP です。APIごとに公開する MCP サーバーとの違いはKuroco の AI 機能ガイドを参照してください。

MCP クライアントは、用途がAdminMCPの OAuth Authorization Server からアクセストークンを取得します。Kuroco では、[外部システム連携] -> [ID連携] -> [OAuth Authorization Server]の一覧画面を開いた時点で、Admin MCP 用の認可サーバー Admin MCP (default) が自動的に作成されます。通常はこの認可サーバーをそのまま使用し、新しい認可サーバーを追加する必要はありません。

注意

用途がAdminMCPの認可サーバーは、サイト内で有効にできるのは1つだけです。また、Admin MCP (default) を削除した場合、自動では再作成されません。削除した場合は、一覧画面の[追加]から用途にAdminMCPを指定して認可サーバーを作成してください。

Admin MCP に接続する

このページでは、クライアントの事前登録が不要なCIMD(Client ID Metadata Documents)を有効にする方法で接続します。

1. [Admin MCP]画面を開く

管理画面の右上に表示されている[Admin MCP]をクリックします。

Image from Gyazo

[Admin MCP]画面(/management/rcms_api/admin_mcp_info/)が表示されます。

Image from Gyazo

2. CIMD を有効にする

[MCPクライアント設定手順]に[Client ID Metadata Documents(CIMD)が無効です]と表示されている場合は、[CIMDを有効にする]をクリックします。

Image from Gyazo

Admin MCP (default) の編集画面が表示されるので、[Client ID Metadata Documents(CIMD)]を有効にして[更新する]をクリックします。

Image from Gyazo

注意

CIMD を有効にしている間は、事前登録なしにどのアプリケーションでも認可を要求できます。トークンが発行されるのは同意画面で[許可する]をクリックした場合のみですが、そのトークンに付与されうるスコープの上限は認可サーバーの[許可するスコープ]で決まります。必要なスコープだけを許可してください。

CIMDを無効にしたまま運用する場合は、[Admin MCP]画面の[OAuthクライアントを管理する]からクライアントシークレットを発行し、MCPクライアントにそのclient_idclient_secretを設定してください(詳細はOAuth Authorization Serverを参照)。

3. 接続するエンドポイントURLを確認する

エンドポイントURLの形式は次のとおりです。

https://{サイトキー}.g.kuroco.app/direct/rcms_api/admin_mcp/x/all

[MCPクライアント設定手順]には、MCPクライアントごとの設定方法がタブで表示されます。[Claude Code]タブを選択します。エンドポイントは[全ツール](初期状態で選択されています)のまま進めます。表示された内容を確認します。

Image from Gyazo

/x/ 以降で公開するモジュールを指定しています。書き込み系ツール(作成・更新・削除など)を除いた読み取り専用の接続にする場合は[読み取り専用]を選択します(URLの末尾に/readonlyが付きます)。特定のモジュールに絞る場合は、[Admin MCP]画面の[エンドポイント]欄に表示される形式に合わせてURLを変更します。

注意

これらのURLは、それぞれ別個のOAuthリソースとして扱われます。アクセストークンは、取得時に指定したURLに紐付きます。別のURLに対して使用すると401で拒否されるため、URLを絞ることは実際に認可範囲を絞ることになります。

4. Claude Code に登録して認証する

この接続はコマンドを実行したプロジェクト(ディレクトリ)単位で登録されます。ターミナルで、Claude Codeで利用したいプロジェクトのディレクトリに移動してから、[MCPクライアント設定手順]の[Claude Code]タブに表示されているコマンドを2行とも実行します。

コマンドの形式は次のとおりです(画面には実際のサイトキーとサーバー名が入った状態で表示されるため、そのまま使えます)。{サーバー名}は Claude Code 上での識別名で、任意の値を指定できます。

claude mcp add --transport http {サーバー名} https://{サイトキー}.g.kuroco.app/direct/rcms_api/admin_mcp/x/all
claude mcp login {サーバー名}

ブラウザで Kuroco の管理画面ログインと同意画面が表示されるので、認証を完了します。

Image from Gyazo

注記

CIMD で接続したクライアントは Kuroco 側にクライアントとして登録されないため、同意画面には[このサイトに未登録のアプリケーション]という警告が表示されます。これはアプリケーションが危険であることを示すものではありません。詳細は同意画面に表示される「このサイトに未登録のアプリケーション」を参照してください。

注記

ここで許可したアクセスレベルと、ログインしたメンバーの権限によって、Claude Codeから実行できる操作が制限されます。CIMDを無効にして接続している場合は、これに加えてOAuthクライアントの[許可するスコープ]も上限になります。

5. 動作確認

Claude Code で/mcpを実行し、登録した MCP サーバーの状態が接続済みになっていること、Admin MCP のツールが一覧に表示されることを確認します。状態がneeds authenticationのままの場合は、claude mcp login {サーバー名}で認証を実行します。

ツールが利用できることを確認できたら、指示の例を試してください。接続できない場合はうまく接続できない場合を参照してください。

指示の例

次のような指示を Claude Code に与えて、Admin MCP のツールが呼び出されることを確認できます。

調査・棚卸し(読み取りのみ)

読み取り専用のURLでも実行できます。

エンドポイントの設定にセキュリティ上の問題がないか調査してください。
リクエスト数の利用状況を確認して、Kuroco利用料を抑えられるポイントがないか調べてください。
NEWSのコンテンツで、公開中なのに本文が空のものを一覧にしてください。

一括更新(書き込みを伴う)

書き込み系ツールを含むURL(/readonlyなし)と、[読み書き]以上の権限レベルが必要です。

NEWSのコンテンツのすべてのslugをnews-{topics_id}に更新してください。
2020年以前に公開したお知らせを非公開にしてください。まず対象件数を確認してから実行してください。

毎回同じ前提を指示に含める必要がある場合は、[Admin MCP]画面の[Admin MCP サイト固有の指示]に記載しておくと、接続した AI クライアントに共通の前提として渡せます。

うまく接続できない場合

エラー主な原因対処
invalid_target: resource is not permitted for this clientクライアントの[対象リソース]と、MCP クライアントに設定したURLが一致していません。どちらかに揃えます。/readonlyの有無も一致させます。
invalid_scope: scope '...' not allowed for this client認可サーバーまたはクライアントで許可されていないスコープを要求しています。認可サーバーとクライアントの編集画面を開き、[許可するスコープ]の権限レベルを選択して[更新する]をクリックします。MCP クライアントが以前のメタデータを保持している場合は、登録を削除して再度追加します。
redirect_uri does not match a registered URIクライアントの[リダイレクトURI]に、MCP クライアントのコールバックURLが登録されていません。ブラウザのアドレスバーに表示されている認可URLのredirect_uriパラメータの値を確認し、クライアントの[リダイレクトURI]に登録します。
401 で拒否されるトークンを取得したURLと異なるURLに接続しています。MCP クライアントに設定したURLと、接続時に決めたエンドポイントURLを一致させ、再度認証します。
403 で拒否されるAdmin MCP のアクセス制限(IPアドレス)で接続元が許可されていません。[環境設定] -> [管理画面]の「Admin MCPのアクセス制限(IPアドレス)」に接続元のIPアドレスを追加します。

クライアントの設定([対象リソース]・[許可するスコープ]・[リダイレクトURI]など)を変更した場合は、MCP クライアント側で再認証してください。

補足

  • 参照だけを行う用途では、/readonlyを付けたエンドポイントURLと、クライアントの権限レベル[読み取り専用]を組み合わせてください。書き込み系ツールが除外され、トークンに書き込み権限も付与されません。
  • [読み書き]で委譲される権限の上限は、[Admin MCP]画面の[mcp:tools.write が委譲する権限]でモジュールごとに確認できます。より広く委譲する場合は[全操作(委譲先メンバーの権限の範囲)]を選択します。
  • サイト固有の運用ルールを AI クライアントに伝える場合は、[Admin MCP]画面の[Admin MCP サイト固有の指示]に記載します。この指示でトークンの権限が広がることはなく、AI クライアント側の解釈に依存するため、アクセス制御の代わりには使えません。
  • Claude Code 以外のクライアント(Claude、ChatGPT、Codex CLI、Cursor、VS Code、n8n、Dify、Slackbot など)の設定手順は、[Admin MCP]画面の各タブとMCP クライアント設定リファレンスを参照してください。

関連ドキュメント


サポート

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。