Skip to main content
Glama

twitter_user_tweets_complete

Read-only

Fetch a user's tweet back-catalogue in fewer, larger calls via server-side auto-pagination. Requires a numeric user_id; repeat with each returned next_cursor until it is null to finish collecting.

Instructions

Get a large batch of a user's tweet history in one call, auto-paginating server-side across upstream pages. Heavier than twitter_user_tweets; use it to pull a back-catalogue with fewer round-trips. Returns { count, next_cursor, has_more, tweets }. IMPORTANT, this does NOT guarantee the whole history in one call: next_cursor is the completion signal, NOT count. A non-null next_cursor means the history is TRUNCATED and more remains, so call this tool again with cursor set to that value, and repeat until next_cursor is null (has_more is the same signal as a boolean). Each call is bounded by BOTH max and a server-side wall-clock budget, so a response can be truncated even when it returned fewer tweets than you asked for, which is why count must never be used to decide whether you are done. Requires the numeric user_id (resolve a handle first with twitter_user_info). Billed a flat $0.0024 per call regardless of how many tweets come back, so fewer, larger calls are cheaper than many small ones.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
maxNoTarget number of tweets to collect in this call. Defaults to 200 when omitted. This is a MINIMUM target, not a hard cap: pages arrive in whole chunks, so a response may contain up to one page (<=100) more than requested (measured live 2026-09-05: max=10 returned 20). Never assume count === max. Twitter's ~3200-per-user history ceiling still applies overall.
cursorNoResume point from a previous response's next_cursor. Omit on the first call. Pass it back to continue collecting where the last call stopped, and keep repeating while next_cursor is non-null.
user_idYesNumeric Twitter/X user id. Required: this endpoint does not accept a username. Resolve a handle to a user_id first with twitter_user_info.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.9.9

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare readOnly/openWorld/non-destructive, but the description adds substantial behavioral context beyond them: server-side auto-pagination, a wall-clock budget that can truncate responses, and the critical rule that next_cursor (not count) is the completion signal. The flat $0.0024 per-call cost is also 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?

Front-loaded with purpose, then pagination caveats, then prerequisites and cost. It is somewhat long and restates the count-vs-next_cursor warning in multiple phrasings, but nearly every sentence carries information an agent needs to avoid a truncation mistake.

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?

Although no output schema exists, the description enumerates the return shape ({ count, next_cursor, has_more, tweets }) and explains how to interpret each field for pagination. For a paginated, billed, truncation-prone read tool, nothing essential 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?

Schema coverage is 100% so the schema already documents all three params, but the description reinforces the semantics that matter operationally: user_id must be numeric, and cursor must be fed back from the prior next_cursor and repeated until null. It adds genuine usage meaning beyond field documentation, though not format/syntax detail.

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 description uses a specific verb+resource ('Get a large batch of a user's tweet history') and explicitly positions itself against the sibling 'twitter_user_tweets' ('Heavier than twitter_user_tweets'). An agent can distinguish the two without opening either schema.

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

Usage Guidelines5/5

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

It states when to prefer this tool ('pull a back-catalogue with fewer round-trips') versus the lighter sibling, gives the prerequisite (resolve a handle with twitter_user_info), and explains the repeat-until-null loop. The billing note ('fewer, larger calls are cheaper') further guides call strategy.

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

Deploy Server

Other Tools