MCP-verktyg
Skapa mediefil
sosoapi_create_assetRegistrera en mediefilspost för medier eller text som du redan lagrar (asset_url, asset_type). Detta laddar inte upp något: använd sosoapi_upload_asset för en lokal fil eller sosoapi_import_asset_url för att låta SosoAPI hämta en offentlig URL. Ange workspace_id (avvisas utan detta när uttryckligt målval tillämpas). Valfri idempotency_key.
Läs som MarkdownProfiler och transporter
Profiler: full · Transporter: stdio, http
Välj core eller full för att styra vilka verktyg klienten ser; detta ändrar inte dess behörigheter. Lokal filuppladdning kräver stdio och är inte tillgänglig via HTTP. Ange SOSOAPI_OUTPUT_SCHEMAS=1 för att inkludera utdatascheman vid identifiering. Verktygen returnerar strukturerade resultat med eller utan inställningen.
Behörigheter och sidoeffekter
Annoteringar hjälper klienter att beskriva ett verktyg. Varje anrop kontrollerar fortfarande användarens autentisering, roll, resursåtkomst och tilldelade funktionsbehörigheter.
{
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false
}- /assets-api/create: agent:operate · synchronous_http_response
Indatafält
Obligatoriskt betyder obligatoriskt inom sitt överordnade objekt och vald gren. Ett obligatoriskt underfält gör inte ett valfritt överordnat objekt obligatoriskt. Regler och fältnamn nedan kopieras från kontraktet.
| Fält / gren | Typ / obligatoriskt | Begränsningar |
|---|---|---|
$ | objectObligatoriskt i överordnat objekt |
|
workspace_id | stringValfritt / objekt |
|
asset_type | stringObligatoriskt i överordnat objekt |
|
asset_url | stringObligatoriskt i överordnat objekt |
|
title | stringValfritt / objekt |
|
description | stringValfritt / objekt |
|
tags | arrayValfritt / objekt |
|
tags[] | stringValfritt / objekt |
|
metadata | objectValfritt / objekt | Fritt JSON-objekt; dess serialiserade UTF-8-storlek får inte överstiga 16384 byte.
|
metadata.* | any JSON valueValfritt / objekt | — |
source | stringValfritt / objekt |
|
source_metadata | objectValfritt / objekt | Fritt JSON-objekt; dess serialiserade UTF-8-storlek får inte överstiga 16384 byte.
|
source_metadata.* | any JSON valueValfritt / objekt | — |
idempotency_key | stringValfritt / objekt |
|
Fullständigt JSON Schema
{
"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
}Strukturerat resultat
Detta schema beskriver structuredContent i ett lyckat verktygsresultat. MCP-svaret innehåller även content och kan ange isError när ett anrop misslyckas. För publicering ska du läsa inläggets slutresultat i stället för att tolka en accepterad begäran eller ett textsvar som bekräftelse. Den länkade API-åtgärden förklarar behörigheter och regler för nya försök.
Obligatoriskt betyder obligatoriskt inom sitt överordnade objekt och vald gren. Ett obligatoriskt underfält gör inte ett valfritt överordnat objekt obligatoriskt. Regler och fältnamn nedan kopieras från kontraktet.
| Fält / gren | Typ / obligatoriskt | Begränsningar |
|---|---|---|
$ | objectObligatoriskt i överordnat objekt |
|
asset | objectObligatoriskt i överordnat objekt |
|
asset.id | integer | stringObligatoriskt i överordnat objekt | — |
asset.idanyOf 1 | integerObligatoriskt i överordnat objekt |
|
asset.idanyOf 2 | stringObligatoriskt i överordnat objekt | — |
asset.workspace_id | stringObligatoriskt i överordnat objekt |
|
asset.user_id | stringObligatoriskt i överordnat objekt |
|
asset.asset_type | stringObligatoriskt i överordnat objekt |
|
asset.asset_url | string | nullObligatoriskt i överordnat objekt | — |
asset.asset_urlanyOf 1 | stringObligatoriskt i överordnat objekt | — |
asset.asset_urlanyOf 2 | nullObligatoriskt i överordnat objekt | — |
asset.preview_url | string | nullValfritt / objekt | Tillfällig läs-URL med arbetsytebehörighet. Förnya genom Asset read/list efter preview_expires_at; behåll asset_url som beständig medieidentitet. — |
asset.preview_urlanyOf 1 | stringValfritt / objekt |
|
asset.preview_urlanyOf 2 | nullValfritt / objekt | — |
asset.preview_expires_at | string | nullValfritt / objekt | — |
asset.preview_expires_atanyOf 1 | stringValfritt / objekt |
|
asset.preview_expires_atanyOf 2 | nullValfritt / objekt | — |
asset.title | string | nullObligatoriskt i överordnat objekt | — |
asset.titleanyOf 1 | stringObligatoriskt i överordnat objekt | — |
asset.titleanyOf 2 | nullObligatoriskt i överordnat objekt | — |
asset.description | string | nullObligatoriskt i överordnat objekt | — |
asset.descriptionanyOf 1 | stringObligatoriskt i överordnat objekt | — |
asset.descriptionanyOf 2 | nullObligatoriskt i överordnat objekt | — |
asset.tags | array | nullObligatoriskt i överordnat objekt | — |
asset.tagsanyOf 1 | arrayObligatoriskt i överordnat objekt | — |
asset.tags[]anyOf 1 | stringValfritt / objekt | — |
asset.tagsanyOf 2 | nullObligatoriskt i överordnat objekt | — |
asset.metadata | object | nullObligatoriskt i överordnat objekt | — |
asset.metadataanyOf 1 | objectObligatoriskt i överordnat objekt |
|
asset.metadata.*anyOf 1 | any JSON valueValfritt / objekt | — |
asset.metadataanyOf 2 | nullObligatoriskt i överordnat objekt | — |
asset.source | string | nullValfritt / objekt | — |
asset.sourceanyOf 1 | stringValfritt / objekt | — |
asset.sourceanyOf 2 | nullValfritt / objekt | — |
asset.source_metadata | object | nullValfritt / objekt | — |
asset.source_metadataanyOf 1 | objectValfritt / objekt |
|
asset.source_metadata.*anyOf 1 | any JSON valueValfritt / objekt | — |
asset.source_metadataanyOf 2 | nullValfritt / objekt | — |
asset.created_at | stringObligatoriskt i överordnat objekt | — |
asset.version | integerValfritt / objekt |
|
deduped | booleanObligatoriskt i överordnat objekt | — |
Fullständigt 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
}Exempel på verktygsanrop
Exemplen använder fiktiva värden som kontrollerats mot schemana. Ersätt ID:n med sådana du får använda, medier med färdiga mediefiler och datum med din bekräftade publiceringstid. Kontrollera kontots behörighet före en skrivning. Denna sida skickar inga API-anrop.
{
"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
}