כלי MCP
קריאת מצב אחזור של מקור ציבורי ברשתות חברתיות
sosoapi_research_evidence_social-statusקריאת אותו אחזור מרשתות חברתיות לפי mutation_id; טקסט המקור הלא מהימן עשוי להיות פג תוקף או לא זמין. נדרשת הרשאת agent:research.
קריאה בפורמט Markdownפרופילים ואמצעי תעבורה
פרופילים: full · אמצעי תעבורה: 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。בחרו core או full כדי לשלוט בכלים שהלקוח רואה; הבחירה אינה משנה את ההרשאות שלו. העלאת קבצים מקומיים דורשת stdio ואינה זמינה דרך HTTP. הגדירו SOSOAPI_OUTPUT_SCHEMAS=1 להכללת סכמות פלט בגילוי הכלים. הכלים מחזירים תוצאות מובנות עם ההגדרה הזו או בלעדיה.
הרשאות והשפעות לוואי
הערות המטא-נתונים עוזרות ללקוחות לתאר כלי. כל קריאה עדיין בודקת את אימות המשתמש, תפקידו, גישתו למשאבים והרשאות היכולות שלו.
{
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
}- /research-api/evidence/social-status: agent:research · קבלת אחזור מרשתות חברתיות וראיות המורשות כעת; תוכן מקור שהוסר או שפג תוקפו מוסתר
שדות קלט
שדה חובה נדרש בתוך אובייקט האב והענף הנבחר שלו. צאצא נדרש אינו הופך אב אופציונלי לנדרש. הכללים ושמות השדות שלהלן מועתקים מהחוזה.
| שדה / ענף | סוג / חובה | אילוצים |
|---|---|---|
$ | objectחובה באובייקט האב |
|
workspace_id | stringחובה באובייקט האב |
|
mutation_id | stringחובה באובייקט האב |
|
JSON Schema מלא
{
"type": "object",
"properties": {
"workspace_id": {
"type": "string",
"format": "uuid"
},
"mutation_id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"workspace_id",
"mutation_id"
],
"additionalProperties": false
}פלט מובנה
הסכמה מתארת את structuredContent בתוצאת כלי מוצלחת. תגובת MCP כוללת גם content ועשויה להגדיר isError כשקריאה נכשלת. בפרסום, קראו את התוצאה הסופית של הפוסט במקום לראות בבקשה שהתקבלה או בתגובת טקסט אישור. פעולת ה-API המקושרת מסבירה הרשאות וכללי ניסיון חוזר.
שדה חובה נדרש בתוך אובייקט האב והענף הנבחר שלו. צאצא נדרש אינו הופך אב אופציונלי לנדרש. הכללים ושמות השדות שלהלן מועתקים מהחוזה.
| שדה / ענף | סוג / חובה | אילוצים |
|---|---|---|
$ | objectחובה באובייקט האב |
|
retrieval | object | nullחובה באובייקט האב | — |
retrievalanyOf 1 | objectחובה באובייקט האב |
|
retrieval.idanyOf 1 | stringחובה באובייקט האב |
|
retrieval.workspace_idanyOf 1 | stringחובה באובייקט האב |
|
retrieval.mutation_idanyOf 1 | stringחובה באובייקט האב |
|
retrieval.kindanyOf 1 | stringחובה באובייקט האב |
|
retrieval.stateanyOf 1 | stringחובה באובייקט האב |
|
retrieval.created_atanyOf 1 | stringחובה באובייקט האב |
|
retrieval.settled_atanyOf 1 | string | nullחובה באובייקט האב | — |
retrieval.settled_atanyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.settled_atanyOf 1 / anyOf 2 | nullחובה באובייקט האב | — |
retrieval.valid_untilanyOf 1 | stringחובה באובייקט האב |
|
retrieval.resultanyOf 1 | object | nullחובה באובייקט האב | — |
retrieval.resultanyOf 1 / anyOf 1 | objectחובה באובייקט האב |
|
retrieval.result.sourceanyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.platformanyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.canonical_urlanyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.fetched_atanyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.expires_atanyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.upstream_updated_atanyOf 1 / anyOf 1 | nullחובה באובייקט האב | — |
retrieval.result.statusanyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.profileanyOf 1 / anyOf 1 | object | nullחובה באובייקט האב | — |
retrieval.result.profileanyOf 1 / anyOf 1 / anyOf 1 | objectחובה באובייקט האב |
|
retrieval.result.profile.source_account_idanyOf 1 / anyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.profile.id_namespaceanyOf 1 / anyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.profile.usernameanyOf 1 / anyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.profile.nameanyOf 1 / anyOf 1 / anyOf 1 | string | nullחובה באובייקט האב | — |
retrieval.result.profile.nameanyOf 1 / anyOf 1 / anyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.profile.nameanyOf 1 / anyOf 1 / anyOf 1 / anyOf 2 | nullחובה באובייקט האב | — |
retrieval.result.profile.followersanyOf 1 / anyOf 1 / anyOf 1 | integer | nullחובה באובייקט האב | — |
retrieval.result.profile.followersanyOf 1 / anyOf 1 / anyOf 1 / anyOf 1 | integerחובה באובייקט האב |
|
retrieval.result.profile.followersanyOf 1 / anyOf 1 / anyOf 1 / anyOf 2 | nullחובה באובייקט האב | — |
retrieval.result.profileanyOf 1 / anyOf 1 / anyOf 2 | nullחובה באובייקט האב | — |
retrieval.result.postsanyOf 1 / anyOf 1 | arrayחובה באובייקט האב |
|
retrieval.result.posts[]anyOf 1 / anyOf 1 | objectרשות / פריט |
|
retrieval.result.posts[].source_post_idanyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.posts[].id_namespaceanyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.posts[].shortcodeanyOf 1 / anyOf 1 | string | nullחובה באובייקט האב | — |
retrieval.result.posts[].shortcodeanyOf 1 / anyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.posts[].shortcodeanyOf 1 / anyOf 1 / anyOf 2 | nullחובה באובייקט האב | — |
retrieval.result.posts[].source_account_idanyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.posts[].authoranyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.posts[].canonical_urlanyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.posts[].textanyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.posts[].published_atanyOf 1 / anyOf 1 | string | nullחובה באובייקט האב | — |
retrieval.result.posts[].published_atanyOf 1 / anyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.posts[].published_atanyOf 1 / anyOf 1 / anyOf 2 | nullחובה באובייקט האב | — |
retrieval.result.posts[].media_kindanyOf 1 / anyOf 1 | stringחובה באובייקט האב |
|
retrieval.result.posts[].metricsanyOf 1 / anyOf 1 | objectחובה באובייקט האב |
|
retrieval.result.posts[].metrics.likesanyOf 1 / anyOf 1 | integer | nullחובה באובייקט האב | — |
retrieval.result.posts[].metrics.likesanyOf 1 / anyOf 1 / anyOf 1 | integerחובה באובייקט האב |
|
retrieval.result.posts[].metrics.likesanyOf 1 / anyOf 1 / anyOf 2 | nullחובה באובייקט האב | — |
retrieval.result.posts[].metrics.commentsanyOf 1 / anyOf 1 | integer | nullחובה באובייקט האב | — |
retrieval.result.posts[].metrics.commentsanyOf 1 / anyOf 1 / anyOf 1 | integerחובה באובייקט האב |
|
retrieval.result.posts[].metrics.commentsanyOf 1 / anyOf 1 / anyOf 2 | nullחובה באובייקט האב | — |
retrieval.result.posts[].metrics.reactionsanyOf 1 / anyOf 1 | integer | nullחובה באובייקט האב | — |
retrieval.result.posts[].metrics.reactionsanyOf 1 / anyOf 1 / anyOf 1 | integerחובה באובייקט האב |
|
retrieval.result.posts[].metrics.reactionsanyOf 1 / anyOf 1 / anyOf 2 | nullחובה באובייקט האב | — |
retrieval.result.posts[].metrics.sharesanyOf 1 / anyOf 1 | integer | nullחובה באובייקט האב | — |
retrieval.result.posts[].metrics.sharesanyOf 1 / anyOf 1 / anyOf 1 | integerחובה באובייקט האב |
|
retrieval.result.posts[].metrics.sharesanyOf 1 / anyOf 1 / anyOf 2 | nullחובה באובייקט האב | — |
retrieval.result.posts[].metrics.viewsanyOf 1 / anyOf 1 | integer | nullחובה באובייקט האב | — |
retrieval.result.posts[].metrics.viewsanyOf 1 / anyOf 1 / anyOf 1 | integerחובה באובייקט האב |
|
retrieval.result.posts[].metrics.viewsanyOf 1 / anyOf 1 / anyOf 2 | nullחובה באובייקט האב | — |
retrieval.result.coverageanyOf 1 / anyOf 1 | objectחובה באובייקט האב |
|
retrieval.result.coverage.completeanyOf 1 / anyOf 1 | booleanחובה באובייקט האב |
|
retrieval.result.coverage.reasonsanyOf 1 / anyOf 1 | arrayחובה באובייקט האב |
|
retrieval.result.coverage.reasons[]anyOf 1 / anyOf 1 | stringרשות / פריט |
|
retrieval.result.coverage.omitted_rowsanyOf 1 / anyOf 1 | integerחובה באובייקט האב |
|
retrieval.result.coverage.next_cursoranyOf 1 / anyOf 1 | nullחובה באובייקט האב | — |
retrieval.resultanyOf 1 / anyOf 2 | nullחובה באובייקט האב | — |
retrieval.evidenceanyOf 1 | arrayחובה באובייקט האב |
|
retrieval.evidence[]anyOf 1 | objectרשות / פריט |
|
retrieval.evidence[].evidence_idanyOf 1 | stringחובה באובייקט האב |
|
retrieval.evidence[].revisionanyOf 1 | integerחובה באובייקט האב |
|
retrievalanyOf 2 | nullחובה באובייקט האב | — |
JSON Schema מלא
{
"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"
},
"kind": {
"type": "string",
"const": "public_social"
},
"state": {
"type": "string",
"enum": [
"pending",
"running",
"completed",
"cancelled",
"unconfirmed",
"expired"
]
},
"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"
},
"result": {
"anyOf": [
{
"type": "object",
"properties": {
"source": {
"type": "string",
"enum": [
"facebook_public_web",
"instagram_public_web",
"threads_public_web"
]
},
"platform": {
"type": "string",
"enum": [
"facebook",
"instagram",
"threads"
]
},
"canonical_url": {
"type": "string",
"maxLength": 2048,
"format": "uri"
},
"fetched_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"
},
"expires_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"
},
"upstream_updated_at": {
"type": "null"
},
"status": {
"type": "string",
"enum": [
"available",
"partial",
"unavailable"
]
},
"profile": {
"anyOf": [
{
"type": "object",
"properties": {
"source_account_id": {
"type": "string",
"pattern": "^[0-9]{1,30}$"
},
"id_namespace": {
"type": "string",
"const": "public_web"
},
"username": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"name": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 200
},
{
"type": "null"
}
]
},
"followers": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"source_account_id",
"id_namespace",
"username",
"name",
"followers"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"posts": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"source_post_id": {
"type": "string",
"pattern": "^[0-9]{1,30}$"
},
"id_namespace": {
"type": "string",
"const": "public_web"
},
"shortcode": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64
},
{
"type": "null"
}
]
},
"source_account_id": {
"type": "string",
"pattern": "^[0-9]{1,30}$"
},
"author": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"canonical_url": {
"type": "string",
"maxLength": 2048,
"format": "uri"
},
"text": {
"type": "string",
"maxLength": 30000
},
"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"
}
]
},
"media_kind": {
"type": "string",
"enum": [
"text",
"image",
"video",
"carousel",
"unknown"
]
},
"metrics": {
"type": "object",
"properties": {
"likes": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"comments": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"reactions": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"shares": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"views": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"likes",
"comments",
"reactions",
"shares",
"views"
],
"additionalProperties": false
}
},
"required": [
"source_post_id",
"id_namespace",
"shortcode",
"source_account_id",
"author",
"canonical_url",
"text",
"published_at",
"media_kind",
"metrics"
],
"additionalProperties": false
}
},
"coverage": {
"type": "object",
"properties": {
"complete": {
"type": "boolean",
"const": false
},
"reasons": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"enum": [
"initial_page_only",
"public_web_ids",
"metrics_unavailable",
"profile_only",
"no_attributable_posts",
"foreign_or_malformed_rows",
"parser_limit",
"unsupported_payload",
"blocked",
"rate_limited",
"upstream_http_error",
"redirect_rejected",
"unsupported_content_type",
"response_too_large",
"timeout",
"aborted",
"network_error",
"inconsistent_identity",
"research_limit",
"source_removed"
]
}
},
"omitted_rows": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"next_cursor": {
"type": "null"
}
},
"required": [
"complete",
"reasons",
"omitted_rows",
"next_cursor"
],
"additionalProperties": false
}
},
"required": [
"source",
"platform",
"canonical_url",
"fetched_at",
"expires_at",
"upstream_updated_at",
"status",
"profile",
"posts",
"coverage"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"evidence": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"evidence_id": {
"type": "string",
"format": "uuid"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"evidence_id",
"revision"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"workspace_id",
"mutation_id",
"kind",
"state",
"created_at",
"settled_at",
"valid_until",
"result",
"evidence"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"retrieval"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}דוגמת קריאה לכלי
הדוגמאות משתמשות בערכים בדויים שנבדקו מול הסכמות. החליפו את המזהים בכאלה שאתם מורשים להשתמש בהם, את המדיה בנכסים מוכנים ואת התאריכים במועד הפרסום שאישרתם. בדקו את התאמת החשבון לפני שליחת כתיבה. העמוד הזה אינו שולח בקשות API.
{
"name": "sosoapi_research_evidence_social-status",
"arguments": {
"workspace_id": "11111111-1111-4111-8111-111111111111",
"mutation_id": "40000000-0000-4000-8000-000000000005"
}
}structuredContent
{
"retrieval": {
"id": "30000000-0000-4000-8000-000000000007",
"workspace_id": "11111111-1111-4111-8111-111111111111",
"mutation_id": "40000000-0000-4000-8000-000000000005",
"kind": "public_social",
"state": "completed",
"created_at": "2099-01-15T09:00:00Z",
"settled_at": "2099-01-15T09:00:01Z",
"valid_until": "2099-01-16T09:00:00Z",
"evidence": [],
"result": {
"source": "instagram_public_web",
"platform": "instagram",
"canonical_url": "https://www.instagram.com/fictional_example/",
"fetched_at": "2099-01-15T09:00:00Z",
"expires_at": "2099-01-16T09:00:00Z",
"upstream_updated_at": null,
"status": "unavailable",
"profile": null,
"posts": [],
"coverage": {
"complete": false,
"reasons": [
"blocked"
],
"omitted_rows": 0,
"next_cursor": null
}
}
}
}