使用時先載入搜尋資料。亦可直接瀏覽下方分類。

MCP tool

儲存新工作空間草稿

sosoapi_create_content_draft

以 editor 或以上角色及 operate 權限儲存新共用草稿,傳 workspace_id、client 產生嘅唯一 id、mutation_id 及 content。可以未選帳戶、時間或 ready 素材;只存內容,唔會排程、建立發布工作或預留發布額度,亦唔會呼叫 provider。共用編輯內容不可信,而且可能截短。重試保留完全相同身份及內容,之後編輯用 sosoapi_update_content_draft。

閱讀 Markdown

Profiles 及連接方式

Profiles: core, full · Transports: stdio, http

Profile 只影響工具可見性,唔會授權。HTTP 冇本機檔案上傳。SOSOAPI_OUTPUT_SCHEMAS=1 會宣告輸出 schema;兩種模式都會回傳 structured results。

權限及改動

MCP annotations 只係發現提示,唔係存取控制保證;仍然有實際登入、角色、資源及能力檢查。

{
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": true
}

輸入欄位

必填表示喺所屬物件及所選分支內必須提供;子欄位必填唔代表可選父物件變成必填。以下欄位名稱及規則直接來自 contract。

輸入欄位
欄位/分支類型/必填限制
$object父物件內必填
  • additionalProperties: false
workspace_idstring父物件內必填
  • format: "uuid"
idstring父物件內必填
  • format: "uuid"
mutation_idstring父物件內必填
  • format: "uuid"
contentobject父物件內必填
  • additionalProperties: false
content.schemaVersionnumber可選/陣列項目
  • enum: [1]
content.accountIdsarray可選/陣列項目
  • maxItems: 50
content.accountIds[]string可選/陣列項目
  • format: "uuid"
content.captionstring可選/陣列項目
  • maxLength: 5000
content.hashtagsstring可選/陣列項目
  • maxLength: 5000
content.assetIdsarray可選/陣列項目
  • maxItems: 20
content.assetIds[]string可選/陣列項目
  • maxLength: 16
  • pattern: "^[1-9][0-9]*$"
content.threadsTextOnlyboolean可選/陣列項目—
content.instagramModestring可選/陣列項目
  • enum: ["IMAGE","REELS","CAROUSEL","STORY_IMAGE","STORY_VIDEO"]
content.youtubeTitlestring可選/陣列項目
  • maxLength: 100
content.youtubePrivacystring可選/陣列項目
  • enum: ["private","unlisted","public"]
content.youtubeSyntheticboolean可選/陣列項目—
content.youtubeCategoryIdstring可選/陣列項目
  • maxLength: 32
content.youtubeShortboolean可選/陣列項目—
content.linkUrlstring可選/陣列項目
  • maxLength: 2048
content.scheduledAtstring可選/陣列項目
  • maxLength: 64
content.displayTimezonestring可選/陣列項目
  • minLength: 1
  • maxLength: 128
content.publishNowboolean可選/陣列項目—
content.destinationOverridesobject可選/陣列項目
  • additionalProperties: {"type":"object","properties":{"caption":{"type":"string","maxLength":5000},"scheduledAt":{"type":"string","maxLength":64}},"additionalProperties":false}
content.destinationOverrides.*object可選/陣列項目
  • additionalProperties: false
content.destinationOverrides.*.captionstring可選/陣列項目
  • maxLength: 5000
content.destinationOverrides.*.scheduledAtstring可選/陣列項目
  • maxLength: 64
content.expiresAtstring可選/陣列項目
  • maxLength: 64
