# GetMyOrchestratorState

呼び出しユーザーの現在の Orchestrator 状態を **sanitized な Markdown スナップショット**で返すメタツール（常時利用可能、引数なし）。「自分の MCP は何が繋がっている?」「最近何を実行した?」のようなユーザー固有の質問に答える前に呼ぶ。

## 引数

なし。認証済みユーザー（`ctx.userId`）が前提。未認証ならエラーを返す。

## 出力に含まれる項目

| セクション | 内容 |
|-----------|------|
| ユーザー | id / 名前 / role |
| 最近のタスク | 直近 5 件（task-id・ピース名・状態・作成日時・タイトル先頭 60 字） |
| MCP サーバー | **このタスクで実際に利用可能なものだけ**（後述）。各サーバーの認証種別 / 個人・全体 / 連携状況 |
| ユーザーフォルダ | AGENTS.md の有無とサイズ、`memory/` `scripts/` `browser-macros/` `templates/` `recordings/` の件数 |
| カスタム Piece | 自分の fork（`data/users/{id}/pieces/`） |
| 組み込み Piece | 名前のみ列挙 |

## 秘密情報は一切返さない

トークン・OAuth client secret・暗号化 blob などのセンシティブな値は**含まれない**。MCP は「連携済み / 未連携」の状態だけを返す（中身のトークンは出さない）。

## MCP のスコープに注意

報告される MCP サーバーは、**そのタスクの実効スペース（`ctx.spaceId`）で実際にエージェントへ公開されているものだけ**。別スペースに登録済みでも、このタスクから呼べないサーバーは「連携済み」と表示しない（旧仕様は owner スコープで列挙し、呼べないサーバーを連携済みと誤報していた）。

- 個人ワークスペース（`space_id IS NULL`）のタスク → `space_id IS NULL` のサーバー
- 個別スペースのタスク → その `space_id` のサーバー

## 制約

- サーバー側で DB 依存が注入されていない場合（`setAppDocsDeps` 未呼び出し）はエラー。
- 各クエリは best-effort で、失敗してもセクション単位で「取得失敗」を出して継続する。

## 関連

ユーザーフォルダの中身そのものは [ListUserAssets](./listuserassets.md) / [ReadUserMemory](./readusermemory.md) などで個別に参照する。
