Skip to content

MCP から Takosumi を操作する ​

Operator control MCP adapter を使うと、Takos や別の MCP client から Takosumi の Git install-plan、Capsule、Run を操作できます。新しい Git Source から reviewable Plan Run まで準備し、Capsule の一覧、plan、Run の確認、承認、apply を行えます。

この adapter は任意機能です。Takos 専用の tool を組み込むのではなく、通常の mcp.server Interface として /mcp/operator-control/v1 に公開します。client は MCP の tools/list から、その endpoint が提供する tool を読み取ります。

前提条件 ​

  • Takosumi Accounts と dashboard が動いている
  • 外から到達できる HTTPS の Takosumi origin がある
  • operator が MCP adapter を有効にできる
  • 利用者が対象 Workspace の member である

接続する ​

1. adapter を有効にする ​

stock platform worker に次を設定します。

text
TAKOSUMI_OPERATOR_CONTROL_MCP_ENABLED=1
TAKOSUMI_ACCOUNTS_ISSUER=https://<takosumi-origin>

flag がない場合、MCP route は 404 を返します。Accounts issuer は scheme と path を 含む Takosumi origin に合わせてください。

host が TAKOSUMI_INSTALL_CONFIG_COMPOSITION を独自の runtime object で置き換えている 場合は、OPERATOR_CONTROL_MCP_INSTALL_CONFIG もその配列へ追加します。

2. Git module をデプロイする ​

dashboard の Add service で次を指定します。

text
Git URL:     https://github.com/tako0614/takosumi.git
modulePath:  opentofu-modules/operator-control-mcp
variables:
  takosumi_origin = https://<takosumi-origin>

plan を確認して apply すると、module の endpoint Output から mcp.server Interface が作られます。install した本人には mcp.invoke permission を持つ OAuth Binding が提案されます。

この module は公開 Takosumi API だけを使います。Takoform provider は不要です。

3. MCP client から接続する ​

Interface の接続情報を dashboard で開き、MCP client に渡します。transport は Streamable HTTP です。

text
https://<takosumi-origin>/mcp/operator-control/v1

認証には Interface Binding から取得した OAuth token を使います。operator token や module の provider credential は client へ渡しません。

提供する tool ​

Tool用途
takosumi_install_plan_createGit Source から durable install-plan を作成・再生する
takosumi_install_plan_getinstall-plan の現在状態を副作用なしで読む
takosumi_install_plan_reconcileinstall-plan を明示的に一段だけ進める
takosumi_capsules_listCapsule の一覧を読む
takosumi_capsule_plan既存 Capsule の plan を開始する
takosumi_capsule_destroy_plan既存 Capsule の destroy plan を作り review で停止する
takosumi_run_getRun の状態と plan の要約を読む
takosumi_run_approve確認済みの Run を承認する
takosumi_run_apply承認済みの保存済み plan を apply する

install-plan create には client が再試行でも維持する idempotencyKey が必須です。 nextAction: reconcile の間だけ reconcile を繰り返し、review_run になったら返された Run を確認します。install-plan 自体は approve/apply しません。destroy-plan tool も review 待ち Run を作るだけで、approve/apply は行いません。list と get は 読み取り専用です。approve と apply は変更を伴うため、MCP client は実行前に 利用者へ確認する必要があります。

tool の一覧と入力 schema は adapter が tools/list で返します。client 側に固定の Takosumi tool catalog を持たせないでください。

認証と安全性 ​

各 MCP request では、Takosumi が OAuth token、Interface、Binding、Workspace、 mcp.invoke permission を確認します。install-plan、Capsule、Run も同じ Workspace に 属している必要があります。

install-plan tool は公開 /api/v1 の bounded request だけを転送します。variable 値、 credential、provider token、任意の control-plane path は受け付けません。Git credential が必要な場合は、事前に作成した authConnectionId だけを参照します。

adapter は確認済みの Workspace と利用者情報だけを既存の Takosumi API handler に渡します。 元の bearer token を Run、state、Output、audit、log へ保存しません。通常の Workspace role、policy、plan 承認、保存済み plan の digest 検証もそのまま適用されます。

takosumi_run_apply は MCP request から apply guard を上書きできません。server が 保存済み plan、state、provider connection をもう一度検証してから実行します。

うまく接続できないとき ​

症状確認すること
route が 404TAKOSUMI_OPERATOR_CONTROL_MCP_ENABLED=1 が実行環境に反映されているか
OAuth Binding が Ready にならないAccounts issuer、公開 origin、module の takosumi_origin が一致しているか
401 / 403token の audience、mcp.invoke permission、Workspace membership を確認する
Capsule や Run が見つからないBinding と対象が同じ Workspace にあるか
tool が古いclient の固定一覧ではなく、接続先で tools/list を再取得する

運用ログへ bearer token や provider credential を出さないでください。

AGPL-3.0-only