Alat MCP
Buat aset
sosoapi_create_assetDaftarkan catatan aset untuk media atau teks yang sudah Anda host (asset_url, asset_type). Operasi ini tidak mengunggah apa pun: gunakan sosoapi_upload_asset untuk file lokal atau sosoapi_import_asset_url agar SosoAPI mengambil URL publik. Sertakan workspace_id (ditolak jika tidak ada setelah penargetan eksplisit diberlakukan). idempotency_key opsional.
Baca sebagai MarkdownProfil dan transport
Profil: full · Transport: stdio, http
Pilih core atau full untuk mengatur alat yang terlihat oleh klien; ini tidak mengubah izinnya. Unggahan file lokal memerlukan stdio dan tidak tersedia melalui HTTP. Atur SOSOAPI_OUTPUT_SCHEMAS=1 untuk menyertakan skema output saat penemuan. Alat mengembalikan hasil terstruktur dengan atau tanpa pengaturan itu.
Izin dan efek samping
Anotasi membantu klien menjelaskan alat. Setiap panggilan tetap memeriksa autentikasi pengguna, peran, akses sumber daya, dan izin kemampuan.
{
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false
}- /assets-api/create: agent:operate · synchronous_http_response
Kolom input
Wajib berarti wajib dalam objek induk dan cabang yang dipilih. Anak wajib tidak membuat induk opsional menjadi wajib. Aturan dan nama kolom di bawah disalin dari kontrak.
| Kolom / cabang | Jenis / wajib | Batasan |
|---|---|---|
$ | objectWajib dalam induk |
|
workspace_id | stringOpsional / item |
|
asset_type | stringWajib dalam induk |
|
asset_url | stringWajib dalam induk |
|
title | stringOpsional / item |
|
description | stringOpsional / item |
|
tags | arrayOpsional / item |
|
tags[] | stringOpsional / item |
|
metadata | objectOpsional / item | Objek JSON bebas; ukuran UTF-8 setelah serialisasi tidak boleh melebihi 16384 byte.
|
metadata.* | any JSON valueOpsional / item | — |
source | stringOpsional / item |
|
source_metadata | objectOpsional / item | Objek JSON bebas; ukuran UTF-8 setelah serialisasi tidak boleh melebihi 16384 byte.
|
source_metadata.* | any JSON valueOpsional / item | — |
idempotency_key | stringOpsional / item |
|
JSON Schema lengkap
{
"type": "object",
"properties": {
"workspace_id": {
"type": "string",
"format": "uuid"
},
"asset_type": {
"type": "string",
"enum": [
"text",
"image",
"video"
]
},
"asset_url": {
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"title": {
"type": "string",
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 2000
},
"tags": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"maxLength": 64
}
},
"metadata": {
"type": "object",
"additionalProperties": {},
"description": "Free-form JSON object; its serialized UTF-8 size must not exceed 16384 bytes."
},
"source": {
"type": "string",
"maxLength": 64
},
"source_metadata": {
"type": "object",
"additionalProperties": {},
"description": "Free-form JSON object; its serialized UTF-8 size must not exceed 16384 bytes."
},
"idempotency_key": {
"type": "string",
"minLength": 8,
"maxLength": 160
}
},
"required": [
"asset_type",
"asset_url"
],
"additionalProperties": false
}Output terstruktur
Skema ini menjelaskan structuredContent dalam hasil alat yang berhasil. Respons MCP juga menyertakan content dan dapat menetapkan isError saat panggilan gagal. Untuk publikasi, baca hasil akhir postingan alih-alih menganggap permintaan diterima atau respons teks sebagai konfirmasi. Operasi API yang ditautkan menjelaskan izin dan aturan percobaan ulang.
Wajib berarti wajib dalam objek induk dan cabang yang dipilih. Anak wajib tidak membuat induk opsional menjadi wajib. Aturan dan nama kolom di bawah disalin dari kontrak.
| Kolom / cabang | Jenis / wajib | Batasan |
|---|---|---|
$ | objectWajib dalam induk |
|
asset | objectWajib dalam induk |
|
asset.id | integer | stringWajib dalam induk | — |
asset.idanyOf 1 | integerWajib dalam induk |
|
asset.idanyOf 2 | stringWajib dalam induk | — |
asset.workspace_id | stringWajib dalam induk |
|
asset.user_id | stringWajib dalam induk |
|
asset.asset_type | stringWajib dalam induk |
|
asset.asset_url | string | nullWajib dalam induk | — |
asset.asset_urlanyOf 1 | stringWajib dalam induk | — |
asset.asset_urlanyOf 2 | nullWajib dalam induk | — |
asset.preview_url | string | nullOpsional / item | URL baca sementara sesuai kewenangan ruang kerja. Perbarui melalui pembacaan/daftar Aset setelah preview_expires_at; pertahankan asset_url sebagai identitas media persisten. — |
asset.preview_urlanyOf 1 | stringOpsional / item |
|
asset.preview_urlanyOf 2 | nullOpsional / item | — |
asset.preview_expires_at | string | nullOpsional / item | — |
asset.preview_expires_atanyOf 1 | stringOpsional / item |
|
asset.preview_expires_atanyOf 2 | nullOpsional / item | — |
asset.title | string | nullWajib dalam induk | — |
asset.titleanyOf 1 | stringWajib dalam induk | — |
asset.titleanyOf 2 | nullWajib dalam induk | — |
asset.description | string | nullWajib dalam induk | — |
asset.descriptionanyOf 1 | stringWajib dalam induk | — |
asset.descriptionanyOf 2 | nullWajib dalam induk | — |
asset.tags | array | nullWajib dalam induk | — |
asset.tagsanyOf 1 | arrayWajib dalam induk | — |
asset.tags[]anyOf 1 | stringOpsional / item | — |
asset.tagsanyOf 2 | nullWajib dalam induk | — |
asset.metadata | object | nullWajib dalam induk | — |
asset.metadataanyOf 1 | objectWajib dalam induk |
|
asset.metadata.*anyOf 1 | any JSON valueOpsional / item | — |
asset.metadataanyOf 2 | nullWajib dalam induk | — |
asset.source | string | nullOpsional / item | — |
asset.sourceanyOf 1 | stringOpsional / item | — |
asset.sourceanyOf 2 | nullOpsional / item | — |
asset.source_metadata | object | nullOpsional / item | — |
asset.source_metadataanyOf 1 | objectOpsional / item |
|
asset.source_metadata.*anyOf 1 | any JSON valueOpsional / item | — |
asset.source_metadataanyOf 2 | nullOpsional / item | — |
asset.created_at | stringWajib dalam induk | — |
asset.version | integerOpsional / item |
|
deduped | booleanWajib dalam induk | — |
JSON Schema lengkap
{
"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
}Contoh panggilan alat
Contoh ini menggunakan nilai fiktif yang diperiksa terhadap skema. Ganti ID dengan yang diizinkan bagi Anda, media dengan aset siap, dan tanggal dengan waktu publikasi yang dikonfirmasi. Periksa kelayakan akun sebelum mengirim penulisan. Halaman ini tidak mengirim permintaan API.
{
"name": "sosoapi_create_asset",
"arguments": {
"asset_type": "text",
"asset_url": "example"
}
}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
}