僅在使用時載入搜尋。在下方瀏覽所有類別。

MCP 工具

上傳本機圖片或影片

sosoapi_upload_asset

將本機圖片或影片檔案上傳到工作空間素材庫並登記為素材。僅接受來自工作目錄、暫存目錄、Pictures/Movies/Videos 或 SOSOAPI_UPLOAD_ROOTS 的真實 PNG/JPEG/GIF/WebP/MP4/MOV/WebM/MKV/MPEG 檔案,最大 500 MiB;拒絕點開頭的檔案和資料夾。回傳供排程貼文媒體使用的素材 id 和 URL。

閱讀 Markdown

設定與傳輸方式

設定: core、full · 傳輸方式: stdio

選擇 core 或 full 以控制用戶端顯示的工具;這不會變更權限。本機檔案上傳需要 stdio,無法透過 HTTP 使用。設定 SOSOAPI_OUTPUT_SCHEMAS=1 可在探索結果加入輸出結構描述。無論是否啟用此設定,工具皆會回傳結構化結果。

權限與副作用

註解幫助用戶端描述工具。每次呼叫仍會檢查使用者身分驗證、角色、資源存取和能力授權。

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

輸入欄位

「必填」是指在其父物件及所選分支內必填。必填子欄位不會使選填父物件變成必填。下列規則與欄位名稱均複製自契約。

輸入欄位
欄位 / 分支類型 / 必填約束
$object在父物件中必填—
workspace_idstring在父物件中必填
  • format: "uuid"
file_pathstring在父物件中必填
  • minLength: 1
idempotency_keystring在父物件中必填
  • minLength: 8
  • maxLength: 160
content_typestring選填/項目
  • minLength: 1
titlestring選填/項目
  • maxLength: 200
descriptionstring選填/項目
  • maxLength: 2000
tagsarray選填/項目
  • maxItems: 50
tags[]string選填/項目
  • maxLength: 64
metadataobject選填/項目
  • additionalProperties: {}
metadata.*any JSON value選填/項目—
完整 JSON Schema
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "file_path": {
      "type": "string",
      "minLength": 1
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 8,
      "maxLength": 160
    },
    "content_type": {
      "type": "string",
      "minLength": 1
    },
    "title": {
      "type": "string",
      "maxLength": 200
    },
    "description": {
      "type": "string",
      "maxLength": 2000
    },
    "tags": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 64
      }
    },
    "metadata": {
      "type": "object",
      "additionalProperties": {}
    }
  },
  "required": [
    "workspace_id",
    "file_path",
    "idempotency_key"
  ]
}

結構化輸出

此 schema 描述成功工具結果中的 structuredContent。MCP 回應也包含 content,並可能在呼叫失敗時設定 isError。對於發布,請讀取貼文的最終結果,不要把已接受的請求或文字回應當作確認。連結的 API 操作說明了權限和重試規則。

「必填」是指在其父物件及所選分支內必填。必填子欄位不會使選填父物件變成必填。下列規則與欄位名稱均複製自契約。

結構化輸出
欄位 / 分支類型 / 必填約束
$object在父物件中必填
  • additionalProperties: false
assetobject在父物件中必填
  • additionalProperties: false
asset.idinteger | string在父物件中必填—
asset.idanyOf 1integer在父物件中必填
  • minimum: -9007199254740991
  • maximum: 9007199254740991
asset.idanyOf 2string在父物件中必填—
asset.workspace_idstring在父物件中必填
  • format: "uuid"
asset.user_idstring在父物件中必填
  • format: "uuid"
asset.asset_typestring在父物件中必填
  • enum: ["text","image","video","audio"]
asset.asset_urlstring | null在父物件中必填—
asset.asset_urlanyOf 1string在父物件中必填—
asset.asset_urlanyOf 2null在父物件中必填—
asset.preview_urlstring | null選填/項目

