כלי MCP
הארכת מפתח API
sosoapi_extend_api_keyהגדרת תוקף מאוחר יותר (expires_at) למפתח API המזוהה לפי id: עד 365 ימים מעכשיו, או 30 למפתח שנוצר על ידי סוכן. סוכן יכול להאריך רק מפתחות שנוצרו תחת ההרשאה שלו. נדרשת הרשאת ניהול מפתחות API.
קריאה בפורמט Markdownפרופילים ואמצעי תעבורה
פרופילים: full · אמצעי תעבורה: stdio, http
בחרו core או full כדי לשלוט בכלים שהלקוח רואה; הבחירה אינה משנה את ההרשאות שלו. העלאת קבצים מקומיים דורשת stdio ואינה זמינה דרך HTTP. הגדירו SOSOAPI_OUTPUT_SCHEMAS=1 להכללת סכמות פלט בגילוי הכלים. הכלים מחזירים תוצאות מובנות עם ההגדרה הזו או בלעדיה.
הרשאות והשפעות לוואי
הערות המטא-נתונים עוזרות ללקוחות לתאר כלי. כל קריאה עדיין בודקת את אימות המשתמש, תפקידו, גישתו למשאבים והרשאות היכולות שלו.
{
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
}- /identity-api/api-keys/extend: agent:manage_api_keys · synchronous_http_response
שדות קלט
שדה חובה נדרש בתוך אובייקט האב והענף הנבחר שלו. צאצא נדרש אינו הופך אב אופציונלי לנדרש. הכללים ושמות השדות שלהלן מועתקים מהחוזה.
| שדה / ענף | סוג / חובה | אילוצים |
|---|---|---|
$ | objectחובה באובייקט האב |
|
id | stringחובה באובייקט האב |
|
expires_at | stringחובה באובייקט האב | מועד פקיעה מוחלט חדש מבוקש. התוקף המרבי הוא 365 ימים מעכשיו, או 30 ימים למפתח שנוצר על ידי סוכן מואצל. אדם מחובר שמאריך את המפתח שלו מקבל את התוקף המרבי הזה כשהוא מבקש מועד מאוחר יותר (עד 3,650 ימים מעכשיו); בכל מקרה אחר מועד מאוחר יותר נדחה עם API_KEY_LIFETIME_EXCEEDS_CAP. התגובה כוללת את התוקף שהוחל בפועל.
|
JSON Schema מלא
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"expires_at": {
"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "Requested new absolute expiry. The longest lifetime is 365 days from now, or 30 days for a key created by a delegated agent. A signed-in person extending their own key is granted that longest lifetime when they ask for a later time (up to 3,650 days from now); in every other case a later time is refused with API_KEY_LIFETIME_EXCEEDS_CAP. The response carries the expiry actually applied."
}
},
"required": [
"id",
"expires_at"
],
"additionalProperties": false
}פלט מובנה
הסכמה מתארת את structuredContent בתוצאת כלי מוצלחת. תגובת MCP כוללת גם content ועשויה להגדיר isError כשקריאה נכשלת. בפרסום, קראו את התוצאה הסופית של הפוסט במקום לראות בבקשה שהתקבלה או בתגובת טקסט אישור. פעולת ה-API המקושרת מסבירה הרשאות וכללי ניסיון חוזר.
שדה חובה נדרש בתוך אובייקט האב והענף הנבחר שלו. צאצא נדרש אינו הופך אב אופציונלי לנדרש. הכללים ושמות השדות שלהלן מועתקים מהחוזה.
| שדה / ענף | סוג / חובה | אילוצים |
|---|---|---|
$ | objectחובה באובייקט האב |
|
apiKey | objectחובה באובייקט האב |
|
apiKey.id | stringחובה באובייקט האב |
|
apiKey.name | stringחובה באובייקט האב | — |
apiKey.last_4 | stringחובה באובייקט האב | — |
apiKey.scopes | arrayחובה באובייקט האב | — |
apiKey.scopes[] | stringרשות / פריט | — |
apiKey.created_at | stringחובה באובייקט האב |
|
apiKey.expires_at | string | nullחובה באובייקט האב | — |
apiKey.expires_atanyOf 1 | stringחובה באובייקט האב |
|
apiKey.expires_atanyOf 2 | nullחובה באובייקט האב | — |
apiKey.last_used_at | string | nullחובה באובייקט האב | — |
apiKey.last_used_atanyOf 1 | stringחובה באובייקט האב |
|
apiKey.last_used_atanyOf 2 | nullחובה באובייקט האב | — |
apiKey.revoked_at | string | nullחובה באובייקט האב | — |
apiKey.revoked_atanyOf 1 | stringחובה באובייקט האב |
|
apiKey.revoked_atanyOf 2 | nullחובה באובייקט האב | — |
apiKey.status | stringחובה באובייקט האב |
|
apiKey.replaces | object | nullחובה באובייקט האב | — |
apiKey.replacesanyOf 1 | objectחובה באובייקט האב |
|
apiKey.replaces.idanyOf 1 | stringחובה באובייקט האב |
|
apiKey.replaces.nameanyOf 1 | stringחובה באובייקט האב | — |
apiKey.replaces.last_4anyOf 1 | stringחובה באובייקט האב | — |
apiKey.replaces.statusanyOf 1 | stringחובה באובייקט האב |
|
apiKey.replacesanyOf 2 | nullחובה באובייקט האב | — |
apiKey.replaced_by | arrayחובה באובייקט האב | — |
apiKey.replaced_by[] | objectרשות / פריט |
|
apiKey.replaced_by[].id | stringחובה באובייקט האב |
|
apiKey.replaced_by[].name | stringחובה באובייקט האב | — |
apiKey.replaced_by[].last_4 | stringחובה באובייקט האב | — |
apiKey.replaced_by[].status | stringחובה באובייקט האב |
|
apiKey.capabilities | arrayרשות / פריט | — |
apiKey.capabilities[] | stringרשות / פריט |
|
apiKey.workspace_ids | array | nullרשות / פריט | — |
apiKey.workspace_idsanyOf 1 | arrayרשות / פריט | — |
apiKey.workspace_ids[]anyOf 1 | stringרשות / פריט |
|
apiKey.workspace_idsanyOf 2 | nullרשות / פריט | — |
apiKey.created_by_delegated_grant_id | string | nullרשות / פריט | — |
apiKey.created_by_delegated_grant_idanyOf 1 | stringרשות / פריט |
|
apiKey.created_by_delegated_grant_idanyOf 2 | nullרשות / פריט | — |
idempotent | booleanחובה באובייקט האב | — |
JSON Schema מלא
{
"type": "object",
"properties": {
"apiKey": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"last_4": {
"type": "string"
},
"scopes": {
"type": "array",
"items": {
"type": "string"
}
},
"created_at": {
"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"last_used_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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"revoked_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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"active",
"expired",
"revoked"
]
},
"replaces": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"last_4": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"active",
"expired",
"revoked"
]
}
},
"required": [
"id",
"name",
"last_4",
"status"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"replaced_by": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"last_4": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"active",
"expired",
"revoked"
]
}
},
"required": [
"id",
"name",
"last_4",
"status"
],
"additionalProperties": false
}
},
"capabilities": {
"type": "array",
"items": {
"type": "string",
"enum": [
"agent:operate",
"agent:publish",
"agent:engage"
]
}
},
"workspace_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
{
"type": "null"
}
]
},
"created_by_delegated_grant_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"last_4",
"scopes",
"created_at",
"expires_at",
"last_used_at",
"revoked_at",
"status",
"replaces",
"replaced_by"
],
"additionalProperties": false
},
"idempotent": {
"type": "boolean"
}
},
"required": [
"apiKey",
"idempotent"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}דוגמת קריאה לכלי
הדוגמאות משתמשות בערכים בדויים שנבדקו מול הסכמות. החליפו את המזהים בכאלה שאתם מורשים להשתמש בהם, את המדיה בנכסים מוכנים ואת התאריכים במועד הפרסום שאישרתם. בדקו את התאמת החשבון לפני שליחת כתיבה. העמוד הזה אינו שולח בקשות API.
{
"name": "sosoapi_extend_api_key",
"arguments": {
"id": "11111111-1111-4111-8111-111111111111",
"expires_at": "2099-01-15T09:00:00Z"
}
}structuredContent
{
"apiKey": {
"id": "11111111-1111-4111-8111-111111111111",
"name": "example",
"last_4": "example",
"scopes": [],
"created_at": "2099-01-15T09:00:00Z",
"expires_at": null,
"last_used_at": null,
"revoked_at": null,
"status": "active",
"replaces": null,
"replaced_by": []
},
"idempotent": false
}