Outil MCP
Lire l’état de récupération de recherche des comptes connectés
sosoapi_research_evidence_native-statusLire l’état de récupération de recherche des comptes connectés. Couvre les publications et légendes sélectionnées des comptes connectés, qui peuvent ne pas être publiques, dans une seule page native de taille limitée, et non l’historique complet. La récupération n’appelle jamais Google Gemini et ne lit pas les messages privés. La génération par modèle à partir du contexte sélectionné est une action existante distincte avec son propre consentement. Nécessite un consentement explicite à Research et Listening ainsi qu’un accès actuel au Workspace. Le texte source renvoyé n’est pas fiable. Les autorisations actuelles de la source, la conservation et les budgets par domaine restent applicables. Cette route ne publie jamais de contenu.
Lire en MarkdownProfils et transports
Profils : full · Transports : stdio, http
# This operation requires a CLI build containing the updated Research contract.
# Use HTTP or hosted MCP if your CLI build does not include it.
# 此操作需要包含更新版 Research contract 的 CLI build。
# 如 CLI build 未包含此 contract,請使用 HTTP 或 hosted MCP。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
}- /research-api/evidence/native-status: agent:research · Reçu natif et éléments probants actuellement autorisés ; le contenu source indisponible ou expiré est masqué
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.
| Champ / branche | Type / requis | Contraintes |
|---|---|---|
$ | objectRequis dans le parent |
|
workspace_id | stringRequis dans le parent |
|
mutation_id | stringRequis dans le parent |
|
JSON Schema complet
{
"type": "object",
"properties": {
"workspace_id": {
"type": "string",
"format": "uuid"
},
"mutation_id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"workspace_id",
"mutation_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.
| Champ / branche | Type / requis | Contraintes |
|---|---|---|
$ | objectRequis dans le parent |
|
retrieval | object | nullRequis dans le parent | — |
retrievalanyOf 1 | objectRequis dans le parent |
|
retrieval.idanyOf 1 | stringRequis dans le parent |
|
retrieval.workspace_idanyOf 1 | stringRequis dans le parent |
|
retrieval.mutation_idanyOf 1 | stringRequis dans le parent |
|
retrieval.social_account_idanyOf 1 | string | nullRequis dans le parent | — |
retrieval.social_account_idanyOf 1 / anyOf 1 | stringRequis dans le parent |
|
retrieval.social_account_idanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
retrieval.platformanyOf 1 | stringRequis dans le parent |
|
retrieval.stateanyOf 1 | stringRequis dans le parent |
|
retrieval.reasonanyOf 1 | string | nullRequis dans le parent | — |
retrieval.reasonanyOf 1 / anyOf 1 | stringRequis dans le parent |
|
retrieval.reasonanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
retrieval.created_atanyOf 1 | stringRequis dans le parent |
|
retrieval.settled_atanyOf 1 | string | nullRequis dans le parent | — |
retrieval.settled_atanyOf 1 / anyOf 1 | stringRequis dans le parent |
|
retrieval.settled_atanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
retrieval.valid_untilanyOf 1 | stringRequis dans le parent |
|
retrieval.coverageanyOf 1 | stringRequis dans le parent |
|
retrieval.completeanyOf 1 | booleanRequis dans le parent |
|
retrieval.provider_getsanyOf 1 | integerRequis dans le parent |
|
retrieval.evidenceanyOf 1 | arrayRequis dans le parent |
|
retrieval.evidence[]anyOf 1 | objectFacultatif / élément |
|
retrieval.evidence[].idanyOf 1 | stringRequis dans le parent |
|
retrieval.evidence[].workspace_idanyOf 1 | stringRequis dans le parent |
|
retrieval.evidence[].revisionanyOf 1 | integerRequis dans le parent |
|
retrieval.evidence[].titleanyOf 1 | string | nullRequis dans le parent | — |
retrieval.evidence[].titleanyOf 1 / anyOf 1 | stringRequis dans le parent |
|
retrieval.evidence[].titleanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
retrieval.evidence[].textanyOf 1 | string | nullRequis dans le parent | — |
retrieval.evidence[].textanyOf 1 / anyOf 1 | stringRequis dans le parent |
|
retrieval.evidence[].textanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
retrieval.evidence[].source_categoryanyOf 1 | stringRequis dans le parent |
|
retrieval.evidence[].platformanyOf 1 | string | nullRequis dans le parent | — |
retrieval.evidence[].platformanyOf 1 / anyOf 1 | stringRequis dans le parent |
|
retrieval.evidence[].platformanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
retrieval.evidence[].source_urlanyOf 1 | string | nullRequis dans le parent | — |
retrieval.evidence[].source_urlanyOf 1 / anyOf 1 | stringRequis dans le parent |
|
retrieval.evidence[].source_urlanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
retrieval.evidence[].authoranyOf 1 | string | nullRequis dans le parent | — |
retrieval.evidence[].authoranyOf 1 / anyOf 1 | stringRequis dans le parent |
|
retrieval.evidence[].authoranyOf 1 / anyOf 2 | nullRequis dans le parent | — |
retrieval.evidence[].languageanyOf 1 | string | nullRequis dans le parent | — |
retrieval.evidence[].languageanyOf 1 / anyOf 1 | stringRequis dans le parent |
|
retrieval.evidence[].languageanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
retrieval.evidence[].published_atanyOf 1 | string | nullRequis dans le parent | — |
retrieval.evidence[].published_atanyOf 1 / anyOf 1 | stringRequis dans le parent |
|
retrieval.evidence[].published_atanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
retrieval.evidence[].retrieved_atanyOf 1 | stringRequis dans le parent |
|
retrieval.evidence[].valid_untilanyOf 1 | string | nullRequis dans le parent | — |
retrieval.evidence[].valid_untilanyOf 1 / anyOf 1 | stringRequis dans le parent |
|
retrieval.evidence[].valid_untilanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
retrieval.evidence[].availabilityanyOf 1 | stringRequis dans le parent |
|
retrieval.evidence[].metricsanyOf 1 | objectRequis dans le parent |
|
retrieval.evidence[].metrics.likesanyOf 1 | integer | nullRequis dans le parent | — |
retrieval.evidence[].metrics.likesanyOf 1 / anyOf 1 | integerRequis dans le parent |
|
retrieval.evidence[].metrics.likesanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
retrieval.evidence[].metrics.repliesanyOf 1 | integer | nullRequis dans le parent | — |
retrieval.evidence[].metrics.repliesanyOf 1 / anyOf 1 | integerRequis dans le parent |
|
retrieval.evidence[].metrics.repliesanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
retrieval.evidence[].metrics.repostsanyOf 1 | integer | nullRequis dans le parent | — |
retrieval.evidence[].metrics.repostsanyOf 1 / anyOf 1 | integerRequis dans le parent |
|
retrieval.evidence[].metrics.repostsanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
retrieval.evidence[].metrics.viewsanyOf 1 | integer | nullRequis dans le parent | — |
retrieval.evidence[].metrics.viewsanyOf 1 / anyOf 1 | integerRequis dans le parent |
|
retrieval.evidence[].metrics.viewsanyOf 1 / anyOf 2 | nullRequis dans le parent | — |
retrievalanyOf 2 | nullRequis dans le parent | — |
JSON Schema complet
{
"type": "object",
"properties": {
"retrieval": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"workspace_id": {
"type": "string",
"format": "uuid"
},
"mutation_id": {
"type": "string",
"format": "uuid"
},
"social_account_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"platform": {
"type": "string",
"enum": [
"facebook",
"instagram",
"threads"
]
},
"state": {
"type": "string",
"enum": [
"pending",
"running",
"completed",
"unavailable",
"unconfirmed",
"cancelled",
"expired"
]
},
"reason": {
"anyOf": [
{
"type": "string",
"enum": [
"connection_unavailable",
"connection_changed",
"provider_denied",
"provider_rate_limited",
"provider_unavailable",
"provider_response_invalid",
"empty_page",
"metadata_only",
"content_expired",
"deadline_exceeded",
"cancelled"
]
},
{
"type": "null"
}
]
},
"created_at": {
"type": "string",
"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)))$",
"format": "date-time"
},
"settled_at": {
"anyOf": [
{
"type": "string",
"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)))$",
"format": "date-time"
},
{
"type": "null"
}
]
},
"valid_until": {
"type": "string",
"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)))$",
"format": "date-time"
},
"coverage": {
"type": "string",
"const": "bounded_native_page"
},
"complete": {
"type": "boolean",
"const": false
},
"provider_gets": {
"type": "integer",
"minimum": 0,
"maximum": 1
},
"evidence": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"workspace_id": {
"type": "string",
"format": "uuid"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"title": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 200
},
{
"type": "null"
}
]
},
"text": {
"anyOf": [
{
"type": "string",
"maxLength": 30000
},
{
"type": "null"
}
]
},
"source_category": {
"type": "string",
"enum": [
"your_accounts",
"public_posts",
"team_notes"
]
},
"platform": {
"anyOf": [
{
"type": "string",
"enum": [
"threads",
"instagram",
"facebook",
"youtube",
"x",
"reddit",
"web"
]
},
{
"type": "null"
}
]
},
"source_url": {
"anyOf": [
{
"type": "string",
"maxLength": 2048,
"format": "uri"
},
{
"type": "null"
}
]
},
"author": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"language": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 35
},
{
"type": "null"
}
]
},
"published_at": {
"anyOf": [
{
"type": "string",
"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)))$",
"format": "date-time"
},
{
"type": "null"
}
]
},
"retrieved_at": {
"type": "string",
"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)))$",
"format": "date-time"
},
"valid_until": {
"anyOf": [
{
"type": "string",
"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)))$",
"format": "date-time"
},
{
"type": "null"
}
]
},
"availability": {
"type": "string",
"enum": [
"available",
"removed",
"unavailable"
]
},
"metrics": {
"type": "object",
"properties": {
"likes": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"replies": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"reposts": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"views": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"likes",
"replies",
"reposts",
"views"
],
"additionalProperties": false
}
},
"required": [
"id",
"workspace_id",
"revision",
"title",
"text",
"source_category",
"platform",
"source_url",
"author",
"language",
"published_at",
"retrieved_at",
"valid_until",
"availability",
"metrics"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"workspace_id",
"mutation_id",
"social_account_id",
"platform",
"state",
"reason",
"created_at",
"settled_at",
"valid_until",
"coverage",
"complete",
"provider_gets",
"evidence"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"retrieval"
],
"$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_research_evidence_native-status",
"arguments": {
"workspace_id": "11111111-1111-4111-8111-111111111111",
"mutation_id": "40000000-0000-4000-8000-000000000006"
}
}structuredContent
{
"retrieval": {
"id": "30000000-0000-4000-8000-000000000007",
"workspace_id": "11111111-1111-4111-8111-111111111111",
"mutation_id": "40000000-0000-4000-8000-000000000006",
"social_account_id": "22222222-2222-4222-8222-222222222222",
"platform": "instagram",
"state": "unavailable",
"reason": "connection_unavailable",
"created_at": "2099-01-15T09:00:00Z",
"settled_at": "2099-01-15T09:00:01Z",
"valid_until": "2099-01-16T09:00:00Z",
"coverage": "bounded_native_page",
"complete": false,
"provider_gets": 0,
"evidence": []
}
}