完整 JSON Schema
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "mutation_id": {
      "type": "string",
      "format": "uuid"
    },
    "content": {
      "type": "object",
      "properties": {
        "schemaVersion": {
          "type": "number",
          "enum": [
            1
          ]
        },
        "accountIds": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid"
          }
        },
        "caption": {
          "type": "string",
          "maxLength": 5000
        },
        "hashtags": {
          "type": "string",
          "maxLength": 5000
        },
        "assetIds": {
          "maxItems": 20,
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 16,
            "pattern": "^[1-9][0-9]*$"
          }
        },
        "threadsTextOnly": {
          "type": "boolean"
        },
        "instagramMode": {
          "type": "string",
          "enum": [
            "IMAGE",
            "REELS",
            "CAROUSEL",
            "STORY_IMAGE",
            "STORY_VIDEO"
          ]
        },
        "youtubeTitle": {
          "type": "string",
          "maxLength": 100
        },
        "youtubePrivacy": {
          "type": "string",
          "enum": [
            "private",
            "unlisted",
            "public"
          ]
        },
        "youtubeSynthetic": {
          "type": "boolean"
        },
        "youtubeCategoryId": {
          "type": "string",
          "maxLength": 32
        },
        "youtubeShort": {
          "type": "boolean"
        },
        "linkUrl": {
          "type": "string",
          "maxLength": 2048
        },
        "scheduledAt": {
          "type": "string",
          "maxLength": 64
        },
        "displayTimezone": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128
        },
        "publishNow": {
          "type": "boolean"
        },
        "destinationOverrides": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "properties": {
              "caption": {
                "type": "string",
                "maxLength": 5000
              },
              "scheduledAt": {
                "type": "string",
                "maxLength": 64
              }
            },
            "additionalProperties": false
          }
        },
        "expiresAt": {
          "type": "string",
          "maxLength": 64
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "workspace_id",
    "id",
    "mutation_id",
    "content"
  ],
  "additionalProperties": false
}

結構化輸出

此 schema 描述成功工具結果嘅 structuredContent。MCP envelope 亦包括 content,失敗可能設定 isError;唔好將文字收據或接受請求當成平台終態。權限及重試規則見對應 API 操作。

必填表示喺所屬物件及所選分支內必須提供;子欄位必填唔代表可選父物件變成必填。以下欄位名稱及規則直接來自 contract。

結構化輸出
欄位/分支類型/必填限制
$object父物件內必填
  • additionalProperties: false
draftobject父物件內必填
  • additionalProperties: false
draft.idstring父物件內必填
  • format: "uuid"
draft.workspace_idstring父物件內必填
  • format: "uuid"
draft.revisioninteger父物件內必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
draft.statestring父物件內必填
  • enum: ["draft","submitting","submitted"]
draft.contentobject父物件內必填
  • additionalProperties: false
draft.content.schemaVersionnumber父物件內必填
  • const: 1
  • default: 1
draft.content.accountIdsarray父物件內必填
  • maxItems: 50
  • default: []
draft.content.accountIds[]string可選/陣列項目
  • format: "uuid"
draft.content.captionstring父物件內必填
  • maxLength: 5000
  • default: ""
draft.content.hashtagsstring父物件內必填
  • maxLength: 5000
  • default: ""
draft.content.assetIdsarray父物件內必填
  • maxItems: 20
  • default: []
draft.content.assetIds[]string可選/陣列項目
  • maxLength: 16
  • pattern: "^[1-9][0-9]*$"
draft.content.threadsTextOnlyboolean父物件內必填
  • default: false
draft.content.instagramModestring父物件內必填
  • enum: ["IMAGE","REELS","CAROUSEL","STORY_IMAGE","STORY_VIDEO"]
  • default: "REELS"
draft.content.youtubeTitlestring父物件內必填
  • maxLength: 100
  • default: ""
draft.content.youtubePrivacystring父物件內必填
  • enum: ["private","unlisted","public"]
  • default: "private"
draft.content.youtubeSyntheticboolean父物件內必填
  • default: false
draft.content.youtubeCategoryIdstring父物件內必填
  • maxLength: 32
  • default: ""
draft.content.youtubeShortboolean父物件內必填
  • default: false
draft.content.linkUrlstring父物件內必填
  • maxLength: 2048
  • default: ""
draft.content.scheduledAtstring父物件內必填
  • maxLength: 64
  • default: ""
draft.content.displayTimezonestring父物件內必填
  • minLength: 1
  • maxLength: 128
  • default: "UTC"
draft.content.publishNowboolean父物件內必填
  • default: false
draft.content.destinationOverridesobject父物件內必填
  • default: {}
  • additionalProperties: {"type":"object","properties":{"caption":{"type":"string","maxLength":5000},"scheduledAt":{"type":"string","maxLength":64}},"additionalProperties":false}
draft.content.destinationOverrides.*object可選/陣列項目
  • additionalProperties: false
draft.content.destinationOverrides.*.captionstring可選/陣列項目
  • maxLength: 5000
draft.content.destinationOverrides.*.scheduledAtstring可選/陣列項目
  • maxLength: 64
draft.content.expiresAtstring父物件內必填
  • maxLength: 64
  • default: ""
