Skip to main content
Xquik API MCP exposes the REST API through Model Context Protocol. Code Mode is the default. Native mode exposes one tool per OpenAPI operation. Full credentials see every JSON or text route. Private support media downloads use REST. Guest paid_reads keys see only the eligible paid-read routes.
Public reads need no connected X account. This covers tweets, profiles, followers, replies, timelines, communities & lists. Every X write requires one. Private reads also require one: DMs, bookmarks, notifications, home timeline, likes, likers & mutual followers. See Connect X account.
This page covers the API MCP server at https://xquik.com/mcp for authenticated account actions and guest paid reads. For public documentation search, use the Docs MCP server at https://docs.xquik.com/mcp. Supported browsers expose a read-only WebMCP tool on the homepage. It searches the public OpenAPI contract without calling an endpoint.

Connection

Protocol

Model Context Protocol over Streamable HTTP.

Endpoint

Connect clients to https://xquik.com/mcp.

Server version

server/discover returns the deployed server version.

Authentication

Prefer OAuth 2.1. API keys remain available for clients with secure header storage.
GET and POST on /.well-known/mcp.json return a compatibility document derived from the MCP Registry manifest. /server.json and /.well-known/mcp/server-card.json return the same document. Its standard remotes entry identifies the streamable-http endpoint. Extra top-level convenience fields support older clients. They are not MCP Registry or experimental MCP Server Card fields. OAuth clients read GET /.well-known/oauth-protected-resource/mcp for protected-resource metadata. Compatibility clients can also read GET /.well-known/oauth-protected-resource/.well-known/mcp.json. It redirects to the canonical metadata URL. Registry-compatible clients receive a streamable-http remote for https://xquik.com/mcp. OAuth-capable clients discover authentication from the endpoint. Clients without OAuth may send an API key as Authorization: Bearer {XQUIK_API_KEY} or x-api-key: {XQUIK_API_KEY}. Create API keys at https://dashboard.xquik.com/en/account?tab=api-keys. The direct client examples below use OAuth. Use the API-key fallback only when the client documents secure request headers. Discover Xquik through https://xquik.com/.well-known/ard.json or https://xquik.com/.well-known/agents.json. ARD lists the MCP server and the REST API, each with example queries and its https://xquik.com identity. The agent catalog adds the public A2A docs agent, capabilities, OAuth metadata, and https://xquik.com/auth.md. auth.md covers Client ID Metadata Documents (CIMD), Dynamic Client Registration (DCR), PKCE, and the mcp:tools & mcp:read scopes. MCP connection metadata also lives at https://xquik.com/.well-known/mcp.json. DCR at https://xquik.com/api/oauth/register is the supported anonymous OAuth client registration path when a client cannot use CIMD. Agent Skills discovery is available at https://xquik.com/.well-known/agent-skills/index.json. It publishes a SHA-256 digest for Xquik’s hosted SKILL.md. Compatible agents can verify the downloaded instructions.

MCP 2026-07-28

Xquik supports MCP 2026-07-28 at the same Streamable HTTP endpoint. Current clients start with server/discover. They do not call initialize or create a session for a modern connection. Use a current MCP SDK. It adds the request _meta envelope and required HTTP headers automatically. Modern requests must advertise both application/json and text/event-stream. Read X-Request-Id on MCP responses, including authentication and protocol errors. Include it and the UTC time when reporting failures. It identifies the HTTP request, not the JSON-RPC message or authenticated session. Allowed browser clients can send and read this header. server/discover and tools/list include private cache hints with a 5-minute TTL. Code Mode advertises tool-list changes. Native catalogs stay static. Cache only within the same authorization context. Xquik also accepts stateless 2025-era clients at the same endpoint. This keeps existing integrations working while current SDKs adopt 2026-07-28.
Modern Xquik connections are request-scoped. Ignore legacy session IDs and resume state. Let the client SDK negotiate the protocol.
Unauthenticated requests to https://xquik.com/mcp return 401 with a WWW-Authenticate: Bearer challenge. The challenge includes resource_metadata="https://xquik.com/.well-known/oauth-protected-resource/mcp", scope="mcp:tools", and the OAuth realm. The JSON body is { "error": "Authentication required" }. OAuth-capable clients use the challenge to discover the authorization metadata. API-key clients should send x-api-key on the first request. A supplied invalid bearer token adds error="invalid_token" and error_description="Invalid access token" to the challenge.

