כלי MCP
חידוש מפתח API
sosoapi_renew_api_keyיצירת מחליף למפתח API (id) עם סוד חדש המוחזר פעם אחת ואותן יכולות והגבלת סביבת עבודה, ובאופן אופציונלי שם או תוקף חדש (עד 365 ימים, 30 למפתח שנוצר על ידי סוכן). המפתח המקורי אינו מבוטל. נדרשת הרשאת ניהול מפתחות API.
קריאה בפורמט Markdownפרופילים ואמצעי תעבורה
פרופילים: full · אמצעי תעבורה: stdio, http
בחרו core או full כדי לשלוט בכלים שהלקוח רואה; הבחירה אינה משנה את ההרשאות שלו. העלאת קבצים מקומיים דורשת stdio ואינה זמינה דרך HTTP. הגדירו SOSOAPI_OUTPUT_SCHEMAS=1 להכללת סכמות פלט בגילוי הכלים. הכלים מחזירים תוצאות מובנות עם ההגדרה הזו או בלעדיה.
הרשאות והשפעות לוואי
הערות המטא-נתונים עוזרות ללקוחות לתאר כלי. כל קריאה עדיין בודקת את אימות המשתמש, תפקידו, גישתו למשאבים והרשאות היכולות שלו.
{
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false
}- /identity-api/api-keys/renew: agent:manage_api_keys · synchronous_http_response
שדות קלט
שדה חובה נדרש בתוך אובייקט האב והענף הנבחר שלו. צאצא נדרש אינו הופך אב אופציונלי לנדרש. הכללים ושמות השדות שלהלן מועתקים מהחוזה.
| שדה / ענף | סוג / חובה | אילוצים |
|---|---|---|
$ | objectחובה באובייקט האב |
|
id | stringחובה באובייקט האב |
|
name | stringרשות / פריט |
|
lifetime_days | integerרשות / פריט | ימים עד לפקיעת המפתח המחליף (1-365, ברירת מחדל 365; עד 30 למפתח שנוצר על ידי סוכן מואצל). המחליף שומר על היכולות והגבלת סביבת העבודה של קודמו.
|
idempotency_key | stringרשות / פריט | רשות. השתמשו שוב באותו מפתח לניסיון חוזר בטוח. הסוד החדש מוצג פעם אחת: ניסיון חוזר שמוצא שהמחליף כבר נוצר מחזיר 409 IDEMPOTENT_REPLAY (details.existing_key מציין אותו). בטלו אותו וחדשו שוב עם idempotency_key חדש.
|
JSON Schema מלא
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"lifetime_days": {
"description": "Days until the successor expires (1-365, default 365; 30 at most for a key created by a delegated agent). The successor keeps the predecessor's capabilities and Workspace limit.",
"type": "integer",
"minimum": 1,
"maximum": 365
},
"idempotency_key": {
"description": "Optional. Reuse the same key to retry safely. The new secret is shown once: a retry that finds the successor already created answers 409 IDEMPOTENT_REPLAY (details.existing_key names it). Revoke it and renew again with a new idempotency_key.",
"type": "string",
"minLength": 8,
"maxLength": 160,
"pattern": "^[!-~]+$"
}
},
"required": [
"id"
],
"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רשות / פריט | — |
secret | stringחובה באובייקט האב |
|
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
},
"secret": {
"type": "string",
"minLength": 1
}
},
"required": [
"apiKey",
"secret"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}דוגמת קריאה לכלי
הדוגמאות משתמשות בערכים בדויים שנבדקו מול הסכמות. החליפו את המזהים בכאלה שאתם מורשים להשתמש בהם, את המדיה בנכסים מוכנים ואת התאריכים במועד הפרסום שאישרתם. בדקו את התאמת החשבון לפני שליחת כתיבה. העמוד הזה אינו שולח בקשות API.
{
"name": "sosoapi_renew_api_key",
"arguments": {
"id": "11111111-1111-4111-8111-111111111111"
}
}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": []
},
"secret": "example"
}