La recherche se charge uniquement lorsque vous l’utilisez. Parcourez toutes les catégories ci-dessous.

Outil MCP

Préparer une action communautaire

sosoapi_prepare_community_action

Lier une version d’évaluation à une action (reply, hide ou unhide) et obtenir un prepare_token de courte durée pour sosoapi_apply_community_action. N’envoie encore rien.

Lire en Markdown

Profils et transports

Profils : full · Transports : stdio, http

Choisissez core ou full pour définir les outils visibles du client ; cela ne change pas ses autorisations. Le téléversement local nécessite stdio et n’est pas disponible sur HTTP. Définissez SOSOAPI_OUTPUT_SCHEMAS=1 pour inclure les schémas de sortie à la découverte. Les outils renvoient des résultats structurés avec ou sans ce réglage.

Autorisations et effets de bord

Les annotations aident les clients à décrire un outil. Chaque appel vérifie toujours l’authentification, le rôle, l’accès aux ressources et les capacités accordées de l’utilisateur.

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

Champs d’entrée

Requis signifie requis dans l’objet parent et la branche sélectionnée. Un enfant requis ne rend pas obligatoire un parent facultatif. Les règles et noms de champs ci-dessous proviennent du contrat.

Champs d’entrée
Champ / brancheType / requisContraintes
$objectRequis dans le parent
  • additionalProperties: false
workspace_idstringRequis dans le parent
  • format: "uuid"
review_idstringRequis dans le parent
  • format: "uuid"
expected_review_versionintegerRequis dans le parent
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
actionstringRequis dans le parent
  • enum: ["reply","hide","unhide"]
reply_draftstringFacultatif / élément
  • minLength: 1
  • maxLength: 2000
idempotency_keystringRequis dans le parent
  • format: "uuid"
JSON Schema complet
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "review_id": {
      "type": "string",
      "format": "uuid"
    },
    "expected_review_version": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "action": {
      "type": "string",
      "enum": [
        "reply",
        "hide",
        "unhide"
      ]
    },
    "reply_draft": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000
    },
    "idempotency_key": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "workspace_id",
    "review_id",
    "expected_review_version",
    "action",
    "idempotency_key"
  ],
  "additionalProperties": false
}

Sortie structurée

Ce schéma décrit structuredContent dans un résultat d’outil réussi. La réponse MCP contient aussi content et peut définir isError en cas d’échec. Pour publier, lisez le résultat final de la publication plutôt que de considérer une requête acceptée ou une réponse texte comme une confirmation. L’opération API liée explique les autorisations et règles de nouvelle tentative.

Requis signifie requis dans l’objet parent et la branche sélectionnée. Un enfant requis ne rend pas obligatoire un parent facultatif. Les règles et noms de champs ci-dessous proviennent du contrat.

Sortie structurée
Champ / brancheType / requisContraintes
$objectRequis dans le parent
  • additionalProperties: false
contract_versionstringRequis dans le parent
  • const: "community-engagement/v1"
preparedobjectRequis dans le parent
  • additionalProperties: false
prepared.prepare_tokenstringRequis dans le parent
  • format: "uuid"
prepared.expires_atstringRequis dans le parent
  • 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)))$"
prepared.bindingobjectRequis dans le parent
  • additionalProperties: false
prepared.binding.workspace_idstringRequis dans le parent
  • format: "uuid"
prepared.binding.social_account_idstringRequis dans le parent
  • format: "uuid"
prepared.binding.social_post_idstringRequis dans le parent
  • format: "uuid"
prepared.binding.social_comment_idstringRequis dans le parent
  • format: "uuid"
prepared.binding.platformstringRequis dans le parent
  • enum: ["facebook","instagram","threads","youtube"]
prepared.binding.provider_post_idstringRequis dans le parent
  • minLength: 1
  • maxLength: 512
prepared.binding.provider_comment_idstringRequis dans le parent
  • minLength: 1
  • maxLength: 512
prepared.binding.actionstringRequis dans le parent
  • enum: ["reply","hide","unhide"]
prepared.binding.desired_hiddenboolean | nullRequis dans le parent—
prepared.binding.desired_hiddenanyOf 1booleanRequis dans le parent—
prepared.binding.desired_hiddenanyOf 2nullRequis dans le parent—
prepared.binding.draft_sha256stringRequis dans le parent
  • pattern: "^[a-f0-9]{64}$"
prepared.binding.idempotency_keystringRequis dans le parent
  • format: "uuid"
JSON Schema complet
{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "const": "community-engagement/v1"
    },
    "prepared": {
      "type": "object",
      "properties": {
        "prepare_token": {
          "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)))$"
        },
        "binding": {
          "type": "object",
          "properties": {
            "workspace_id": {
              "type": "string",
              "format": "uuid"
            },
            "social_account_id": {
              "type": "string",
              "format": "uuid"
            },
            "social_post_id": {
              "type": "string",
              "format": "uuid"
            },
            "social_comment_id": {
              "type": "string",
              "format": "uuid"
            },
            "platform": {
              "type": "string",
              "enum": [
                "facebook",
                "instagram",
                "threads",
                "youtube"
              ]
            },
            "provider_post_id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 512
            },
            "provider_comment_id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 512
            },
            "action": {
              "type": "string",
              "enum": [
                "reply",
                "hide",
                "unhide"
              ]
            },
            "desired_hidden": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ]
            },
            "draft_sha256": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            },
            "idempotency_key": {
              "type": "string",
              "format": "uuid"
            }
          },
          "required": [
            "workspace_id",
            "social_account_id",
            "social_post_id",
            "social_comment_id",
            "platform",
            "provider_post_id",
            "provider_comment_id",
            "action",
            "desired_hidden",
            "draft_sha256",
            "idempotency_key"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "prepare_token",
        "expires_at",
        "binding"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "contract_version",
    "prepared"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Exemple d’appel d’outil

Ces exemples utilisent des valeurs fictives vérifiées contre les schémas. Remplacez les identifiants par ceux que vous êtes autorisé à utiliser, les médias par des ressources prêtes et les dates par l’heure confirmée. Vérifiez l’éligibilité du compte avant toute écriture. Cette page n’envoie aucune requête API.

{
  "name": "sosoapi_prepare_community_action",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "review_id": "11111111-1111-4111-8111-111111111111",
    "expected_review_version": 1,
    "action": "reply",
    "idempotency_key": "11111111-1111-4111-8111-111111111111",
    "reply_draft": "Thank you for the feedback. Our team will follow up."
  }
}

structuredContent

{
  "contract_version": "community-engagement/v1",
  "prepared": {
    "prepare_token": "11111111-1111-4111-8111-111111111111",
    "expires_at": "2099-01-15T09:00:00Z",
    "binding": {
      "workspace_id": "11111111-1111-4111-8111-111111111111",
      "social_account_id": "11111111-1111-4111-8111-111111111111",
      "social_post_id": "11111111-1111-4111-8111-111111111111",
      "social_comment_id": "11111111-1111-4111-8111-111111111111",
      "platform": "facebook",
      "provider_post_id": "example",
      "provider_comment_id": "example",
      "action": "reply",
      "desired_hidden": null,
      "draft_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "idempotency_key": "11111111-1111-4111-8111-111111111111"
    }
  }
}
Installer ou connecter MCP