A keresés csak használatkor töltődik be. Alább minden kategória böngészhető.

MCP-eszköz

API-kulcs létrehozása

sosoapi_create_api_key

Személyes hozzáférési kulcs létrehozása választott képességekkel (agent:operate, agent:publish, agent:engage), opcionális workspace_ids korláttal és legfeljebb 365 napos élettartammal; a titkos értéket egyszer adja vissza, később nem olvasható. Az ügynök csak a saját felhatalmazását adhatja tovább legfeljebb 30 napra, és a kulcs az engedély lejártakor leáll. API-kulcsok kezelésére szóló engedély kell; PAT nem használhatja.

Olvasás Markdown formátumban

Profilok és átviteli módok

Profilok: full · Átviteli módok: stdio, http

A core vagy full profillal szabályozhatod a kliens által látható eszközöket; ez nem változtat engedélyt. Helyi fájlfeltöltéshez stdio kell, HTTP-n nem elérhető. A SOSOAPI_OUTPUT_SCHEMAS=1 kimeneti sémákat ad a felderítéshez. Az eszközök e beállítással és nélküle is strukturált eredményt adnak.

Engedélyek és mellékhatások

A jelölések segítenek a kliensnek leírni az eszközt. Minden hívás továbbra is ellenőrzi a felhasználó hitelesítését, szerepkörét, erőforrás-hozzáférését és képességengedélyeit.

{
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}

Bemeneti mezők

A kötelező jelölés a szülőobjektumon és a kiválasztott ágon belül érvényes. A kötelező gyermek nem teszi kötelezővé az opcionális szülőt. Az alábbi szabályok és mezőnevek a szerződésből származnak.

Bemeneti mezők
Mező / ágTípus / kötelezőKorlátok
$objectA szülőn belül kötelező
  • additionalProperties: false
namestringA szülőn belül kötelező
  • minLength: 1
  • maxLength: 80
lifetime_daysintegerOpcionális / elem

Napok a kulcs lejáratáig (1-365, alapérték 365). Delegált ügynök kulcsa soha nem élhet 30 napnál tovább.

  • minimum: 1
  • maximum: 365
capabilitiesarrayOpcionális / elem

A kulcs megengedett műveletei. Bejelentkezett felhasználónál az alapérték operate, publish és engage. A delegált ügynök csak a saját felhatalmazását adhatja tovább (kulcskezelést soha).

  • minItems: 1
  • maxItems: 3
capabilities[]stringOpcionális / elem
  • enum: ["agent:operate","agent:publish","agent:engage"]
workspace_idsarrayOpcionális / elem

Korlátozd a kulcsot ezekre a munkaterületekre. Kihagyva a felhasználó minden elérhető munkaterületére érvényes. A korlátozott kulcsnak az egyébként aktív munkaterületet használó útvonalakon meg kell neveznie a workspace_id értékét, és nem hívhat szervezetszintű olvasásokat.

  • minItems: 1
  • maxItems: 100
workspace_ids[]stringOpcionális / elem
  • format: "uuid"
scopesarrayOpcionális / elem

A capabilities elavult aliasa. Pontosan figyelembe veszi; az üres listát figyelmen kívül hagyja.

  • maxItems: 3
scopes[]stringOpcionális / elem
  • enum: ["agent:operate","agent:publish","agent:engage"]
idempotency_keystringOpcionális / elem

Opcionális. Biztonságos újrapróbáláshoz ugyanazt a kulcsot használd. A titkos érték egyszer látható: ha az újrapróbálás már létrehozott kulcsot talál, 409 IDEMPOTENT_REPLAY választ ad (a details.existing_key nevezi meg), nem mutatja meg újra. Vond vissza azt a kulcsot, és új idempotency_key értékkel hozz létre újat.

  • minLength: 8
  • maxLength: 160
  • pattern: "^[!-~]+$"
Teljes JSON Schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "lifetime_days": {
      "description": "Days until the key expires (1-365, default 365). A key created by a delegated agent never lives longer than 30 days.",
      "type": "integer",
      "minimum": 1,
      "maximum": 365
    },
    "capabilities": {
      "description": "What the key may do. Defaults to operate, publish and engage for a signed-in user. A delegated agent can only grant what its own authorization holds (never key management).",
      "minItems": 1,
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "agent:operate",
          "agent:publish",
          "agent:engage"
        ]
      }
    },
    "workspace_ids": {
      "description": "Limit the key to these Workspaces. Omit it for every Workspace the user can access. A limited key must name its Workspace (workspace_id) on routes that would otherwise use the active Workspace, and cannot call organization-wide reads.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    },
    "scopes": {
      "description": "Deprecated alias of capabilities. It is honoured exactly; an empty list is ignored.",
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "agent:operate",
          "agent:publish",
          "agent:engage"
        ]
      }
    },
    "idempotency_key": {
      "description": "Optional. Reuse the same key to retry safely. The secret is shown once: a retry that finds the key already created answers 409 IDEMPOTENT_REPLAY (details.existing_key names it) instead of showing it again. Revoke that key and create a new one with a new idempotency_key.",
      "type": "string",
      "minLength": 8,
      "maxLength": 160,
      "pattern": "^[!-~]+$"
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false
}

