Søk lastes bare når du bruker det. Bla gjennom alle kategoriene nedenfor.

MCP-verktøy

Les offentlige resultatdata

sosoapi_read_public_performance

Les uoffisielle offentlige X-tellere for en konto koblet til arbeidsområdet. Manglende tellere forblir utilgjengelige; verken betalt X API eller påloggingsopplysninger brukes.

Les som Markdown

Profiler og transporter

Profiler: full · Transporter: stdio, http

Velg core eller full for å kontrollere hvilke verktøy klienten ser; dette endrer ikke tillatelsene. Lokal filopplasting krever stdio og er utilgjengelig over HTTP. Angi SOSOAPI_OUTPUT_SCHEMAS=1 for å inkludere utdataskjemaer i oppdagelsen. Verktøy returnerer strukturerte resultater med eller uten den innstillingen.

Tillatelser og sideeffekter

Merknader hjelper klienter med å beskrive et verktøy. Hvert kall kontrollerer fortsatt brukerens autentisering, rolle, ressurstilgang og funksjonstillatelser.

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

Inndatafelter

Påkrevd betyr påkrevd i foreldreobjektet og valgt gren. Et påkrevd underfelt gjør ikke en valgfri forelder påkrevd. Reglene og feltnavnene nedenfor er kopiert fra kontrakten.

Inndatafelter
Felt / grenType / påkrevdBegrensninger
$objectPåkrevd i forelder
  • additionalProperties: false
workspace_idstringPåkrevd i forelder
  • format: "uuid"
social_account_idstringPåkrevd i forelder
  • format: "uuid"
cursorstringValgfritt / element
  • minLength: 1
  • maxLength: 2048
refreshbooleanValgfritt / element—
Fullstendig 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
}

Strukturert utdata

Dette skjemaet beskriver structuredContent i et vellykket verktøyresultat. MCP-svaret inkluderer også content og kan sette isError når et kall mislykkes. Ved publisering, les innleggets endelige resultat i stedet for å regne en akseptert forespørsel eller et tekstsvar som bekreftelse. Den lenkede API-operasjonen forklarer tillatelser og regler for nye forsøk.

Påkrevd betyr påkrevd i foreldreobjektet og valgt gren. Et påkrevd underfelt gjør ikke en valgfri forelder påkrevd. Reglene og feltnavnene nedenfor er kopiert fra kontrakten.

Strukturert utdata
Felt / grenType / påkrevdBegrensninger
$objectPåkrevd i forelder
  • additionalProperties: false
contract_versionstringPåkrevd i forelder
  • const: "public-performance/v1"
sourcestringPåkrevd i forelder
  • const: "fxtwitter"
source_kindstringPåkrevd i forelder
  • const: "unofficial_public"
platformstringPåkrevd i forelder
  • const: "x"
workspace_idstringPåkrevd i forelder
  • format: "uuid"
social_account_idstringPåkrevd i forelder
  • format: "uuid"
provider_account_idstringPåkrevd i forelder
  • pattern: "^\\d{2,20}$"
fetched_atstringPåkrevd i forelder
  • 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_atnullPåkrevd i forelder—
expires_atstringPåkrevd i forelder
  • 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_statusstringPåkrevd i forelder
  • enum: ["hit","stored","bypassed"]
statusstringPåkrevd i forelder
  • enum: ["available","partial","unavailable"]
profileobject | nullPåkrevd i forelder—
profileanyOf 1objectPåkrevd i forelder
  • additionalProperties: false
profile.nameanyOf 1stringPåkrevd i forelder
  • maxLength: 200
profile.handleanyOf 1stringPåkrevd i forelder
  • maxLength: 100
profile.followersanyOf 1integer | nullPåkrevd i forelder—
profile.followersanyOf 1 / anyOf 1integerPåkrevd i forelder
  • minimum: 0
  • maximum: 9007199254740991
profile.followersanyOf 1 / anyOf 2nullPåkrevd i forelder—
profileanyOf 2nullPåkrevd i forelder—
postsarrayPåkrevd i forelder
  • maxItems: 100
posts[]objectValgfritt / element
  • additionalProperties: false
posts[].idstringPåkrevd i forelder
  • pattern: "^\\d{2,20}$"
posts[].urlstringPåkrevd i forelder
  • format: "uri"
posts[].textstringPåkrevd i forelder
  • maxLength: 30000
posts[].published_atstring | nullPåkrevd i forelder—
posts[].published_atanyOf 1stringPåkrevd i forelder
  • 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 2nullPåkrevd i forelder—
posts[].kindstringPåkrevd i forelder
  • enum: ["post","reply"]
posts[].media_kindstringPåkrevd i forelder
  • enum: ["text","image","video"]
posts[].metricsobjectPåkrevd i forelder
  • additionalProperties: false
posts[].metrics.viewsinteger | nullPåkrevd i forelder—
posts[].metrics.viewsanyOf 1integerPåkrevd i forelder
  • minimum: 0
  • maximum: 9007199254740991
posts[].metrics.viewsanyOf 2nullPåkrevd i forelder—
posts[].metrics.likesinteger | nullPåkrevd i forelder—
posts[].metrics.likesanyOf 1integerPåkrevd i forelder
  • minimum: 0
  • maximum: 9007199254740991
posts[].metrics.likesanyOf 2nullPåkrevd i forelder—
posts[].metrics.repliesinteger | nullPåkrevd i forelder—
posts[].metrics.repliesanyOf 1integerPåkrevd i forelder
  • minimum: 0
  • maximum: 9007199254740991
posts[].metrics.repliesanyOf 2nullPåkrevd i forelder—
posts[].metrics.repostsinteger | nullPåkrevd i forelder—
posts[].metrics.repostsanyOf 1integerPåkrevd i forelder
  • minimum: 0
  • maximum: 9007199254740991
posts[].metrics.repostsanyOf 2nullPåkrevd i forelder—
posts[].metrics.quotesinteger | nullPåkrevd i forelder—
posts[].metrics.quotesanyOf 1integerPåkrevd i forelder
  • minimum: 0
  • maximum: 9007199254740991
posts[].metrics.quotesanyOf 2nullPåkrevd i forelder—
posts[].metrics.bookmarksinteger | nullPåkrevd i forelder—
posts[].metrics.bookmarksanyOf 1integerPåkrevd i forelder
  • minimum: 0
  • maximum: 9007199254740991
posts[].metrics.bookmarksanyOf 2nullPåkrevd i forelder—
coverageobjectPåkrevd i forelder
  • additionalProperties: false
coverage.completebooleanPåkrevd i forelder—
coverage.next_cursorstring | nullPåkrevd i forelder—
coverage.next_cursoranyOf 1stringPåkrevd i forelder
  • maxLength: 2048
coverage.next_cursoranyOf 2nullPåkrevd i forelder—
coverage.views_available_postsintegerPåkrevd i forelder
  • minimum: 0
  • maximum: 9007199254740991
coverage.omitted_rowsintegerPåkrevd i forelder
  • minimum: 0
  • maximum: 9007199254740991
coverage.reasonsarrayPåkrevd i forelder
  • maxItems: 8
coverage.reasons[]stringValgfritt / element
  • maxLength: 300
Fullstendig 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
}

Eksempel på verktøykall

Disse eksemplene bruker fiktive verdier kontrollert mot skjemaene. Erstatt ID-ene med noen du har lov til å bruke, mediene med klare ressurser og datoene med bekreftet publiseringstidspunkt. Kontroller kontoens kvalifikasjon før en skriveoperasjon sendes inn. Siden sender ingen API-forespørsler.

{
  "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."
    ]
  }
}
Installer eller koble til MCP