由 Workspace 授權的暫時讀取 URL。preview_expires_at 後,請透過素材讀取/清單重新取得;保留 asset_url 作為持久媒體身分。

—
asset.preview_urlanyOf 1string選填/項目
  • format: "uri"
asset.preview_urlanyOf 2null選填/項目—
asset.preview_expires_atstring | null選填/項目—
asset.preview_expires_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))$"
asset.preview_expires_atanyOf 2null選填/項目—
asset.titlestring | null在父物件中必填—
asset.titleanyOf 1string在父物件中必填—
asset.titleanyOf 2null在父物件中必填—
asset.descriptionstring | null在父物件中必填—
asset.descriptionanyOf 1string在父物件中必填—
asset.descriptionanyOf 2null在父物件中必填—
asset.tagsarray | null在父物件中必填—
asset.tagsanyOf 1array在父物件中必填—
asset.tags[]anyOf 1string選填/項目—
asset.tagsanyOf 2null在父物件中必填—
asset.metadataobject | null在父物件中必填—
asset.metadataanyOf 1object在父物件中必填
  • additionalProperties: {}
asset.metadata.*anyOf 1any JSON value選填/項目—
asset.metadataanyOf 2null在父物件中必填—
asset.sourcestring | null選填/項目—
asset.sourceanyOf 1string選填/項目—
asset.sourceanyOf 2null選填/項目—
asset.source_metadataobject | null選填/項目—
asset.source_metadataanyOf 1object選填/項目
  • additionalProperties: {}
asset.source_metadata.*anyOf 1any JSON value選填/項目—
asset.source_metadataanyOf 2null選填/項目—
asset.created_atstring在父物件中必填—
asset.versioninteger選填/項目
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
dedupedboolean在父物件中必填—
完整 JSON Schema
{
  "type": "object",
  "properties": {
    "asset": {
      "type": "object",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string"
            }
          ]
        },
        "workspace_id": {
          "type": "string",
          "format": "uuid"
        },
        "user_id": {
          "type": "string",
          "format": "uuid"
        },
        "asset_type": {
          "type": "string",
          "enum": [
            "text",
            "image",
            "video",
            "audio"
          ]
        },
        "asset_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "preview_url": {
          "description": "Workspace-authorized temporary read URL. Refresh through Asset read/list after preview_expires_at; keep asset_url as persisted media identity.",
          "anyOf": [
            {
              "type": "string",
              "format": "uri"
            },
            {
              "type": "null"
            }
          ]
        },
        "preview_expires_at": {
          "anyOf": [
            {
              "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))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "tags": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            {
              "type": "null"
            }
          ]
        },
        "metadata": {
          "anyOf": [
            {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            },
            {
              "type": "null"
            }
          ]
        },
        "source": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "source_metadata": {
          "anyOf": [
            {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            },
            {
              "type": "null"
            }
          ]
        },
        "created_at": {
          "type": "string"
        },
        "version": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "id",
        "workspace_id",
        "user_id",
        "asset_type",
        "asset_url",
        "title",
        "description",
        "tags",
        "metadata",
        "created_at"
      ],
      "additionalProperties": false
    },
    "deduped": {
      "type": "boolean"
    }
  },
  "required": [
    "asset",
    "deduped"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

工具呼叫範例

這些範例使用已依結構描述檢查的虛構值。請將 ID 替換為您有權使用的 ID、將媒體替換為已就緒素材,並將日期替換為已確認的發布時間。提交寫入前,請檢查帳號資格。本頁不會傳送 API 請求。

{
  "name": "sosoapi_upload_asset",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "file_path": "./example.png",
    "idempotency_key": "example-upload-001"
  }
}

structuredContent

{
  "asset": {
    "id": 0,
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "user_id": "11111111-1111-4111-8111-111111111111",
    "asset_type": "text",
    "asset_url": null,
    "title": null,
    "description": null,
    "tags": null,
    "metadata": null,
    "created_at": "example"
  },
  "deduped": false
}
安裝或連結 MCP