Strukturált kimenet

Ez a séma egy sikeres eszközeredmény structuredContent mezőjét írja le. Az MCP-válasz content mezőt is tartalmaz, és sikertelen hívásnál isError értéket állíthat be. Közzétételnél a bejegyzés végső eredményét olvasd el; ne tekintsd az elfogadott kérést vagy szöveges választ megerősítésnek. A kapcsolódó API-művelet ismerteti az engedélyeket és újrapróbálási szabályokat.

A kötelező jelölés a szülőobjektumon és a kiválasztott ágon belül érvényes. A kötelező gyermek nem teszi kötelezővé az opcionális szülőt. Az alábbi szabályok és mezőnevek a szerződésből származnak.

Strukturált kimenet
Mező / ágTípus / kötelezőKorlátok
$objectA szülőn belül kötelező
  • additionalProperties: false
apiKeyobjectA szülőn belül kötelező
  • additionalProperties: false
apiKey.idstringA szülőn belül kötelező
  • format: "uuid"
apiKey.namestringA szülőn belül kötelező—
apiKey.last_4stringA szülőn belül kötelező—
apiKey.scopesarrayA szülőn belül kötelező—
apiKey.scopes[]stringOpcionális / elem—
apiKey.created_atstringA szülőn belül kötelező
  • 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)))$"
apiKey.expires_atstring | nullA szülőn belül kötelező—
apiKey.expires_atanyOf 1stringA szülőn belül kötelező
  • 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)))$"
apiKey.expires_atanyOf 2nullA szülőn belül kötelező—
apiKey.last_used_atstring | nullA szülőn belül kötelező—
apiKey.last_used_atanyOf 1stringA szülőn belül kötelező
  • 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)))$"
apiKey.last_used_atanyOf 2nullA szülőn belül kötelező—
apiKey.revoked_atstring | nullA szülőn belül kötelező—
apiKey.revoked_atanyOf 1stringA szülőn belül kötelező
  • 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)))$"
apiKey.revoked_atanyOf 2nullA szülőn belül kötelező—
apiKey.statusstringA szülőn belül kötelező
  • enum: ["active","expired","revoked"]
apiKey.replacesobject | nullA szülőn belül kötelező—
apiKey.replacesanyOf 1objectA szülőn belül kötelező
  • additionalProperties: false
apiKey.replaces.idanyOf 1stringA szülőn belül kötelező
  • format: "uuid"
apiKey.replaces.nameanyOf 1stringA szülőn belül kötelező—
apiKey.replaces.last_4anyOf 1stringA szülőn belül kötelező—
apiKey.replaces.statusanyOf 1stringA szülőn belül kötelező
  • enum: ["active","expired","revoked"]
apiKey.replacesanyOf 2nullA szülőn belül kötelező—
apiKey.replaced_byarrayA szülőn belül kötelező—
apiKey.replaced_by[]objectOpcionális / elem
  • additionalProperties: false
apiKey.replaced_by[].idstringA szülőn belül kötelező
  • format: "uuid"
apiKey.replaced_by[].namestringA szülőn belül kötelező—
apiKey.replaced_by[].last_4stringA szülőn belül kötelező—
apiKey.replaced_by[].statusstringA szülőn belül kötelező
  • enum: ["active","expired","revoked"]
apiKey.capabilitiesarrayOpcionális / elem—
apiKey.capabilities[]stringOpcionális / elem
  • enum: ["agent:operate","agent:publish","agent:engage"]
apiKey.workspace_idsarray | nullOpcionális / elem—
apiKey.workspace_idsanyOf 1arrayOpcionális / elem—
apiKey.workspace_ids[]anyOf 1stringOpcionális / elem
  • format: "uuid"
apiKey.workspace_idsanyOf 2nullOpcionális / elem—
apiKey.created_by_delegated_grant_idstring | nullOpcionális / elem—
apiKey.created_by_delegated_grant_idanyOf 1stringOpcionális / elem
  • format: "uuid"
apiKey.created_by_delegated_grant_idanyOf 2nullOpcionális / elem—
secretstringA szülőn belül kötelező
  • minLength: 1
Teljes 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
}

Példa eszközhívás

A példák sémákkal ellenőrzött képzeletbeli értékeket használnak. Az azonosítókat engedélyezettekre, a médiát kész tartalomelemekre, a dátumokat megerősített közzétételi időpontra cseréld. Írás beküldése előtt ellenőrizd a fiók jogosultságát. Ez az oldal nem küld API-kérést.

{
  "name": "sosoapi_create_api_key",
  "arguments": {
    "name": "example"
  }
}

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"
}
MCP telepítése vagy csatlakoztatása