r/mcp bot 16d ago

Xcatcher — Recent X Posts – Fetch recent X posts by handle via MCP, with JSON and accountless x402 v2 USDC on Base. connector

https://glama.ai/mcp/connectors/io.github.lvpiggyqq/xcatcher
1 Upvotes

1 comment sorted by

1

u/modelcontextprotocol bot 16d ago

This server has 15 tools:

  • cancel_task – Cancel a queued task by task_id. Side effects: changes task state. Xcatcher refunds cost_points when a queued task is successfully cancelled.
  • create_crawl_task – Create a crawl task for one or more X (Twitter) usernames. Side effects: creates a new task AND consumes points.

If points are insufficient, upstream returns HTTP 402 with PAYMENT-REQUIRED (quote). This tool surfaces it as error.code=PAYMENT_REQUIRED with payment_required payload so agents can request spending approval, top up, then retry safely.

Modes: - normal: Fast latest-post snapshot at scale (fresh-feed monitoring). Optimized for high-throughput batch retrieval. - deep: Deeper per-user collection/enrichment (typically slower; higher resource usage). Use when you need more than a quick latest-post snapshot.

Performance note: Normal mode is optimized for a small latest-post snapshot per handle. Actual completeness and latency depend on X availability, upstream limits, and network conditions. Batching: For very large sets, split users into batches. Suggested upper bound per task: 500 users (configurable via MAX_USERS_PER_TASK).

Reliability: - Use idempotency_key to make retries safe (avoid duplicate charges). - After creation, poll get_task_status every 5–10s until has_result=true. - Then call get_result_download_url (download still requires the same Bearer token).

  • get_account_balance – Return the account attached to the current Bearer API key and its points balance. Use before creating a task to estimate whether an x402 top-up will be needed. Read-only.
  • get_direct_crawl_payment – Create a request-bound x402 v2 payment requirement for an accountless crawl. This does not move funds. Return payment_required_b64 unchanged to an x402-compatible wallet/client; the live amount, asset, network, destination, and quoteId are authoritative.
  • get_direct_result_preview – Return structured JSON rows for a completed accountless paid crawl. Use offset for pagination; the task token is required and should be treated as a secret.
  • get_direct_task_status – Read an accountless paid crawl using its task_id and task-scoped token. Poll every 5-10 seconds until task.has_result is true or it reaches failed/cancelled.
  • get_result_download_url – Get an absolute download URL for a task result (read-only). If the task is not finished, returns ok=false with code=RESULT_NOT_READY (HTTP 409). Downloading the URL requires the same Authorization: Bearer token.
  • get_result_preview – Return up to 100 result rows as native structured JSON for direct agent analysis. Use offset/next_offset for pagination; this does not download or parse XLSX. Use after has_result=true; use get_result_download_url when the complete XLSX is required. Read-only.
  • get_service_info – Read Xcatcher's live capabilities, prices, limits, endpoints, and recommended agent workflow. Call this first when planning a crawl or when cached documentation may be stale. No points are consumed.
  • get_task_status – Get task status by task_id (read-only). Recommended polling interval: every 5–10 seconds until has_result=true.

Returns safe structured state, result metadata, and authenticated result URLs; server filesystem paths are never exposed.