Préférences de confidentialité

Fonctions nécessaires

Nécessaires à la sécurité et aux fonctions de base du site.

Toujours activées

Diagnostics Landing et enregistrement avec masquage

Mesure les visites publiques, les abandons et les interactions avec les liens d’inscription à l’aide d’un identifiant anonyme limité à cet onglet, sans lien avec un compte. Tout le texte est masqué et les formulaires sont bloqués.

Statistiques d’utilisation facultatives

Autoriser les statistiques d’utilisation PostHog ? Modifiez votre choix à tout moment dans le pied de page.

Autoriser aussi l’enregistrement des sessions sur ce site public

L’enregistrement en mode intersites facultatif montre les pages publiques et les interactions, en masquant les champs de saisie et les contenus privés. L’enregistrement dans l’application fait l’objet d’un choix distinct.

Nécessite les analyses facultatives ; l’enregistrement dans ce mode intersites est désactivé par défaut. Le mode Landing ci-dessus fonctionne séparément.

Les analyses du navigateur n’activent pas celles du compte.

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

Outil MCP

État d’une réaction à un commentaire

sosoapi_reaction_status

Lire les faits de transmission de la réaction d’origine et les observations de rapprochement distinctes. Un résultat inconnu ou à examiner n’autorise pas un nouvel envoi.

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": true,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": true
}

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"
action_idstringRequis dans le parent
  • format: "uuid"
JSON Schema complet
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "action_id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "workspace_id",
    "action_id"
  ],
  "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-reactions.v1"
actionobjectRequis dans le parent
  • additionalProperties: false
action.action_idstringRequis dans le parent
  • format: "uuid"
action.social_account_idstringRequis dans le parent
  • format: "uuid"
action.social_comment_idstringRequis dans le parent
  • format: "uuid"
action.operationstringRequis dans le parent
  • enum: ["like","unlike"]
action.reaction_typestringRequis dans le parent
  • const: "LIKE"
action.idempotency_keystringRequis dans le parent
  • format: "uuid"
action.statusstringRequis dans le parent
  • enum: ["queued","executing","succeeded","attention","failed"]
action.provider_terminalbooleanRequis dans le parent—
action.attention_reasonstring | nullRequis dans le parent—
action.provider_evidenceobjectRequis dans le parent
  • additionalProperties: {}
action.provider_evidence.*any JSON valueFacultatif / élément—
action.reconciliationobject | nullRequis dans le parent—
action.reconciliationanyOf 1objectRequis dans le parent
  • additionalProperties: false
action.reconciliation.desired_state_observedanyOf 1booleanRequis dans le parent—
action.reconciliation.observed_atanyOf 1stringRequis 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)))$"
action.reconciliationanyOf 2nullRequis dans le parent—
JSON Schema complet
{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "const": "community-reactions.v1"
    },
    "action": {
      "type": "object",
      "properties": {
        "action_id": {
          "type": "string",
          "format": "uuid"
        },
        "social_account_id": {
          "type": "string",
          "format": "uuid"
        },
        "social_comment_id": {
          "type": "string",
          "format": "uuid"
        },
        "operation": {
          "type": "string",
          "enum": [
            "like",
            "unlike"
          ]
        },
        "reaction_type": {
          "type": "string",
          "const": "LIKE"
        },
        "idempotency_key": {
          "type": "string",
          "format": "uuid"
        },
        "status": {
          "type": "string",
          "enum": [
            "queued",
            "executing",
            "succeeded",
            "attention",
            "failed"
          ]
        },
        "provider_terminal": {
          "type": "boolean"
        },
        "attention_reason": {
          "type": [
            "string",
            "null"
          ]
        },
        "provider_evidence": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        "reconciliation": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "desired_state_observed": {
                  "type": "boolean"
                },
                "observed_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)))$"
                }
              },
              "required": [
                "desired_state_observed",
                "observed_at"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "action_id",
        "social_account_id",
        "social_comment_id",
        "operation",
        "reaction_type",
        "idempotency_key",
        "status",
        "provider_terminal",
        "attention_reason",
        "provider_evidence",
        "reconciliation"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "contract_version",
    "action"
  ],
  "$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_reaction_status",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "action_id": "11111111-1111-4111-8111-111111111111"
  }
}

structuredContent

{
  "contract_version": "community-reactions.v1",
  "action": {
    "action_id": "11111111-1111-4111-8111-111111111111",
    "social_account_id": "11111111-1111-4111-8111-111111111111",
    "social_comment_id": "11111111-1111-4111-8111-111111111111",
    "operation": "like",
    "reaction_type": "LIKE",
    "idempotency_key": "11111111-1111-4111-8111-111111111111",
    "status": "queued",
    "provider_terminal": false,
    "attention_reason": "example",
    "provider_evidence": {},
    "reconciliation": null
  }
}
Installer ou connecter MCP