يُحمّل البحث عند استخدامه فقط. تصفّح جميع الفئات أدناه.

أداة MCP

قراءة الأداء العام

sosoapi_read_public_performance

اقرأ إحصاءات X العامة غير الرسمية لحساب متصل ضمن مساحة العمل. تظل الإحصاءات المفقودة غير متاحة؛ لا تُستخدم واجهة X API المدفوعة أو بيانات الاعتماد.

اقرأ بصيغة Markdown

الملفات التعريفية ووسائل النقل

الملفات التعريفية: full · وسائل النقل: stdio, http

اختر core أو full للأدوات التي يراها عميلك؛ لا يغيّر ذلك أذوناته. يحتاج رفع الملفات المحلية stdio ولا يتاح بـ HTTP. اضبط SOSOAPI_OUTPUT_SCHEMAS=1 لمخططات المخرجات بالاكتشاف. النتائج منظّمة بهذا الإعداد أوبدونه.

الأذونات والآثار الجانبية

تساعد الشروح العملاء على وصف الأداة. يظل كل استدعاء يفحص مصادقة المستخدم ودوره ووصوله إلى المورد وتفويض الإمكانات.

{
  "readOnlyHint": true,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": true
}
  • /analytics-api/public-performance/read: agent:operate · إحصاءات عامة مصنفة صراحةً بأنها غير رسمية، أو أدلة على عدم توفر البيانات؛ وليست Insights رسمية أبدًا

حقول الإدخال

تعني «مطلوب» داخل الكائن الأب والفرع المختار. الحقل الابن المطلوب لا يجعل الأب الاختياري مطلوباً. نُسخت القواعد وأسماء الحقول أدناه من العقد.

حقول الإدخال
الحقل / الفرعالنوع / مطلوبالقيود
$objectمطلوب في العنصر الأب
  • additionalProperties: false
workspace_idstringمطلوب في العنصر الأب
  • format: "uuid"
social_account_idstringمطلوب في العنصر الأب
  • format: "uuid"
cursorstringاختياري / عنصر
  • minLength: 1
  • maxLength: 2048
refreshbooleanاختياري / عنصر—
مخطط JSON Schema الكامل
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "social_account_id": {
      "type": "string",
      "format": "uuid"
    },
    "cursor": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    },
    "refresh": {
      "type": "boolean"
    }
  },
  "required": [
    "workspace_id",
    "social_account_id"
  ],
  "additionalProperties": false
}

مخرجات منظّمة

يصف المخطط structuredContent في نتيجة أداة ناجحة. تشمل استجابة MCP أيضاً content وقد تضبط isError عند الفشل. للنشر، اقرأ النتيجة النهائية بدلاً من اعتبار القبول أوالنص تأكيداً. تشرح عملية API المرتبطة الأذونات وقواعد المحاولة.

تعني «مطلوب» داخل الكائن الأب والفرع المختار. الحقل الابن المطلوب لا يجعل الأب الاختياري مطلوباً. نُسخت القواعد وأسماء الحقول أدناه من العقد.

مخرجات منظّمة
الحقل / الفرعالنوع / مطلوبالقيود
$objectمطلوب في العنصر الأب
  • additionalProperties: false
contract_versionstringمطلوب في العنصر الأب
  • const: "public-performance/v1"
sourcestringمطلوب في العنصر الأب
  • const: "fxtwitter"
source_kindstringمطلوب في العنصر الأب
  • const: "unofficial_public"
platformstringمطلوب في العنصر الأب
  • const: "x"
workspace_idstringمطلوب في العنصر الأب
  • format: "uuid"
social_account_idstringمطلوب في العنصر الأب
  • format: "uuid"
provider_account_idstringمطلوب في العنصر الأب
  • pattern: "^\\d{2,20}$"
fetched_atstringمطلوب في العنصر الأب
  • 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)))$"
upstream_updated_atnullمطلوب في العنصر الأب—
expires_atstringمطلوب في العنصر الأب
  • 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)))$"
cache_statusstringمطلوب في العنصر الأب
  • enum: ["hit","stored","bypassed"]
statusstringمطلوب في العنصر الأب
  • enum: ["available","partial","unavailable"]
profileobject | nullمطلوب في العنصر الأب—
profileanyOf 1objectمطلوب في العنصر الأب
  • additionalProperties: false
profile.nameanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 200
profile.handleanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 100
profile.followersanyOf 1integer | nullمطلوب في العنصر الأب—
profile.followersanyOf 1 / anyOf 1integerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 9007199254740991
profile.followersanyOf 1 / anyOf 2nullمطلوب في العنصر الأب—
profileanyOf 2nullمطلوب في العنصر الأب—
postsarrayمطلوب في العنصر الأب
  • maxItems: 100
posts[]objectاختياري / عنصر
  • additionalProperties: false
posts[].idstringمطلوب في العنصر الأب
  • pattern: "^\\d{2,20}$"
posts[].urlstringمطلوب في العنصر الأب
  • format: "uri"
posts[].textstringمطلوب في العنصر الأب
  • maxLength: 30000
posts[].published_atstring | nullمطلوب في العنصر الأب—
posts[].published_atanyOf 1stringمطلوب في العنصر الأب
  • 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)))$"
posts[].published_atanyOf 2nullمطلوب في العنصر الأب—
posts[].kindstringمطلوب في العنصر الأب
  • enum: ["post","reply"]
posts[].media_kindstringمطلوب في العنصر الأب
  • enum: ["text","image","video"]
posts[].metricsobjectمطلوب في العنصر الأب
  • additionalProperties: false
