Die Suche lädt erst bei Nutzung. Durchsuche unten alle Kategorien.

MCP-Tool

Asset erstellen

sosoapi_create_asset

Registriere ein Asset für bereits gehostete Medien oder Texte (asset_url, asset_type). Lädt nichts hoch: Nutze sosoapi_upload_asset für lokale Dateien oder sosoapi_import_asset_url, damit SosoAPI eine öffentliche URL abruft. Übergib workspace_id (nach erzwungener expliziter Zielangabe ohne dieses abgelehnt). Optionaler idempotency_key.

Als Markdown lesen

Profile und Transporte

Profile: 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": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}

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.

Eingabefelder
Feld / VarianteTyp / erforderlichEinschränkungen
$objectIm Elternobjekt erforderlich
  • additionalProperties: false
workspace_idstringOptional / Element
  • format: "uuid"
asset_typestringIm Elternobjekt erforderlich
  • enum: ["text","image","video"]
asset_urlstringIm Elternobjekt erforderlich
  • minLength: 1
  • maxLength: 2048
titlestringOptional / Element
  • maxLength: 200
descriptionstringOptional / Element
  • maxLength: 2000
tagsarrayOptional / Element
  • maxItems: 50
tags[]stringOptional / Element
  • maxLength: 64
metadataobjectOptional / Element

Freies JSON-Objekt; seine serialisierte UTF-8-Größe darf 16384 Bytes nicht überschreiten.

  • additionalProperties: {}
metadata.*any JSON valueOptional / Element—
sourcestringOptional / Element
  • maxLength: 64
source_metadataobjectOptional / Element

Freies JSON-Objekt; seine serialisierte UTF-8-Größe darf 16384 Bytes nicht überschreiten.

  • additionalProperties: {}
source_metadata.*any JSON valueOptional / Element—
idempotency_keystringOptional / Element
  • minLength: 8
  • maxLength: 160
Vollständiges 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
}

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.

Strukturierte Ausgabe
Feld / VarianteTyp / erforderlichEinschränkungen
$objectIm Elternobjekt erforderlich
  • additionalProperties: false
assetobjectIm Elternobjekt erforderlich
  • additionalProperties: false
asset.idinteger | stringIm Elternobjekt erforderlich—
asset.idanyOf 1integerIm Elternobjekt erforderlich
  • minimum: -9007199254740991
  • maximum: 9007199254740991
asset.idanyOf 2stringIm Elternobjekt erforderlich—
asset.workspace_idstringIm Elternobjekt erforderlich
  • format: "uuid"
asset.user_idstringIm Elternobjekt erforderlich
  • format: "uuid"
asset.asset_typestringIm Elternobjekt erforderlich
  • enum: ["text","image","video","audio"]
asset.asset_urlstring | nullIm Elternobjekt erforderlich—
asset.asset_urlanyOf 1stringIm Elternobjekt erforderlich—
asset.asset_urlanyOf 2nullIm Elternobjekt erforderlich—
asset.preview_urlstring | nullOptional / Element

Temporäre Workspace-autorisierte Lese-URL. Nach preview_expires_at über Asset read/list erneuern; asset_url als dauerhafte Medienidentität behalten.

—
asset.preview_urlanyOf 1stringOptional / Element
  • format: "uri"
asset.preview_urlanyOf 2nullOptional / Element—
asset.preview_expires_atstring | nullOptional / Element—
asset.preview_expires_atanyOf 1stringOptional / Element
  • 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 2nullOptional / Element—
asset.titlestring | nullIm Elternobjekt erforderlich—
asset.titleanyOf 1stringIm Elternobjekt erforderlich—
asset.titleanyOf 2nullIm Elternobjekt erforderlich—
asset.descriptionstring | nullIm Elternobjekt erforderlich—
asset.descriptionanyOf 1stringIm Elternobjekt erforderlich—
asset.descriptionanyOf 2nullIm Elternobjekt erforderlich—
asset.tagsarray | nullIm Elternobjekt erforderlich—
asset.tagsanyOf 1arrayIm Elternobjekt erforderlich—
asset.tags[]anyOf 1stringOptional / Element—
asset.tagsanyOf 2nullIm Elternobjekt erforderlich—
asset.metadataobject | nullIm Elternobjekt erforderlich—
asset.metadataanyOf 1objectIm Elternobjekt erforderlich
  • additionalProperties: {}
asset.metadata.*anyOf 1any JSON valueOptional / Element—
asset.metadataanyOf 2nullIm Elternobjekt erforderlich—
asset.sourcestring | nullOptional / Element—
asset.sourceanyOf 1stringOptional / Element—
asset.sourceanyOf 2nullOptional / Element—
asset.source_metadataobject | nullOptional / Element—
asset.source_metadataanyOf 1objectOptional / Element
  • additionalProperties: {}
asset.source_metadata.*anyOf 1any JSON valueOptional / Element—
asset.source_metadataanyOf 2nullOptional / Element—
asset.created_atstringIm Elternobjekt erforderlich—
asset.versionintegerOptional / Element
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
dedupedbooleanIm Elternobjekt erforderlich—
Vollständiges 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
}

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_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
}
MCP installieren oder verbinden