MCP-Tool
Assets abfragen
sosoapi_query_assetsFinde Workspace-Assets nach asset_type, source oder tag; liefert eine Seite (limit bis 100, plus offset) und Gesamtzahl. Übergib workspace_id ausdrücklich.
Als Markdown lesenProfile und Transporte
Profile: core, full · Transporte: stdio, http
Wähle core oder full für die sichtbaren Tools deines Clients; dies ändert keine Berechtigungen. Lokaler Dateiupload benötigt stdio und ist über HTTP nicht verfügbar. Setze SOSOAPI_OUTPUT_SCHEMAS=1 für Ausgabeschemas in der Erkennung. Tools liefern unabhängig davon strukturierte Ergebnisse.
Berechtigungen und Nebeneffekte
Annotationen helfen Clients, Tools zu beschreiben. Jeder Aufruf prüft weiterhin Authentifizierung, Rolle, Ressourcenzugriff und erteilte Funktionen des Nutzers.
{
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
}- /assets-api/list: agent:operate · synchronous_http_response
Eingabefelder
Erforderlich bedeutet innerhalb des übergeordneten Objekts und gewählten Zweigs erforderlich. Ein erforderliches Kind macht kein optionales Elternobjekt erforderlich. Regeln und Feldnamen unten stammen aus dem Vertrag.
| Feld / Variante | Typ / erforderlich | Einschränkungen |
|---|---|---|
$ | objectIm Elternobjekt erforderlich |
|
workspace_id | stringOptional / Element |
|
asset_type | string | arrayOptional / Element | — |
asset_typeanyOf 1 | stringOptional / Element |
|
asset_typeanyOf 2 | arrayOptional / Element | — |
asset_type[]anyOf 2 | stringOptional / Element |
|
source | stringOptional / Element |
|
tag | stringOptional / Element |
|
limit | integerOptional / Element |
|
offset | integerOptional / Element | Zu überspringende Zeilen. Bis 100000 unterstützt; darüber 400 OFFSET_TOO_LARGE. Bevorzuge Filter gegenüber tiefer Paginierung.
|
include_version | booleanOptional / Element | Optional. true ergänzt die Ressourcenversion in der Antwort. — |
Vollständiges JSON Schema
{
"type": "object",
"properties": {
"workspace_id": {
"type": "string",
"format": "uuid"
},
"asset_type": {
"anyOf": [
{
"type": "string",
"enum": [
"text",
"image",
"video",
"audio"
]
},
{
"type": "array",
"items": {
"type": "string",
"enum": [
"text",
"image",
"video",
"audio"
]
}
}
]
},
"source": {
"type": "string",
"maxLength": 64
},
"tag": {
"type": "string",
"maxLength": 64
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Rows to skip. Served up to 100000; beyond it 400 OFFSET_TOO_LARGE. Prefer filters to paging deep.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"include_version": {
"description": "Optional. true adds the resource version to the answer.",
"type": "boolean"
}
},
"additionalProperties": false
}Strukturierte Ausgabe
Dieses Schema beschreibt structuredContent in einem erfolgreichen Tool-Ergebnis. Die MCP-Antwort enthält auch content und kann bei fehlgeschlagenem Aufruf isError setzen. Lies bei Veröffentlichungen das endgültige Beitragsergebnis, statt eine angenommene Anfrage oder Textantwort als Bestätigung zu werten. Die verknüpfte API-Operation erklärt Berechtigungen und Wiederholungsregeln.
Erforderlich bedeutet innerhalb des übergeordneten Objekts und gewählten Zweigs erforderlich. Ein erforderliches Kind macht kein optionales Elternobjekt erforderlich. Regeln und Feldnamen unten stammen aus dem Vertrag.
| Feld / Variante | Typ / erforderlich | Einschränkungen |
|---|---|---|
$ | objectIm Elternobjekt erforderlich |
|
assets | arrayIm Elternobjekt erforderlich | — |
assets[] | objectOptional / Element |
|
assets[].id | integer | stringIm Elternobjekt erforderlich | — |
assets[].idanyOf 1 | integerIm Elternobjekt erforderlich |
|
assets[].idanyOf 2 | stringIm Elternobjekt erforderlich | — |
assets[].workspace_id | stringIm Elternobjekt erforderlich |
|
assets[].user_id | stringIm Elternobjekt erforderlich |
|
assets[].asset_type | stringIm Elternobjekt erforderlich |
|
assets[].asset_url | string | nullIm Elternobjekt erforderlich | — |
assets[].asset_urlanyOf 1 | stringIm Elternobjekt erforderlich | — |
assets[].asset_urlanyOf 2 | nullIm Elternobjekt erforderlich | — |
assets[].preview_url | string | nullOptional / Element | Temporäre Workspace-autorisierte Lese-URL. Nach preview_expires_at über Asset read/list erneuern; asset_url als dauerhafte Medienidentität behalten. — |
assets[].preview_urlanyOf 1 | stringOptional / Element |
|
assets[].preview_urlanyOf 2 | nullOptional / Element | — |
assets[].preview_expires_at | string | nullOptional / Element | — |
assets[].preview_expires_atanyOf 1 | stringOptional / Element |
|
assets[].preview_expires_atanyOf 2 | nullOptional / Element | — |
assets[].title | string | nullIm Elternobjekt erforderlich | — |
assets[].titleanyOf 1 | stringIm Elternobjekt erforderlich | — |
assets[].titleanyOf 2 | nullIm Elternobjekt erforderlich | — |
assets[].description | string | nullIm Elternobjekt erforderlich | — |
assets[].descriptionanyOf 1 | stringIm Elternobjekt erforderlich | — |
assets[].descriptionanyOf 2 | nullIm Elternobjekt erforderlich | — |
assets[].tags | array | nullIm Elternobjekt erforderlich | — |
assets[].tagsanyOf 1 | arrayIm Elternobjekt erforderlich | — |
assets[].tags[]anyOf 1 | stringOptional / Element | — |
assets[].tagsanyOf 2 | nullIm Elternobjekt erforderlich | — |
assets[].metadata | object | nullIm Elternobjekt erforderlich | — |
assets[].metadataanyOf 1 | objectIm Elternobjekt erforderlich |
|
assets[].metadata.*anyOf 1 | any JSON valueOptional / Element | — |
assets[].metadataanyOf 2 | nullIm Elternobjekt erforderlich | — |
assets[].source | string | nullOptional / Element | — |
assets[].sourceanyOf 1 | stringOptional / Element | — |
assets[].sourceanyOf 2 | nullOptional / Element | — |
assets[].source_metadata | object | nullOptional / Element | — |
assets[].source_metadataanyOf 1 | objectOptional / Element |
|
assets[].source_metadata.*anyOf 1 | any JSON valueOptional / Element | — |
assets[].source_metadataanyOf 2 | nullOptional / Element | — |
assets[].created_at | stringIm Elternobjekt erforderlich | — |
assets[].version | integerOptional / Element |
|
total | integerIm Elternobjekt erforderlich |
|
Vollständiges JSON Schema
{
"type": "object",
"properties": {
"assets": {
"type": "array",
"items": {
"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
}
},
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"assets",
"total"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Beispiel eines Tool-Aufrufs
Diese Beispiele nutzen anhand der Schemas geprüfte fiktive Werte. Ersetze IDs durch autorisierte IDs, Medien durch bereite Assets und Daten durch bestätigte Veröffentlichungszeiten. Prüfe Kontoeignung vor Schreibvorgängen. Diese Seite sendet keine API-Anfragen.
{
"name": "sosoapi_query_assets",
"arguments": {}
}structuredContent
{
"assets": [],
"total": 0
}