posts[].metrics.viewsinteger | nullمطلوب في العنصر الأب—
posts[].metrics.viewsanyOf 1integerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 9007199254740991
posts[].metrics.viewsanyOf 2nullمطلوب في العنصر الأب—
posts[].metrics.likesinteger | nullمطلوب في العنصر الأب—
posts[].metrics.likesanyOf 1integerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 9007199254740991
posts[].metrics.likesanyOf 2nullمطلوب في العنصر الأب—
posts[].metrics.repliesinteger | nullمطلوب في العنصر الأب—
posts[].metrics.repliesanyOf 1integerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 9007199254740991
posts[].metrics.repliesanyOf 2nullمطلوب في العنصر الأب—
posts[].metrics.repostsinteger | nullمطلوب في العنصر الأب—
posts[].metrics.repostsanyOf 1integerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 9007199254740991
posts[].metrics.repostsanyOf 2nullمطلوب في العنصر الأب—
posts[].metrics.quotesinteger | nullمطلوب في العنصر الأب—
posts[].metrics.quotesanyOf 1integerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 9007199254740991
posts[].metrics.quotesanyOf 2nullمطلوب في العنصر الأب—
posts[].metrics.bookmarksinteger | nullمطلوب في العنصر الأب—
posts[].metrics.bookmarksanyOf 1integerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 9007199254740991
posts[].metrics.bookmarksanyOf 2nullمطلوب في العنصر الأب—
coverageobjectمطلوب في العنصر الأب
  • additionalProperties: false
coverage.completebooleanمطلوب في العنصر الأب—
coverage.next_cursorstring | nullمطلوب في العنصر الأب—
coverage.next_cursoranyOf 1stringمطلوب في العنصر الأب
  • maxLength: 2048
coverage.next_cursoranyOf 2nullمطلوب في العنصر الأب—
coverage.views_available_postsintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 9007199254740991
coverage.omitted_rowsintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 9007199254740991
coverage.reasonsarrayمطلوب في العنصر الأب
  • maxItems: 8
coverage.reasons[]stringاختياري / عنصر
  • maxLength: 300
مخطط JSON Schema الكامل
{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "const": "public-performance/v1"
    },
    "source": {
      "type": "string",
      "const": "fxtwitter"
    },
    "source_kind": {
      "type": "string",
      "const": "unofficial_public"
    },
    "platform": {
      "type": "string",
      "const": "x"
    },
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "social_account_id": {
      "type": "string",
      "format": "uuid"
    },
    "provider_account_id": {
      "type": "string",
      "pattern": "^\\d{2,20}$"
    },
    "fetched_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)))$"
    },
    "upstream_updated_at": {
      "type": "null"
    },
    "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)))$"
    },
    "cache_status": {
      "type": "string",
      "enum": [
        "hit",
        "stored",
        "bypassed"
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "available",
        "partial",
        "unavailable"
      ]
    },
    "profile": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "maxLength": 200
            },
            "handle": {
              "type": "string",
              "maxLength": 100
            },
            "followers": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "name",
            "handle",
            "followers"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "posts": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^\\d{2,20}$"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "text": {
            "type": "string",
            "maxLength": 30000
          },
          "published_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"
              }
            ]
          },
          "kind": {
            "type": "string",
            "enum": [
              "post",
              "reply"
            ]
          },
          "media_kind": {
            "type": "string",
            "enum": [
              "text",
              "image",
              "video"
            ]
          },
          "metrics": {
            "type": "object",
            "properties": {
              "views": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "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"
                  }
                ]
              },
              "quotes": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "bookmarks": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "views",
              "likes",
              "replies",
              "reposts",
              "quotes",
              "bookmarks"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "id",
          "url",
          "text",
          "published_at",
          "kind",
          "media_kind",
          "metrics"
        ],
        "additionalProperties": false
      }
    },
    "coverage": {
      "type": "object",
      "properties": {
        "complete": {
          "type": "boolean"
        },
        "next_cursor": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 2048
            },
            {
              "type": "null"
            }
          ]
        },
        "views_available_posts": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "omitted_rows": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "reasons": {
          "maxItems": 8,
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 300
          }
        }
      },
      "required": [
        "complete",
        "next_cursor",
        "views_available_posts",
        "omitted_rows",
        "reasons"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "contract_version",
    "source",
    "source_kind",
    "platform",
    "workspace_id",
    "social_account_id",
    "provider_account_id",
    "fetched_at",
    "upstream_updated_at",
    "expires_at",
    "cache_status",
    "status",
    "profile",
    "posts",
    "coverage"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

مثال لاستدعاء أداة

تستخدم الأمثلة قيماً خيالية مفحوصة بالمخططات. استبدل المعرّفات بالمفوّض لك، والوسائط بأصول جاهزة، والتواريخ بوقت نشر مؤكد. افحص أهلية الحساب قبل الكتابة. لا تُرسل الصفحة طلبات API.

{
  "name": "sosoapi_read_public_performance",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "social_account_id": "22222222-2222-4222-8222-222222222222"
  }
}

structuredContent

{
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "social_account_id": "22222222-2222-4222-8222-222222222222",
  "contract_version": "public-performance/v1",
  "source": "fxtwitter",
  "source_kind": "unofficial_public",
  "platform": "x",
  "provider_account_id": "12345",
  "fetched_at": "2099-01-15T09:00:00Z",
  "upstream_updated_at": null,
  "expires_at": "2099-01-15T09:05:00Z",
  "cache_status": "stored",
  "status": "unavailable",
  "profile": null,
  "posts": [],
  "coverage": {
    "complete": false,
    "next_cursor": null,
    "views_available_posts": 0,
    "omitted_rows": 0,
    "reasons": [
      "Fictional public source unavailable; no account data was read."
    ]
  }
}
تثبيت MCP أو ربطه