Authentication

The MCP server supports 2 authentication methods:
  • OAuth 2.1 (recommended): Compatible clients discover Xquik, open the browser login and consent flow, then store and refresh Bearer tokens. Xquik supports CIMD and DCR. Normal client setup needs no manual client ID, client secret, or API key.
  • API key (x-api-key or Authorization: Bearer xq_your_api_key_here): This is an Xquik-specific fallback, not an OAuth token. Do not apply OAuth discovery or refresh rules. Use it only with secure header storage. Full account keys expose every catalog route. Active guest keys expose the paid_reads routes.
See OAuth 2.1 authorization for discovery URLs, token lifetimes, client registration, and implementation details.

Choose a tool mode

Use the default endpoint for Code Mode:
Code Mode uses 3 tools. API discovery and execution run in isolated sandboxes:

docs

Search X/Twitter scraper & API documentation. Read-only. No credits.

search

Search the X/Twitter API catalog. No network calls or credits.

execute

Call authenticated X/Twitter APIs. Cost follows the endpoint.
server/discover sends no global model instructions. Tool descriptions identify the X/Twitter domain and explain code mechanics. docs searches public documentation. search accepts an async arrow function. spec is global and its first argument. Its examples show endpoint and operation lookup. execute accepts the same form. xquik is global and its first argument. OpenAPI and these docs define endpoint behavior. For a guest paid_reads session, execute is read-only, idempotent, and limited to live calls across the eligible paid-read routes. Use native mode when a client cannot run Code Mode or needs ordinary MCP tools:
Native mode serves an OpenAPI-derived catalog. It validates only the called tool. Full credentials receive docs, readSavedResult, and the OpenAPI operations. Guest keys receive docs, readSavedResult, and the eligible GET operations. Each native tool uses its OpenAPI operationId as its stable name. Its input schema, title, description, HTTP method, path, query parameters, and JSON body come from the same OpenAPI contract as REST and the generated SDKs. The server injects authentication and required idempotency headers. It rejects unknown routes, custom headers, redirects, traversal, and unsupported binary responses. docs searches canonical Xquik documentation. Pass a non-empty query string. readSavedResult reads a saved oversized answer in free pages.

search tool

Searches the full account catalog. The call uses no credits. MCP authentication remains required. The sandbox provides: With a guest paid_reads key, spec.paths contains only the eligible paid-read routes. Inputs resolve inline. Response $ref values point into spec.components.schemas. The catalog includes only response schemas reachable from your allowed operations. Follow references to inspect shared fields and recursive types.

execute tool

Executes API calls. The sandbox provides: Call xquik.request({ path, method?, query?, body? }). It returns success, status, result, errors, and messages. result contains the endpoint body. Pass result_id to project saved data through xquik.result. Recover oversized results without repeating paid requests. See the complete execute contract. The server injects authentication and required idempotency headers. The server reuses each generated key for bounded transient retries. Verify unresolved writes. Retry only when safe_to_retry is true. An execute call can run for up to 55 seconds. Sandbox API requests stop after 54 seconds. The reserve lets completed work return. Disconnecting cancels the call. Timeouts do not cancel durable extraction jobs. Find the job through GET /extractions, then resume with its stored ID. Rejections include error.status when available.

MCP operation boundary

Full credentials expose every JSON or text route of the REST contract. These stay outside:
  • Create, list, or revoke account API keys
  • Start account top-ups or charge a saved payment method
  • Create, poll, or top up a guest wallet
  • Download support attachments or draw and extraction exports
Guest wallet credential routes remain direct REST only. MCP cannot execute POST /api/v1/guest-wallets, POST /api/v1/guest-wallets/topups, or GET /api/v1/guest-wallets/status. Follow the accountless guest wallet guide for confirmation, checkout, polling, and top-up steps. A guest paid_reads MCP session exposes exactly the eligible paid-read routes. It cannot execute writes or any other route. Never start checkout, top-up, subscription, or billing actions because another call returned 402. Report the choices, ask the user to select an amount and option, then wait for explicit confirmation. After confirmation, MCP may execute only an account checkout action present in the full catalog. Guest wallet actions remain direct REST.