draft.created_bystring | null父物件內必填—
draft.created_byanyOf 1string父物件內必填
  • format: "uuid"
draft.created_byanyOf 2null父物件內必填—
draft.updated_bystring | null父物件內必填—
draft.updated_byanyOf 1string父物件內必填
  • format: "uuid"
draft.updated_byanyOf 2null父物件內必填—
draft.created_atstring父物件內必填
  • 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)))$"
draft.updated_atstring父物件內必填
  • 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)))$"
draft.submissionobject | null父物件內必填—
draft.submissionanyOf 1object父物件內必填
  • additionalProperties: false
draft.submission.idanyOf 1string父物件內必填
  • format: "uuid"
draft.submission.expected_revisionanyOf 1integer父物件內必填
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
draft.submission.started_atanyOf 1string父物件內必填
  • 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)))$"
draft.submission.receiptanyOf 1object | null父物件內必填—
draft.submission.receiptanyOf 1 / anyOf 1object父物件內必填
  • additionalProperties: false
draft.submission.receipt.batch_idanyOf 1 / anyOf 1string | null父物件內必填—
draft.submission.receipt.batch_idanyOf 1 / anyOf 1 / anyOf 1string父物件內必填
  • format: "uuid"
draft.submission.receipt.batch_idanyOf 1 / anyOf 1 / anyOf 2null父物件內必填—
draft.submission.receipt.successesanyOf 1 / anyOf 1array父物件內必填
  • maxItems: 50
draft.submission.receipt.successes[]anyOf 1 / anyOf 1object可選/陣列項目
  • additionalProperties: false
draft.submission.receipt.successes[].social_account_idanyOf 1 / anyOf 1string父物件內必填
  • format: "uuid"
draft.submission.receipt.successes[].post_idanyOf 1 / anyOf 1string父物件內必填
  • pattern: "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
draft.submission.receipt.failuresanyOf 1 / anyOf 1array父物件內必填
  • maxItems: 50
draft.submission.receipt.failures[]anyOf 1 / anyOf 1object可選/陣列項目
  • additionalProperties: false
draft.submission.receipt.failures[].social_account_idanyOf 1 / anyOf 1string父物件內必填
  • format: "uuid"
draft.submission.receipt.failures[].codeanyOf 1 / anyOf 1string父物件內必填
  • minLength: 1
  • maxLength: 160
draft.submission.receipt.failures[].messageanyOf 1 / anyOf 1string父物件內必填
  • maxLength: 2000
