כלי MCP
יצירת נכס
sosoapi_create_assetרישום רשומת נכס עבור מדיה או טקסט שכבר מאוחסנים אצלכם (asset_url, asset_type). הפעולה אינה מעלה דבר: השתמשו ב-sosoapi_upload_asset לקובץ מקומי או ב-sosoapi_import_asset_url כדי ש-SosoAPI ימשוך URL ציבורי. העבירו workspace_id (הבקשה תידחה בלעדיו לאחר אכיפת יעד מפורש). idempotency_key אופציונלי.
קריאה בפורמט Markdownפרופילים ואמצעי תעבורה
פרופילים: full · אמצעי תעבורה: stdio, http
בחרו core או full כדי לשלוט בכלים שהלקוח רואה; הבחירה אינה משנה את ההרשאות שלו. העלאת קבצים מקומיים דורשת stdio ואינה זמינה דרך HTTP. הגדירו SOSOAPI_OUTPUT_SCHEMAS=1 להכללת סכמות פלט בגילוי הכלים. הכלים מחזירים תוצאות מובנות עם ההגדרה הזו או בלעדיה.
הרשאות והשפעות לוואי
הערות המטא-נתונים עוזרות ללקוחות לתאר כלי. כל קריאה עדיין בודקת את אימות המשתמש, תפקידו, גישתו למשאבים והרשאות היכולות שלו.
{
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false
}- /assets-api/create: agent:operate · synchronous_http_response
שדות קלט
שדה חובה נדרש בתוך אובייקט האב והענף הנבחר שלו. צאצא נדרש אינו הופך אב אופציונלי לנדרש. הכללים ושמות השדות שלהלן מועתקים מהחוזה.
| שדה / ענף | סוג / חובה | אילוצים |
|---|---|---|
$ | objectחובה באובייקט האב |
|
workspace_id | stringרשות / פריט |
|
asset_type | stringחובה באובייקט האב |
|
asset_url | stringחובה באובייקט האב |
|
title | stringרשות / פריט |
|
description | stringרשות / פריט |
|
tags | arrayרשות / פריט |
|
tags[] | stringרשות / פריט |
|
metadata | objectרשות / פריט | אובייקט JSON חופשי; הגודל המסודר שלו ב-UTF-8 לא יעלה על 16384 בתים.
|
metadata.* | any JSON valueרשות / פריט | — |
source | stringרשות / פריט |
|
source_metadata | objectרשות / פריט | אובייקט JSON חופשי; הגודל המסודר שלו ב-UTF-8 לא יעלה על 16384 בתים.
|
source_metadata.* | any JSON valueרשות / פריט | — |
idempotency_key | stringרשות / פריט |
|
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
}פלט מובנה
הסכמה מתארת את structuredContent בתוצאת כלי מוצלחת. תגובת MCP כוללת גם content ועשויה להגדיר isError כשקריאה נכשלת. בפרסום, קראו את התוצאה הסופית של הפוסט במקום לראות בבקשה שהתקבלה או בתגובת טקסט אישור. פעולת ה-API המקושרת מסבירה הרשאות וכללי ניסיון חוזר.
שדה חובה נדרש בתוך אובייקט האב והענף הנבחר שלו. צאצא נדרש אינו הופך אב אופציונלי לנדרש. הכללים ושמות השדות שלהלן מועתקים מהחוזה.
| שדה / ענף | סוג / חובה | אילוצים |
|---|---|---|
$ | objectחובה באובייקט האב |
|
asset | objectחובה באובייקט האב |
|
asset.id | integer | stringחובה באובייקט האב | — |
asset.idanyOf 1 | integerחובה באובייקט האב |
|
asset.idanyOf 2 | stringחובה באובייקט האב | — |
asset.workspace_id | stringחובה באובייקט האב |
|
asset.user_id | stringחובה באובייקט האב |
|
asset.asset_type | stringחובה באובייקט האב |
|
asset.asset_url | string | nullחובה באובייקט האב | — |
asset.asset_urlanyOf 1 | stringחובה באובייקט האב | — |
asset.asset_urlanyOf 2 | nullחובה באובייקט האב | — |
asset.preview_url | string | nullרשות / פריט | URL זמני לקריאה בהרשאת סביבת העבודה. רעננו דרך קריאת נכס/רשימת נכסים לאחר preview_expires_at; שמרו את asset_url כזהות המדיה הנשמרת. — |
asset.preview_urlanyOf 1 | stringרשות / פריט |
|
asset.preview_urlanyOf 2 | nullרשות / פריט | — |
asset.preview_expires_at | string | nullרשות / פריט | — |
asset.preview_expires_atanyOf 1 | stringרשות / פריט |
|
asset.preview_expires_atanyOf 2 | nullרשות / פריט | — |
asset.title | string | nullחובה באובייקט האב | — |
asset.titleanyOf 1 | stringחובה באובייקט האב | — |
asset.titleanyOf 2 | nullחובה באובייקט האב | — |
asset.description | string | nullחובה באובייקט האב | — |
asset.descriptionanyOf 1 | stringחובה באובייקט האב | — |
asset.descriptionanyOf 2 | nullחובה באובייקט האב | — |
asset.tags | array | nullחובה באובייקט האב | — |
asset.tagsanyOf 1 | arrayחובה באובייקט האב | — |
asset.tags[]anyOf 1 | stringרשות / פריט | — |
asset.tagsanyOf 2 | nullחובה באובייקט האב | — |
asset.metadata | object | nullחובה באובייקט האב | — |
asset.metadataanyOf 1 | objectחובה באובייקט האב |
|
asset.metadata.*anyOf 1 | any JSON valueרשות / פריט | — |
asset.metadataanyOf 2 | nullחובה באובייקט האב | — |
asset.source | string | nullרשות / פריט | — |
asset.sourceanyOf 1 | stringרשות / פריט | — |
asset.sourceanyOf 2 | nullרשות / פריט | — |
asset.source_metadata | object | nullרשות / פריט | — |
asset.source_metadataanyOf 1 | objectרשות / פריט |
|
asset.source_metadata.*anyOf 1 | any JSON valueרשות / פריט | — |
asset.source_metadataanyOf 2 | nullרשות / פריט | — |
asset.created_at | stringחובה באובייקט האב | — |
asset.version | integerרשות / פריט |
|
deduped | booleanחובה באובייקט האב | — |
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
}דוגמת קריאה לכלי
הדוגמאות משתמשות בערכים בדויים שנבדקו מול הסכמות. החליפו את המזהים בכאלה שאתם מורשים להשתמש בהם, את המדיה בנכסים מוכנים ואת התאריכים במועד הפרסום שאישרתם. בדקו את התאמת החשבון לפני שליחת כתיבה. העמוד הזה אינו שולח בקשות 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
}