MCP vs REST API

MCP follows REST authentication, authorization, billing, and response contracts for every exposed operation.

MCP server

Use MCP for agents and IDE integrations. Full credentials expose every catalog route. Guest keys expose the eligible GET reads. Use REST for binary downloads.

REST API

Use REST for backend services, automation scripts, guest wallet credential routes, and direct access. The REST contract documents every operation and file download response.

Website WebMCP

Supported browsers discover search_xquik_api on https://xquik.com. Pass a non-empty query and optionally set maxResults from 1 to 50. The tool returns matching methods, paths, inputs & response statuses. It sends no credentials, calls no API operation, and spends no credits. The page uses the current document.modelContext API.
Start with Claude.ai for OAuth login or Claude Code for terminal setup.

Client compatibility

See Coding agents & MCP compatibility for current releases & configuration changes. Choose the authentication path that your current client can complete. Xquik keeps OAuth issuer, redirect, resource, and Proof Key for Code Exchange (PKCE) validation enabled for every client. Use the latest stable client before starting OAuth.

Setup

Web and terminal clients

  1. Open Claude Connectors or Customize > Connectors.
  2. Select +, then Add custom connector.
  3. Enter https://xquik.com/mcp.
  4. Select Add.
  5. In a chat, select + > Connectors, enable Xquik, then select Connect and approve access.
Leave the advanced client ID and client secret fields empty. Custom remote connectors require Pro, Max, Team, or Enterprise. On Team and Enterprise, an Owner or Primary Owner must add the connector first.

OpenAI

Use the steps below to connect Xquik directly. No plugin package is required.
Add Xquik & complete browser authorization:
Codex CLI, the IDE extension, and the ChatGPT desktop app share the same config.toml MCP configuration.

Plugin distribution

OpenAI’s September 29, 2026 DevDay announcements add Plugin Extensions & MCP Events. Public directory publication still requires review. Codex supports plugins from your own repository marketplace. These packages can bundle Skills & MCP tools without public directory submission. Follow OpenAI’s packaging guide to distribute your own package. Use the direct MCP setup above for Xquik today. OpenAI documents client support & shared local MCP configuration. CLI users install marketplace plugins through /plugins, then start a new session. Workspace admins can import a GitHub marketplace & configure access for members. Importing does not connect members’ accounts or grant required app access. Workspace publication stays inside that workspace & organization. It does not give customers in other workspaces access. A public directory listing requires OpenAI review & publication. Direct listing links work after publication. Personal connections do not provide a public plugin install link.

Codex API key authentication

Codex also supports API-key authentication. Store the key in an environment variable:
Add this configuration to ~/.codex/config.toml or a trusted project’s .codex/config.toml:
Restart Codex & run codex mcp list. The configured key authenticates requests directly. Never commit the key or place its value in config.toml.

Editor clients

Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):
Cursor starts OAuth when the server first returns 401. You can also run agent mcp login xquik. Approve the server when prompted. Enterprise policy may restrict MCP access.

Other terminal clients

Add the remote server:
If your installed build does not expose the noninteractive add flags, start Copilot CLI and run /mcp add. Enter xquik, choose HTTP, enter https://xquik.com/mcp, keep * for tools, then press Ctrl+S. Run /mcp & complete authentication after the server appears. Enterprise policy may block servers outside the organization allowlist.

Remaining API key and adapter paths

API-key authentication is client-specific. ChatGPT custom apps require OAuth and cannot present custom API keys. Codex uses the environment-backed bearer_token_env_var configuration above. For other clients, follow that client’s documented secret-input or environment-variable syntax. Never copy a generic header example into an incompatible schema, place a literal key in a configuration file, or commit a key.
Goose 1.46.0 and newer support the OAuth issuer callback. Prefer OAuth with current releases:
For API-key authentication, export your key & add this configuration to ~/.config/goose/config.yaml:
Goose substitutes the environment variable before sending the header.