draft.submission.receiptanyOf 1 / anyOf 2null父物件內必填—
draft.submissionanyOf 2null父物件內必填—
replayedboolean父物件內必填—
完整 JSON Schema
{
  "type": "object",
  "properties": {
    "draft": {
      "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"
          ]
        },
        "content": {
          "type": "object",
          "properties": {
            "schemaVersion": {
              "default": 1,
              "type": "number",
              "const": 1
            },
            "accountIds": {
              "default": [],
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            },
            "caption": {
              "default": "",
              "type": "string",
              "maxLength": 5000
            },
            "hashtags": {
              "default": "",
              "type": "string",
              "maxLength": 5000
            },
            "assetIds": {
              "default": [],
              "maxItems": 20,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 16,
                "pattern": "^[1-9][0-9]*$"
              }
            },
            "threadsTextOnly": {
              "default": false,
              "type": "boolean"
            },
            "instagramMode": {
              "default": "REELS",
              "type": "string",
              "enum": [
                "IMAGE",
                "REELS",
                "CAROUSEL",
                "STORY_IMAGE",
                "STORY_VIDEO"
              ]
            },
            "youtubeTitle": {
              "default": "",
              "type": "string",
              "maxLength": 100
            },
            "youtubePrivacy": {
              "default": "private",
              "type": "string",
              "enum": [
                "private",
                "unlisted",
                "public"
              ]
            },
            "youtubeSynthetic": {
              "default": false,
              "type": "boolean"
            },
            "youtubeCategoryId": {
              "default": "",
              "type": "string",
              "maxLength": 32
            },
            "youtubeShort": {
              "default": false,
              "type": "boolean"
            },
            "linkUrl": {
              "default": "",
              "type": "string",
              "maxLength": 2048
            },
            "scheduledAt": {
              "default": "",
              "type": "string",
              "maxLength": 64
            },
            "displayTimezone": {
              "default": "UTC",
              "type": "string",
              "minLength": 1,
              "maxLength": 128
            },
            "publishNow": {
              "default": false,
              "type": "boolean"
            },
            "destinationOverrides": {
              "default": {},
              "type": "object",
              "propertyNames": {
                "type": "string",
                "format": "uuid"
              },
              "additionalProperties": {
                "type": "object",
                "properties": {
                  "caption": {
                    "type": "string",
                    "maxLength": 5000
                  },
                  "scheduledAt": {
                    "type": "string",
                    "maxLength": 64
                  }
                },
                "additionalProperties": false
              }
            },
            "expiresAt": {
              "default": "",
              "type": "string",
              "maxLength": 64
            }
          },
          "required": [
            "schemaVersion",
            "accountIds",
            "caption",
            "hashtags",
            "assetIds",
            "threadsTextOnly",
            "instagramMode",
            "youtubeTitle",
            "youtubePrivacy",
            "youtubeSynthetic",
            "youtubeCategoryId",
            "youtubeShort",
            "linkUrl",
            "scheduledAt",
            "displayTimezone",
            "publishNow",
            "destinationOverrides",
            "expiresAt"
          ],
          "additionalProperties": false
        },
        "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)))$"
        },
        "submission": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "expected_revision": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "started_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)))$"
                },
                "receipt": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "batch_id": {
                          "anyOf": [
                            {
                              "type": "string",
                              "format": "uuid"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "successes": {
                          "maxItems": 50,
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "social_account_id": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "post_id": {
                                "type": "string",
                                "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
                              }
                            },
                            "required": [
                              "social_account_id",
                              "post_id"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "failures": {
                          "maxItems": 50,
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "social_account_id": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "code": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 160
                              },
                              "message": {
                                "type": "string",
                                "maxLength": 2000
                              }
                            },
                            "required": [
                              "social_account_id",
                              "code",
                              "message"
                            ],
                            "additionalProperties": false
                          }
                        }
                      },
                      "required": [
                        "batch_id",
                        "successes",
                        "failures"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "id",
                "expected_revision",
                "started_at",
                "receipt"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "workspace_id",
        "revision",
        "state",
        "content",
        "created_by",
        "updated_by",
        "created_at",
        "updated_at",
        "submission"
      ],
      "additionalProperties": false
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "draft",
    "replayed"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

工具呼叫範例

以下虛構值已按 contract 驗證,唔係真實帳戶 ID、憑證或發佈紀錄。請用已授權範圍回傳嘅 ID、已準備好嘅素材及已審核排程取代,寫入前核對平台資格。此頁唔會呼叫 API。

{
  "name": "sosoapi_create_content_draft",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "id": "44444444-4444-4444-8444-444444444444",
    "mutation_id": "55555555-5555-4555-8555-555555555555",
    "content": {
      "schemaVersion": 1,
      "accountIds": [],
      "caption": "An unfinished announcement for team review.",
      "hashtags": "",
      "assetIds": [],
      "threadsTextOnly": false,
      "instagramMode": "REELS",
      "youtubeTitle": "",
      "youtubePrivacy": "private",
      "youtubeSynthetic": false,
      "youtubeCategoryId": "",
      "youtubeShort": false,
      "linkUrl": "",
      "scheduledAt": "",
      "displayTimezone": "UTC",
      "publishNow": false,
      "destinationOverrides": {},
      "expiresAt": ""
    }
  }
}

structuredContent

{
  "draft": {
    "id": "44444444-4444-4444-8444-444444444444",
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "state": "draft",
    "content": {
      "schemaVersion": 1,
      "accountIds": [],
      "caption": "An unfinished announcement for team review.",
      "hashtags": "",
      "assetIds": [],
      "threadsTextOnly": false,
      "instagramMode": "REELS",
      "youtubeTitle": "",
      "youtubePrivacy": "private",
      "youtubeSynthetic": false,
      "youtubeCategoryId": "",
      "youtubeShort": false,
      "linkUrl": "",
      "scheduledAt": "",
      "displayTimezone": "UTC",
      "publishNow": false,
      "destinationOverrides": {},
      "expiresAt": ""
    },
    "created_by": null,
    "updated_by": null,
    "created_at": "2099-01-15T08:00:00Z",
    "updated_at": "2099-01-15T08:30:00Z",
    "submission": null
  },
  "replayed": false
}
安裝或連接 MCP