MCPツール
ワークスペースの下書きを一覧表示
sosoapi_list_content_draftsworkspace_id を明示して、共有編集下書きと未完了の送信を一覧表示します。viewer 以上が必要です。next_cursor で次ページへ進み、最大 50 行を取得できます。submitted の項目は一覧から外れます。キャプションのプレビューは信頼できない編集テキストです。sosoapi_get_content_draft で項目を開き直してください。この読み取りは予約も公開も行いません。
Markdownで読むプロファイルと通信方式
プロファイル: core, full · 通信方式: stdio, http
coreまたはfullで表示ツールを選べますが権限は変わりません。ローカルアップロードはstdioのみでHTTPは非対応です。SOSOAPI_OUTPUT_SCHEMAS=1で検出時に出力スキーマを含めます。設定に関係なく構造化結果を返します。
権限と副作用
注釈はクライアントがツールを説明するためのものです。各呼び出しでは引き続き認証、ロール、リソースアクセス、機能権限を確認します。
{
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
}- /studio-api/content-drafts/list: agent:operate · 永続保存されたワークスペース編集内容。公開の副作用なし
入力フィールド
必須とは、親オブジェクトと選択分岐内で必須という意味です。必須の子があっても任意の親は必須になりません。以下のルールとフィールド名は契約から転記しています。
| フィールド/分岐 | 型/必須 | 制約 |
|---|---|---|
$ | object親要素内で必須 |
|
workspace_id | string親要素内で必須 |
|
limit | integer任意/項目 |
|
cursor | object | null任意/項目 | — |
cursoranyOf 1 | object任意/項目 |
|
cursor.updated_atanyOf 1 | string親要素内で必須 |
|
cursor.idanyOf 1 | string親要素内で必須 |
|
cursoranyOf 2 | null任意/項目 | — |
完全なJSON Schema
{
"type": "object",
"properties": {
"workspace_id": {
"type": "string",
"format": "uuid"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"cursor": {
"anyOf": [
{
"type": "object",
"properties": {
"updated_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"updated_at",
"id"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"workspace_id"
],
"additionalProperties": false
}構造化された出力
このスキーマは、成功時のツール結果に含まれるstructuredContentを説明します。MCPレスポンスはcontentも含み、失敗時にisErrorを設定する場合があります。公開では、受理やテキスト応答を確認済みと扱わず、投稿の最終結果を取得してください。権限・再試行ルールはリンク先のAPI操作をご覧ください。
必須とは、親オブジェクトと選択分岐内で必須という意味です。必須の子があっても任意の親は必須になりません。以下のルールとフィールド名は契約から転記しています。
| フィールド/分岐 | 型/必須 | 制約 |
|---|---|---|
$ | object親要素内で必須 |
|
drafts | array親要素内で必須 |
|
drafts[] | object任意/項目 |
|
drafts[].id | string親要素内で必須 |
|
drafts[].workspace_id | string親要素内で必須 |
|
drafts[].revision | integer親要素内で必須 |
|
drafts[].state | string親要素内で必須 |
|
drafts[].caption_preview | string親要素内で必須 |
|
drafts[].asset_count | integer親要素内で必須 |
|
drafts[].account_count | integer親要素内で必須 |
|
drafts[].created_by | string | null親要素内で必須 | — |
drafts[].created_byanyOf 1 | string親要素内で必須 |
|
drafts[].created_byanyOf 2 | null親要素内で必須 | — |
drafts[].updated_by | string | null親要素内で必須 | — |
drafts[].updated_byanyOf 1 | string親要素内で必須 |
|
drafts[].updated_byanyOf 2 | null親要素内で必須 | — |
drafts[].created_at | string親要素内で必須 |
|
drafts[].updated_at | string親要素内で必須 |
|
next_cursor | object | null親要素内で必須 | — |
next_cursoranyOf 1 | object親要素内で必須 |
|
next_cursor.updated_atanyOf 1 | string親要素内で必須 |
|
next_cursor.idanyOf 1 | string親要素内で必須 |
|
next_cursoranyOf 2 | null親要素内で必須 | — |
returned_count | integer親要素内で必須 |
|
完全なJSON Schema
{
"type": "object",
"properties": {
"drafts": {
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"workspace_id": {
"type": "string",
"format": "uuid"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"state": {
"type": "string",
"enum": [
"draft",
"submitting",
"submitted"
]
},
"caption_preview": {
"type": "string",
"maxLength": 500
},
"asset_count": {
"type": "integer",
"minimum": 0,
"maximum": 20
},
"account_count": {
"type": "integer",
"minimum": 0,
"maximum": 50
},
"created_by": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"updated_by": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"updated_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
}
},
"required": [
"id",
"workspace_id",
"revision",
"state",
"caption_preview",
"asset_count",
"account_count",
"created_by",
"updated_by",
"created_at",
"updated_at"
],
"additionalProperties": false
}
},
"next_cursor": {
"anyOf": [
{
"type": "object",
"properties": {
"updated_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"updated_at",
"id"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"returned_count": {
"type": "integer",
"minimum": 0,
"maximum": 50
}
},
"required": [
"drafts",
"next_cursor",
"returned_count"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}ツール呼び出しの例
スキーマ確認済みの架空値の例です。認可されたID、準備済みメディア、確認済みの公開日時に置き換え、書き込み前に適格性を確認してください。このページはAPIを呼びません。
{
"name": "sosoapi_list_content_drafts",
"arguments": {
"workspace_id": "11111111-1111-4111-8111-111111111111",
"limit": 20
}
}structuredContent
{
"drafts": [
{
"id": "44444444-4444-4444-8444-444444444444",
"workspace_id": "11111111-1111-4111-8111-111111111111",
"revision": 1,
"state": "draft",
"caption_preview": "An unfinished announcement for team review.",
"asset_count": 0,
"account_count": 0,
"created_by": null,
"updated_by": null,
"created_at": "2099-01-15T08:00:00Z",
"updated_at": "2099-01-15T08:30:00Z"
}
],
"next_cursor": null,
"returned_count": 1
}