Example prompts

Once connected, ask: Monitoring & events
  • Start watching @elonmusk for new tweets and replies.
  • List the accounts I am monitoring.
  • Show monitored account activity from today.
  • Replay stored events for monitor mon_123 using the last next_cursor as cursor.
  • Stop tracking @elonmusk.
Search & lookup
  • Search recent X posts about TypeScript.
  • Find recent tweets from @vercel.
  • Read this tweet: https://x.com/elonmusk/status/1893456789012345678
  • Get metrics for this tweet: https://x.com/vercel/status/1893704267862470862
User profiles & follows
  • Get @username follower count.
  • Read @openai profile bio.
  • Check whether @elonmusk follows @SpaceX.
  • Check whether @vercel and @nextjs follow each other.
Trends
  • Show current X trends.
  • Show top trending topics in the US.
  • Check whether AI is trending today.
Radar & news
  • Show current Radar trends.
  • Show current Reddit posts with text, links, media, and engagement signals.
  • Show top developer trends today.
  • Show startups ranked by available growth metrics.
  • Get technology topics from the last 12 hours.
  • Show popular knowledge topics right now.
  • Show regional trends for a selected region.
  • Find trending tech news and draft a tweet about one item.
Extractions
  • Pull all replies to this tweet: https://x.com/elonmusk/status/1893456789012345678
  • List users who retweeted this tweet: https://x.com/vercel/status/1893704267862470862
  • Estimate the cost to extract all followers of @elonmusk.
  • Get quote tweets for this post: https://x.com/openai/status/1893456789012345678
  • Extract the full thread for this tweet: https://x.com/elonmusk/status/1893704267862470862
Giveaways
  • Pick 3 random winners from this tweet: https://x.com/example_user/status/1893456789012345678
  • Run a giveaway draw where participants must have retweeted and have at least 100 followers.
  • Show the results of my last giveaway draw.
Webhooks
  • Set up a webhook at https://my-server.com/events for new tweets.
  • List configured webhook endpoints.
  • Remove the webhook pointing to my old server.
Tweet composition
  • Write a casual launch tweet for my new product.
  • Research a fresh angle from Compose’s Radar recommendations.
  • Optimize the draft for engagement.
  • Score this draft: Just shipped v2.0 of our API. What do you think?
  • Improve this tweet to get more replies.
Style analysis & drafts
  • Analyze how @elonmusk tweets.
  • Compare @vercel and @nextjs tweeting styles.
  • Show cached tweet performance.
  • Save this tweet draft for later.
  • Show all saved drafts.
  • Set my X account to @myusername.
X write actions
  • Post a tweet saying: Just shipped v2.0!
  • Like this tweet: https://x.com/vercel/status/1893704267862470862
  • Retweet this: https://x.com/openai/status/1893456789012345678
  • Follow @vercel from my connected account.
  • Send a DM to user ID 44196397 saying hello.
  • Post a tweet saying: New feature! Use public image URL https://example.com/launch.png.
Account & usage
  • Show my plan and month-to-date usage.
  • Check whether I have enough budget left for a large extraction.

Framework guides

Build agents with Xquik’s MCP tools in your preferred framework:

LangChain

Python agents with LangChain + LangGraph

CrewAI

Multi-agent crews with CrewAI

Pydantic AI

Type-safe agents with Pydantic AI

Google ADK

Multi-agent assistants with Google ADK

Mastra

TypeScript agents with Mastra

Microsoft Agent Framework

Python agents with Microsoft Agent Framework

Migrate from Composio

Move an existing Composio workflow to Xquik

AI agent skill

The Xquik Skill documents the Xquik API for AI coding agents. It needs no MCP connection. Install it so your agent can write API integrations, set up webhooks, and configure MCP connections. It works with Claude Code, Cursor, GitHub Copilot, Codex, Windsurf, VS Code, Gemini CLI, and other Skill-capable agents. It covers MCP tools and the REST API operations. To move existing code off the official X API, install the X API alternative Skill with npx skills add Xquik-dev/x-api.