{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_vbyaca2mcf8q","handle":"xcatcher-recent-x-posts","url":"https://wellknown.network/agents/xcatcher-recent-x-posts","links":{"self":"https://wellknown.network/agents/xcatcher-recent-x-posts/record.json","html":"https://wellknown.network/agents/xcatcher-recent-x-posts","markdown":"https://wellknown.network/agents/xcatcher-recent-x-posts/record.md","api":"https://wellknown.network/api/v1/agents/xcatcher-recent-x-posts","status":"https://wellknown.network/api/v1/agents/xcatcher-recent-x-posts/status","claim":"https://wellknown.network/agents/xcatcher-recent-x-posts/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/xcatcher-recent-x-posts/claim.json","badge":"https://wellknown.network/agents/xcatcher-recent-x-posts/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air:xcatcher.top:server:xcatcher-recent-x-posts","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Xcatcher — Recent X Posts","summary":"Fetch recent public X/Twitter posts by named handle for monitoring, comparison, OSINT, and research.","description":"Fetch recent public X/Twitter posts by named handle for monitoring, comparison, OSINT, and research.","publisher":{"name":"lvpiggyqq","url":null},"homepage":"https://xcatcher.top/","repository":"https://github.com/lvpiggyqq/xcatcher-mcp-manifest","version":"3.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://xcatcher.top/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-10T23:23:37.245663Z","publishedAt":"2026-08-10T23:23:37.245663Z","registryName":"io.github.lvpiggyqq/xcatcher"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.social","name":"Social Media","confidence":1,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":1,"provenance":"derived"},{"slug":"commerce.payments","name":"Payments","confidence":0.977,"provenance":"derived"},{"slug":"code.documentation","name":"Code Documentation","confidence":0.583,"provenance":"derived"},{"slug":"finance.banking","name":"Banking","confidence":0.583,"provenance":"derived"},{"slug":"dev.terminal","name":"Terminal & Shell","confidence":0.525,"provenance":"derived"},{"slug":"knowledge.reasoning","name":"Reasoning & Planning","confidence":0.525,"provenance":"derived"}],"categories":["code","commerce","content","dev","finance","knowledge"]},"observed":{"status":"live","statusReason":"Responded 16h ago.","lastOkAt":"2026-09-08T12:22:34.057Z","lastProbedAt":"2026-09-08T12:22:34.057Z","statusComputedAt":"2026-09-08T12:45:02.168Z","reliability30d":{"probes":6,"successRate":1,"p50Ms":1012},"latestObservations":[{"at":"2026-09-09T01:24:10.264Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":645,"error":null,"detail":{"tools":[{"name":"get_service_info","description":"Read Xcatcher's live capabilities, prices, limits, endpoints, and recommended agent workflow. Call this first when planning a crawl or when cached documentation"},{"name":"preflight_crawl","description":"Normalize and deduplicate X handles, validate the mode, and preview the current modeled points/USDC cost. This free read-only check requires no account, creates"},{"name":"get_sample_result","description":"Return a stable synthetic example of Xcatcher's paginated result and coverage metadata. No live X data is fetched, no account is needed, no task or quote is cre"},{"name":"get_account_balance","description":"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. "},{"name":"list_crawl_tasks","description":"List recent tasks owned by the current Bearer API key, newest first. Use next_before_id for cursor pagination. Read-only and does not consume points."},{"name":"get_x402_quote","description":"Create a short-lived USDC quote for a requested number of Xcatcher points. Returns the exact live amount and supported Base/Solana payment requirements; it does"},{"name":"get_direct_crawl_payment","description":"Create a request-bound x402 v2 payment requirement for an accountless crawl. Use this only for the accountless x402 path after preflight_crawl; API-key accounts"},{"name":"submit_direct_crawl_payment","description":"Submit an x402 v2 PAYMENT-SIGNATURE for the exact users/mode used by get_direct_crawl_payment. This may settle USDC and create a crawl task. Call only after exp"},{"name":"get_direct_task_status","description":"Read an accountless paid crawl using its task_id and task-scoped token. Use this instead of get_task_status for an accountless x402 task. Poll every 5-10 second"},{"name":"get_direct_result_preview","description":"Return structured JSON rows for a completed accountless paid crawl. Use this instead of get_result_preview for an accountless x402 task; API-key accounts use ge"},{"name":"create_crawl_task","description":"Create a crawl task for one or more X (Twitter) usernames. Side effects: creates a new task AND consumes points.\n\nIf points are insufficient, upstream returns H"},{"name":"x402_topup","description":"Top up points for the CURRENT Bearer key using x402 proof.\n\nInputs:\n- quote_id: returned by PAYMENT-REQUIRED (or /api/v1/x402/quote)\n- payment_signature_b64: ba"},{"name":"get_task_status","description":"Get API-key account task status by task_id (read-only); accountless x402 tasks use get_direct_task_status instead. Recommended polling interval: every 5–10 seco"},{"name":"wait_for_task","description":"Poll a crawl task server-side until it has a result, reaches a terminal failure/cancelled state, or the bounded timeout expires. Read-only and cheaper for agent"},{"name":"get_result_preview","description":"Return up to 100 result rows from an API-key account task as native structured JSON for direct agent analysis; accountless x402 tasks use get_direct_result_prev"},{"name":"get_result_download_url","description":"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"},{"name":"cancel_task","description":"Cancel a queued task by task_id. Side effects: changes task state. Xcatcher refunds cost_points when a queued task is successfully cancelled."}],"toolCount":17,"serverName":"Xcatcher Remote MCP","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.26.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-08T18:21:09.430Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":655,"error":null,"detail":{"tools":[{"name":"get_service_info","description":"Read Xcatcher's live capabilities, prices, limits, endpoints, and recommended agent workflow. Call this first when planning a crawl or when cached documentation"},{"name":"preflight_crawl","description":"Normalize and deduplicate X handles, validate the mode, and preview the current modeled points/USDC cost. This free read-only check requires no account, creates"},{"name":"get_sample_result","description":"Return a stable synthetic example of Xcatcher's paginated result and coverage metadata. No live X data is fetched, no account is needed, no task or quote is cre"},{"name":"get_account_balance","description":"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. "},{"name":"list_crawl_tasks","description":"List recent tasks owned by the current Bearer API key, newest first. Use next_before_id for cursor pagination. Read-only and does not consume points."},{"name":"get_x402_quote","description":"Create a short-lived USDC quote for a requested number of Xcatcher points. Returns the exact live amount and supported Base/Solana payment requirements; it does"},{"name":"get_direct_crawl_payment","description":"Create a request-bound x402 v2 payment requirement for an accountless crawl. Use this only for the accountless x402 path after preflight_crawl; API-key accounts"},{"name":"submit_direct_crawl_payment","description":"Submit an x402 v2 PAYMENT-SIGNATURE for the exact users/mode used by get_direct_crawl_payment. This may settle USDC and create a crawl task. Call only after exp"},{"name":"get_direct_task_status","description":"Read an accountless paid crawl using its task_id and task-scoped token. Use this instead of get_task_status for an accountless x402 task. Poll every 5-10 second"},{"name":"get_direct_result_preview","description":"Return structured JSON rows for a completed accountless paid crawl. Use this instead of get_result_preview for an accountless x402 task; API-key accounts use ge"},{"name":"create_crawl_task","description":"Create a crawl task for one or more X (Twitter) usernames. Side effects: creates a new task AND consumes points.\n\nIf points are insufficient, upstream returns H"},{"name":"x402_topup","description":"Top up points for the CURRENT Bearer key using x402 proof.\n\nInputs:\n- quote_id: returned by PAYMENT-REQUIRED (or /api/v1/x402/quote)\n- payment_signature_b64: ba"},{"name":"get_task_status","description":"Get API-key account task status by task_id (read-only); accountless x402 tasks use get_direct_task_status instead. Recommended polling interval: every 5–10 seco"},{"name":"wait_for_task","description":"Poll a crawl task server-side until it has a result, reaches a terminal failure/cancelled state, or the bounded timeout expires. Read-only and cheaper for agent"},{"name":"get_result_preview","description":"Return up to 100 result rows from an API-key account task as native structured JSON for direct agent analysis; accountless x402 tasks use get_direct_result_prev"},{"name":"get_result_download_url","description":"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"},{"name":"cancel_task","description":"Cancel a queued task by task_id. Side effects: changes task state. Xcatcher refunds cost_points when a queued task is successfully cancelled."}],"toolCount":17,"serverName":"Xcatcher Remote MCP","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.26.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-08T12:22:34.057Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":675,"error":null,"detail":{"tools":[{"name":"get_service_info","description":"Read Xcatcher's live capabilities, prices, limits, endpoints, and recommended agent workflow. Call this first when planning a crawl or when cached documentation"},{"name":"preflight_crawl","description":"Normalize and deduplicate X handles, validate the mode, and preview the current modeled points/USDC cost. This free read-only check requires no account, creates"},{"name":"get_sample_result","description":"Return a stable synthetic example of Xcatcher's paginated result and coverage metadata. No live X data is fetched, no account is needed, no task or quote is cre"},{"name":"get_account_balance","description":"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. "},{"name":"list_crawl_tasks","description":"List recent tasks owned by the current Bearer API key, newest first. Use next_before_id for cursor pagination. Read-only and does not consume points."},{"name":"get_x402_quote","description":"Create a short-lived USDC quote for a requested number of Xcatcher points. Returns the exact live amount and supported Base/Solana payment requirements; it does"},{"name":"get_direct_crawl_payment","description":"Create a request-bound x402 v2 payment requirement for an accountless crawl. Use this only for the accountless x402 path after preflight_crawl; API-key accounts"},{"name":"submit_direct_crawl_payment","description":"Submit an x402 v2 PAYMENT-SIGNATURE for the exact users/mode used by get_direct_crawl_payment. This may settle USDC and create a crawl task. Call only after exp"},{"name":"get_direct_task_status","description":"Read an accountless paid crawl using its task_id and task-scoped token. Use this instead of get_task_status for an accountless x402 task. Poll every 5-10 second"},{"name":"get_direct_result_preview","description":"Return structured JSON rows for a completed accountless paid crawl. Use this instead of get_result_preview for an accountless x402 task; API-key accounts use ge"},{"name":"create_crawl_task","description":"Create a crawl task for one or more X (Twitter) usernames. Side effects: creates a new task AND consumes points.\n\nIf points are insufficient, upstream returns H"},{"name":"x402_topup","description":"Top up points for the CURRENT Bearer key using x402 proof.\n\nInputs:\n- quote_id: returned by PAYMENT-REQUIRED (or /api/v1/x402/quote)\n- payment_signature_b64: ba"},{"name":"get_task_status","description":"Get API-key account task status by task_id (read-only); accountless x402 tasks use get_direct_task_status instead. Recommended polling interval: every 5–10 seco"},{"name":"wait_for_task","description":"Poll a crawl task server-side until it has a result, reaches a terminal failure/cancelled state, or the bounded timeout expires. Read-only and cheaper for agent"},{"name":"get_result_preview","description":"Return up to 100 result rows from an API-key account task as native structured JSON for direct agent analysis; accountless x402 tasks use get_direct_result_prev"},{"name":"get_result_download_url","description":"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"},{"name":"cancel_task","description":"Cancel a queued task by task_id. Side effects: changes task state. Xcatcher refunds cost_points when a queued task is successfully cancelled."}],"toolCount":17,"serverName":"Xcatcher Remote MCP","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.26.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-08T05:22:11.506Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":2024,"error":null,"detail":{"tools":[{"name":"get_service_info","description":"Read Xcatcher's live capabilities, prices, limits, endpoints, and recommended agent workflow. Call this first when planning a crawl or when cached documentation"},{"name":"preflight_crawl","description":"Normalize and deduplicate X handles, validate the mode, and preview the current modeled points/USDC cost. This free read-only check requires no account, creates"},{"name":"get_sample_result","description":"Return a stable synthetic example of Xcatcher's paginated result and coverage metadata. No live X data is fetched, no account is needed, no task or quote is cre"},{"name":"get_account_balance","description":"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. "},{"name":"list_crawl_tasks","description":"List recent tasks owned by the current Bearer API key, newest first. Use next_before_id for cursor pagination. Read-only and does not consume points."},{"name":"get_x402_quote","description":"Create a short-lived USDC quote for a requested number of Xcatcher points. Returns the exact live amount and supported Base/Solana payment requirements; it does"},{"name":"get_direct_crawl_payment","description":"Create a request-bound x402 v2 payment requirement for an accountless crawl. Use this only for the accountless x402 path after preflight_crawl; API-key accounts"},{"name":"submit_direct_crawl_payment","description":"Submit an x402 v2 PAYMENT-SIGNATURE for the exact users/mode used by get_direct_crawl_payment. This may settle USDC and create a crawl task. Call only after exp"},{"name":"get_direct_task_status","description":"Read an accountless paid crawl using its task_id and task-scoped token. Use this instead of get_task_status for an accountless x402 task. Poll every 5-10 second"},{"name":"get_direct_result_preview","description":"Return structured JSON rows for a completed accountless paid crawl. Use this instead of get_result_preview for an accountless x402 task; API-key accounts use ge"},{"name":"create_crawl_task","description":"Create a crawl task for one or more X (Twitter) usernames. Side effects: creates a new task AND consumes points.\n\nIf points are insufficient, upstream returns H"},{"name":"x402_topup","description":"Top up points for the CURRENT Bearer key using x402 proof.\n\nInputs:\n- quote_id: returned by PAYMENT-REQUIRED (or /api/v1/x402/quote)\n- payment_signature_b64: ba"},{"name":"get_task_status","description":"Get API-key account task status by task_id (read-only); accountless x402 tasks use get_direct_task_status instead. Recommended polling interval: every 5–10 seco"},{"name":"wait_for_task","description":"Poll a crawl task server-side until it has a result, reaches a terminal failure/cancelled state, or the bounded timeout expires. Read-only and cheaper for agent"},{"name":"get_result_preview","description":"Return up to 100 result rows from an API-key account task as native structured JSON for direct agent analysis; accountless x402 tasks use get_direct_result_prev"},{"name":"get_result_download_url","description":"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"},{"name":"cancel_task","description":"Cancel a queued task by task_id. Side effects: changes task state. Xcatcher refunds cost_points when a queued task is successfully cancelled."}],"toolCount":17,"serverName":"Xcatcher Remote MCP","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.26.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T22:21:53.866Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":641,"error":null,"detail":{"tools":[{"name":"get_service_info","description":"Read Xcatcher's live capabilities, prices, limits, endpoints, and recommended agent workflow. Call this first when planning a crawl or when cached documentation"},{"name":"preflight_crawl","description":"Normalize and deduplicate X handles, validate the mode, and preview the current modeled points/USDC cost. This free read-only check requires no account, creates"},{"name":"get_sample_result","description":"Return a stable synthetic example of Xcatcher's paginated result and coverage metadata. No live X data is fetched, no account is needed, no task or quote is cre"},{"name":"get_account_balance","description":"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. "},{"name":"list_crawl_tasks","description":"List recent tasks owned by the current Bearer API key, newest first. Use next_before_id for cursor pagination. Read-only and does not consume points."},{"name":"get_x402_quote","description":"Create a short-lived USDC quote for a requested number of Xcatcher points. Returns the exact live amount and supported Base/Solana payment requirements; it does"},{"name":"get_direct_crawl_payment","description":"Create a request-bound x402 v2 payment requirement for an accountless crawl. Use this only for the accountless x402 path after preflight_crawl; API-key accounts"},{"name":"submit_direct_crawl_payment","description":"Submit an x402 v2 PAYMENT-SIGNATURE for the exact users/mode used by get_direct_crawl_payment. This may settle USDC and create a crawl task. Call only after exp"},{"name":"get_direct_task_status","description":"Read an accountless paid crawl using its task_id and task-scoped token. Use this instead of get_task_status for an accountless x402 task. Poll every 5-10 second"},{"name":"get_direct_result_preview","description":"Return structured JSON rows for a completed accountless paid crawl. Use this instead of get_result_preview for an accountless x402 task; API-key accounts use ge"},{"name":"create_crawl_task","description":"Create a crawl task for one or more X (Twitter) usernames. Side effects: creates a new task AND consumes points.\n\nIf points are insufficient, upstream returns H"},{"name":"x402_topup","description":"Top up points for the CURRENT Bearer key using x402 proof.\n\nInputs:\n- quote_id: returned by PAYMENT-REQUIRED (or /api/v1/x402/quote)\n- payment_signature_b64: ba"},{"name":"get_task_status","description":"Get API-key account task status by task_id (read-only); accountless x402 tasks use get_direct_task_status instead. Recommended polling interval: every 5–10 seco"},{"name":"wait_for_task","description":"Poll a crawl task server-side until it has a result, reaches a terminal failure/cancelled state, or the bounded timeout expires. Read-only and cheaper for agent"},{"name":"get_result_preview","description":"Return up to 100 result rows from an API-key account task as native structured JSON for direct agent analysis; accountless x402 tasks use get_direct_result_prev"},{"name":"get_result_download_url","description":"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"},{"name":"cancel_task","description":"Cancel a queued task by task_id. Side effects: changes task state. Xcatcher refunds cost_points when a queued task is successfully cancelled."}],"toolCount":17,"serverName":"Xcatcher Remote MCP","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.26.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T15:21:56.110Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":696,"error":null,"detail":{"tools":[{"name":"get_service_info","description":"Read Xcatcher's live capabilities, prices, limits, endpoints, and recommended agent workflow. Call this first when planning a crawl or when cached documentation"},{"name":"preflight_crawl","description":"Normalize and deduplicate X handles, validate the mode, and preview the current modeled points/USDC cost. This free read-only check requires no account, creates"},{"name":"get_sample_result","description":"Return a stable synthetic example of Xcatcher's paginated result and coverage metadata. No live X data is fetched, no account is needed, no task or quote is cre"},{"name":"get_account_balance","description":"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. "},{"name":"list_crawl_tasks","description":"List recent tasks owned by the current Bearer API key, newest first. Use next_before_id for cursor pagination. Read-only and does not consume points."},{"name":"get_x402_quote","description":"Create a short-lived USDC quote for a requested number of Xcatcher points. Returns the exact live amount and supported Base/Solana payment requirements; it does"},{"name":"get_direct_crawl_payment","description":"Create a request-bound x402 v2 payment requirement for an accountless crawl. Use this only for the accountless x402 path after preflight_crawl; API-key accounts"},{"name":"submit_direct_crawl_payment","description":"Submit an x402 v2 PAYMENT-SIGNATURE for the exact users/mode used by get_direct_crawl_payment. This may settle USDC and create a crawl task. Call only after exp"},{"name":"get_direct_task_status","description":"Read an accountless paid crawl using its task_id and task-scoped token. Use this instead of get_task_status for an accountless x402 task. Poll every 5-10 second"},{"name":"get_direct_result_preview","description":"Return structured JSON rows for a completed accountless paid crawl. Use this instead of get_result_preview for an accountless x402 task; API-key accounts use ge"},{"name":"create_crawl_task","description":"Create a crawl task for one or more X (Twitter) usernames. Side effects: creates a new task AND consumes points.\n\nIf points are insufficient, upstream returns H"},{"name":"x402_topup","description":"Top up points for the CURRENT Bearer key using x402 proof.\n\nInputs:\n- quote_id: returned by PAYMENT-REQUIRED (or /api/v1/x402/quote)\n- payment_signature_b64: ba"},{"name":"get_task_status","description":"Get API-key account task status by task_id (read-only); accountless x402 tasks use get_direct_task_status instead. Recommended polling interval: every 5–10 seco"},{"name":"wait_for_task","description":"Poll a crawl task server-side until it has a result, reaches a terminal failure/cancelled state, or the bounded timeout expires. Read-only and cheaper for agent"},{"name":"get_result_preview","description":"Return up to 100 result rows from an API-key account task as native structured JSON for direct agent analysis; accountless x402 tasks use get_direct_result_prev"},{"name":"get_result_download_url","description":"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"},{"name":"cancel_task","description":"Cancel a queued task by task_id. Side effects: changes task state. Xcatcher refunds cost_points when a queued task is successfully cancelled."}],"toolCount":17,"serverName":"Xcatcher Remote MCP","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.26.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T08:30:09.430Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":715,"error":null,"detail":{"tools":[{"name":"get_service_info","description":"Read Xcatcher's live capabilities, prices, limits, endpoints, and recommended agent workflow. Call this first when planning a crawl or when cached documentation"},{"name":"preflight_crawl","description":"Normalize and deduplicate X handles, validate the mode, and preview the current modeled points/USDC cost. This free read-only check requires no account, creates"},{"name":"get_sample_result","description":"Return a stable synthetic example of Xcatcher's paginated result and coverage metadata. No live X data is fetched, no account is needed, no task or quote is cre"},{"name":"get_account_balance","description":"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. "},{"name":"list_crawl_tasks","description":"List recent tasks owned by the current Bearer API key, newest first. Use next_before_id for cursor pagination. Read-only and does not consume points."},{"name":"get_x402_quote","description":"Create a short-lived USDC quote for a requested number of Xcatcher points. Returns the exact live amount and supported Base/Solana payment requirements; it does"},{"name":"get_direct_crawl_payment","description":"Create a request-bound x402 v2 payment requirement for an accountless crawl. Use this only for the accountless x402 path after preflight_crawl; API-key accounts"},{"name":"submit_direct_crawl_payment","description":"Submit an x402 v2 PAYMENT-SIGNATURE for the exact users/mode used by get_direct_crawl_payment. This may settle USDC and create a crawl task. Call only after exp"},{"name":"get_direct_task_status","description":"Read an accountless paid crawl using its task_id and task-scoped token. Use this instead of get_task_status for an accountless x402 task. Poll every 5-10 second"},{"name":"get_direct_result_preview","description":"Return structured JSON rows for a completed accountless paid crawl. Use this instead of get_result_preview for an accountless x402 task; API-key accounts use ge"},{"name":"create_crawl_task","description":"Create a crawl task for one or more X (Twitter) usernames. Side effects: creates a new task AND consumes points.\n\nIf points are insufficient, upstream returns H"},{"name":"x402_topup","description":"Top up points for the CURRENT Bearer key using x402 proof.\n\nInputs:\n- quote_id: returned by PAYMENT-REQUIRED (or /api/v1/x402/quote)\n- payment_signature_b64: ba"},{"name":"get_task_status","description":"Get API-key account task status by task_id (read-only); accountless x402 tasks use get_direct_task_status instead. Recommended polling interval: every 5–10 seco"},{"name":"wait_for_task","description":"Poll a crawl task server-side until it has a result, reaches a terminal failure/cancelled state, or the bounded timeout expires. Read-only and cheaper for agent"},{"name":"get_result_preview","description":"Return up to 100 result rows from an API-key account task as native structured JSON for direct agent analysis; accountless x402 tasks use get_direct_result_prev"},{"name":"get_result_download_url","description":"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"},{"name":"cancel_task","description":"Cancel a queued task by task_id. Side effects: changes task state. Xcatcher refunds cost_points when a queued task is successfully cancelled."}],"toolCount":17,"serverName":"Xcatcher Remote MCP","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.26.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T02:24:26.363Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":652,"error":null,"detail":{"tools":[{"name":"get_service_info","description":"Read Xcatcher's live capabilities, prices, limits, endpoints, and recommended agent workflow. Call this first when planning a crawl or when cached documentation"},{"name":"preflight_crawl","description":"Normalize and deduplicate X handles, validate the mode, and preview the current modeled points/USDC cost. This free read-only check requires no account, creates"},{"name":"get_sample_result","description":"Return a stable synthetic example of Xcatcher's paginated result and coverage metadata. No live X data is fetched, no account is needed, no task or quote is cre"},{"name":"get_account_balance","description":"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. "},{"name":"list_crawl_tasks","description":"List recent tasks owned by the current Bearer API key, newest first. Use next_before_id for cursor pagination. Read-only and does not consume points."},{"name":"get_x402_quote","description":"Create a short-lived USDC quote for a requested number of Xcatcher points. Returns the exact live amount and supported Base/Solana payment requirements; it does"},{"name":"get_direct_crawl_payment","description":"Create a request-bound x402 v2 payment requirement for an accountless crawl. Use this only for the accountless x402 path after preflight_crawl; API-key accounts"},{"name":"submit_direct_crawl_payment","description":"Submit an x402 v2 PAYMENT-SIGNATURE for the exact users/mode used by get_direct_crawl_payment. This may settle USDC and create a crawl task. Call only after exp"},{"name":"get_direct_task_status","description":"Read an accountless paid crawl using its task_id and task-scoped token. Use this instead of get_task_status for an accountless x402 task. Poll every 5-10 second"},{"name":"get_direct_result_preview","description":"Return structured JSON rows for a completed accountless paid crawl. Use this instead of get_result_preview for an accountless x402 task; API-key accounts use ge"},{"name":"create_crawl_task","description":"Create a crawl task for one or more X (Twitter) usernames. Side effects: creates a new task AND consumes points.\n\nIf points are insufficient, upstream returns H"},{"name":"x402_topup","description":"Top up points for the CURRENT Bearer key using x402 proof.\n\nInputs:\n- quote_id: returned by PAYMENT-REQUIRED (or /api/v1/x402/quote)\n- payment_signature_b64: ba"},{"name":"get_task_status","description":"Get API-key account task status by task_id (read-only); accountless x402 tasks use get_direct_task_status instead. Recommended polling interval: every 5–10 seco"},{"name":"wait_for_task","description":"Poll a crawl task server-side until it has a result, reaches a terminal failure/cancelled state, or the bounded timeout expires. Read-only and cheaper for agent"},{"name":"get_result_preview","description":"Return up to 100 result rows from an API-key account task as native structured JSON for direct agent analysis; accountless x402 tasks use get_direct_result_prev"},{"name":"get_result_download_url","description":"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"},{"name":"cancel_task","description":"Cancel a queued task by task_id. Side effects: changes task state. Xcatcher refunds cost_points when a queued task is successfully cancelled."}],"toolCount":17,"serverName":"Xcatcher Remote MCP","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.26.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-06T19:21:25.865Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":654,"error":null,"detail":{"tools":[{"name":"get_service_info","description":"Read Xcatcher's live capabilities, prices, limits, endpoints, and recommended agent workflow. Call this first when planning a crawl or when cached documentation"},{"name":"preflight_crawl","description":"Normalize and deduplicate X handles, validate the mode, and preview the current modeled points/USDC cost. This free read-only check requires no account, creates"},{"name":"get_sample_result","description":"Return a stable synthetic example of Xcatcher's paginated result and coverage metadata. No live X data is fetched, no account is needed, no task or quote is cre"},{"name":"get_account_balance","description":"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. "},{"name":"list_crawl_tasks","description":"List recent tasks owned by the current Bearer API key, newest first. Use next_before_id for cursor pagination. Read-only and does not consume points."},{"name":"get_x402_quote","description":"Create a short-lived USDC quote for a requested number of Xcatcher points. Returns the exact live amount and supported Base/Solana payment requirements; it does"},{"name":"get_direct_crawl_payment","description":"Create a request-bound x402 v2 payment requirement for an accountless crawl. Use this only for the accountless x402 path after preflight_crawl; API-key accounts"},{"name":"submit_direct_crawl_payment","description":"Submit an x402 v2 PAYMENT-SIGNATURE for the exact users/mode used by get_direct_crawl_payment. This may settle USDC and create a crawl task. Call only after exp"},{"name":"get_direct_task_status","description":"Read an accountless paid crawl using its task_id and task-scoped token. Use this instead of get_task_status for an accountless x402 task. Poll every 5-10 second"},{"name":"get_direct_result_preview","description":"Return structured JSON rows for a completed accountless paid crawl. Use this instead of get_result_preview for an accountless x402 task; API-key accounts use ge"},{"name":"create_crawl_task","description":"Create a crawl task for one or more X (Twitter) usernames. Side effects: creates a new task AND consumes points.\n\nIf points are insufficient, upstream returns H"},{"name":"x402_topup","description":"Top up points for the CURRENT Bearer key using x402 proof.\n\nInputs:\n- quote_id: returned by PAYMENT-REQUIRED (or /api/v1/x402/quote)\n- payment_signature_b64: ba"},{"name":"get_task_status","description":"Get API-key account task status by task_id (read-only); accountless x402 tasks use get_direct_task_status instead. Recommended polling interval: every 5–10 seco"},{"name":"wait_for_task","description":"Poll a crawl task server-side until it has a result, reaches a terminal failure/cancelled state, or the bounded timeout expires. Read-only and cheaper for agent"},{"name":"get_result_preview","description":"Return up to 100 result rows from an API-key account task as native structured JSON for direct agent analysis; accountless x402 tasks use get_direct_result_prev"},{"name":"get_result_download_url","description":"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"},{"name":"cancel_task","description":"Cancel a queued task by task_id. Side effects: changes task state. Xcatcher refunds cost_points when a queued task is successfully cancelled."}],"toolCount":17,"serverName":"Xcatcher Remote MCP","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.26.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"get_service_info","description":"Read Xcatcher's live capabilities, prices, limits, endpoints, and recommended agent workflow. Call this first when planning a crawl or when cached documentation"},{"name":"preflight_crawl","description":"Normalize and deduplicate X handles, validate the mode, and preview the current modeled points/USDC cost. This free read-only check requires no account, creates"},{"name":"get_sample_result","description":"Return a stable synthetic example of Xcatcher's paginated result and coverage metadata. No live X data is fetched, no account is needed, no task or quote is cre"},{"name":"get_account_balance","description":"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. "},{"name":"list_crawl_tasks","description":"List recent tasks owned by the current Bearer API key, newest first. Use next_before_id for cursor pagination. Read-only and does not consume points."},{"name":"get_x402_quote","description":"Create a short-lived USDC quote for a requested number of Xcatcher points. Returns the exact live amount and supported Base/Solana payment requirements; it does"},{"name":"get_direct_crawl_payment","description":"Create a request-bound x402 v2 payment requirement for an accountless crawl. Use this only for the accountless x402 path after preflight_crawl; API-key accounts"},{"name":"submit_direct_crawl_payment","description":"Submit an x402 v2 PAYMENT-SIGNATURE for the exact users/mode used by get_direct_crawl_payment. This may settle USDC and create a crawl task. Call only after exp"},{"name":"get_direct_task_status","description":"Read an accountless paid crawl using its task_id and task-scoped token. Use this instead of get_task_status for an accountless x402 task. Poll every 5-10 second"},{"name":"get_direct_result_preview","description":"Return structured JSON rows for a completed accountless paid crawl. Use this instead of get_result_preview for an accountless x402 task; API-key accounts use ge"},{"name":"create_crawl_task","description":"Create a crawl task for one or more X (Twitter) usernames. Side effects: creates a new task AND consumes points.\n\nIf points are insufficient, upstream returns H"},{"name":"x402_topup","description":"Top up points for the CURRENT Bearer key using x402 proof.\n\nInputs:\n- quote_id: returned by PAYMENT-REQUIRED (or /api/v1/x402/quote)\n- payment_signature_b64: ba"},{"name":"get_task_status","description":"Get API-key account task status by task_id (read-only); accountless x402 tasks use get_direct_task_status instead. Recommended polling interval: every 5–10 seco"},{"name":"wait_for_task","description":"Poll a crawl task server-side until it has a result, reaches a terminal failure/cancelled state, or the bounded timeout expires. Read-only and cheaper for agent"},{"name":"get_result_preview","description":"Return up to 100 result rows from an API-key account task as native structured JSON for direct agent analysis; accountless x402 tasks use get_direct_result_prev"},{"name":"get_result_download_url","description":"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"},{"name":"cancel_task","description":"Cancel a queued task by task_id. Side effects: changes task state. Xcatcher refunds cost_points when a queued task is successfully cancelled."}],"package":null},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.lvpiggyqq/xcatcher","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.lvpiggyqq%2Fxcatcher","firstSeenAt":"2026-09-06T18:19:26.406Z","fetchedAt":"2026-09-08T16:21:26.367Z","normalizedAt":"2026-09-08T16:21:26.367Z"}]},"firstSeenAt":"2026-09-06T18:19:26.406Z","updatedAt":"2026-09-08T12:45:21.541Z"}