Skip to main content
Glama

Social Media Search API — Twitter, Instagram, Reddit, TikTok (XPOZ)

checkOperationStatus

Read-only

checkOperationStatus: poll an async operation and retrieve its results or CSV download URL. Use this after any tool call made with responseType="paging" or responseType="csv" — those return an operationId that must be polled via checkOperationStatus to get the actual data. Also handles background job status checks, presigned S3 link retrieval for data dumps, and completion polling for long-running queries. Required: operationId. HANDLES TWO TYPES: (1) Query operations (op_toolname_xxx): returns paginated results + dataDumpExportOperationId. (2) Export operations (op_datadump_xxx): returns download URL for CSV download. CRITICAL: You MUST keep polling until operation finishes. DO NOT stop until status is success/no_data/error/cancelled. POLLING LOOP: (1) Call immediately after getting operation ID. (2) If status=running, wait exactly 5 seconds. (3) Call again after 5 seconds. (4) Repeat step 2-3 continuously until status changes to success/no_data/error/cancelled. (5) Only stop when operation is finished. NOTE: status values returned are wire-level ResponseStatus (success/no_data/error/running/cancelled). Returns: For queries - results, pagination, dataDumpExportOperationId. For exports - downloadUrl, fileName, totalRows. NEVER make calls without 5 second waits between them.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
feedbackNoOptional. Any free-form feedback you want to share — about this tool, other tools, the platform overall, or anything else. Feedback does NOT have to be about the current tool: you can use this field to comment on a different tool you used earlier, flag missing functionality, request a new tool, or share general impressions. Examples: "wish getTwitterPostsByKeywords supported language filtering", "auth flow was confusing", "would be useful to have a tool that lists the members of a Twitter list", "loved how fast this was". Captured for product feedback; does not affect tool behavior.
_requestIdNo
operationIdYesThe operation ID

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide the safety profile (readOnlyHint=true, not destructive), but the description adds substantial behavioral context: the exact 5-second wait polling loop, the mandatory continuation until success/no_data/error/cancelled, the wire-level ResponseStatus values, and the distinct return contracts for queries vs exports. This is exactly the kind of non-obvious behavior an agent needs disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every section earns its place: purpose, usage trigger, type dispatch, polling loop, return contract. It is front-loaded with the core action and the strongest guidance first. Slight redundancy exists — "DO NOT stop until..." and "Only stop when operation is finished" restate the same rule — so it's not perfectly tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema, the description fully covers the return contract for both operation types (paginated results + dataDumpExportOperationId vs downloadUrl/fileName/totalRows). It also resolved the missing pieces not present in annotations or schema: poll cadence, termination conditions, status vocabulary, and how to distinguish query operations from export operations. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only documents operationId as "The operation ID" (and _requestId not at all, coverage 67%), so the description carries the semantic load: it explains that operationId comes from responseType="paging"/"csv" calls, distinguishes the two ID formats, and states it is required. The feedback and _requestId parameters are peripheral to operation, so the mild incompleteness of coverage on them is not costly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence names a specific verb-resource pair — "poll an async operation and retrieve its results or CSV download URL" — which is unambiguous and distinct from siblings like cancelOperation and checkAccessKeyStatus. The description goes further by explaining the two operation types (op_toolname_xxx vs op_datadump_xxx), making the tool's scope fully concrete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit, actionable when-to guidance: "Use this after any tool call made with responseType=paging or responseType=csv", plus background job status checks and S3 link retrieval. It does not name direct alternatives/exclusions — notably cancelOperation is never mentioned as when NOT to use this — so it stops short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.8/5.0
Disambiguation3/5

Most tools are clearly separated by platform and entity type, but there are several easily confused pairs like getRedditSubredditsByKeywords vs searchRedditSubreddits, getInstagramUsersByKeywords vs searchInstagramUsers, and getTwitterUsersByKeywords vs searchTwitterUsers. The verbose descriptions clarify the differences, but the names alone do not make the boundaries obvious.

Naming Consistency4/5

The server follows a generally consistent get<Platform><Entity>By<Filter> pattern, with search<Platform><Entity> for fuzzy/name-based lookups. Minor deviations like countTweets, getRedditPostWithCommentsById, and singular/plural mismatches (getTwitterUser vs getTwitterUsers) prevent a perfect score.

Tool Count1/5

With 52 tools, this server is extremely large for an agent toolset, even accounting for the four-platform scope. The per-platform repetition is systematic, but the sheer number creates significant context overhead and selection complexity.

Completeness4/5

The server covers the core social search surface well: posts, comments, users, connections, interactions, hashtags, sounds, subreddits, tracking, and account management. The main gap is the lack of a Reddit tool for fetching posts by a specific user, which exists for Twitter, Instagram, and TikTok.