Skip to main content
Glama
Xquik-dev

X Twitter Scraper

xquik

Destructive

Execute Twitter API requests via approved catalog routes for searching posts, profiles, trends, followers, monitoring, and authorized writes, with authentication handled by the server.

Instructions

The live 'xquik' tool sends approved requests across 120 catalog routes. This package stub returns setup guidance only.

When to use

  • Call it after 'explore' identifies the endpoint and parameters.

  • Use it for Twitter search, user lookup, draws, extractions, composition, private reads, monitors, webhooks, and approved writes.

  • Get approval before private reads, persistent resources, metered operations, and writes.

When not to use

  • Use 'explore' first when you do not know the endpoint.

  • Omit API keys and authorization headers. The server adds authentication.

Behavior

  • The live server processes xquik.request(path, options?) inside a bounded sandbox.

  • The package stub makes no API request and returns setup instructions.

  • The live tool cannot access local files or arbitrary network hosts.

  • 119 catalog routes support JSON or text. Use REST for binary downloads.

  • Write operations require prior approval and can return durable actions.

  • Pagination responses include has_more and next_cursor. Pass cursor for the next page.

  • Show the exact payload, target, and usage estimate before changing X or Xquik resources.

Error handling

  • For 402, explain the account state and send the user to the dashboard.

  • For 429, wait before retrying.

  • For 404, explain which user, tweet, or monitor was not found.

  • For durable writes, follow safe_to_retry and next_action before retrying.

Input format

Provide a bounded function that calls xquik.request(path, { method?, body?, query? }). The server adds authentication.

Examples

Search tweets: async () => xquik.request('/api/v1/x/tweets/search', { query: { q: 'twitter scraper api', limit: '50' } }) Get user: async () => xquik.request('/api/v1/x/users/elonmusk') Post after approval: async () => xquik.request('/api/v1/x/tweets', { method: 'POST', body: { account: '<confirmed_account>', text: '<confirmed_text>' } })

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeYesBounded function that calls xquik.request(path, options?) for Twitter API operations. The server adds authentication. Example: async () => xquik.request('/api/v1/x/tweets/search', { query: { q: 'twitter api', limit: '20' } })
Install Server

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations (destructiveHint=true, openWorldHint=true), the description adds rich behavioral context that the annotations cannot convey: the bounded sandbox, no local file or arbitrary host access, approval-required durable writes, 402/429/404 error semantics, pagination via has_more/next_cursor, and the server-side authentication model. No contradiction with annotations — the write/approval framing aligns with destructiveHint=true and the sandbox stays consistent with openWorldHint=true.

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 long but excellently structured with clear headers, scannable bullets, and a front-loaded purpose statement. Every section (when to use, behavior, error handling, format, examples) earns its place given the tool's complexity — a proxy over 120 routes. It is slightly more verbose than strictly necessary but the organization compensates.

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 complex proxy tool with no output schema, the description covers everything an agent needs: when to call, approval requirements, behavioral constraints, error handling per status code, pagination semantics, input format, and realistic examples. The only minor gap — the absence of an output schema — is offset by explanation of return behaviors like has_more/next_cursor and durable actions.

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 alone documents the single 'code' parameter with an example. The description adds genuine value beyond that with the 'Input format' section (bounded function signature for xquik.request with method/body/query) and three concrete examples covering search, user lookup, and POST-after-approval. This exceeds the baseline 3 for high-coverage cases.

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 opens with a specific, differentiated statement: "sends approved requests across 120 catalog routes" and immediately distinguishes the package stub ("returns setup guidance only") from the live tool. It names the sibling 'explore' as what it is not, so an agent can tell them apart without opening schemas.

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?

The description contains explicit 'When to use' and 'When not to use' sections. It states to call it after 'explore' identifies the endpoint, when not to (if endpoint unknown), and covers approval gates for private reads, metered operations, and writes. It also names the alternative tool and directs the agent away from it appropriately.

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

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Xquik-dev/x-twitter-scraper'

If you have feedback or need assistance with the MCP directory API, please join our Discord server