Skip to main content

X (Twitter) MCP Server by Xquik

com.xquik/mcpVersion 2.6.67

Xquik is the world's fastest and cheapest X (Twitter) data API with the most complete X data.

Status

Responds105 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:23 UTC
Latency
105 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://xquik.com/mcpResponds105 ms
No sign-in

Claude Code

claude mcp add --transport http xquik https://xquik.com/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: xquik
Remote MCP server URL: https://xquik.com/mcp

Cursor

{
  "mcpServers": {
    "xquik": {
      "url": "https://xquik.com/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"xquik","type":"http","url":"https://xquik.com/mcp"}'

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

4 tools

Tools of X (Twitter) MCP Server by Xquik
Read-only
Idempotent
Open world
docsSearch Xquik's public docs to answer questions about its X (Twitter) API, MCP setup, SDKs, errors and limits. Queries reach only the read-only docs server. Free.NoYesYesYes
executeExecute JavaScript against Xquik's X (Twitter) API. Reads cost 1 credit per result, 2 per analyzed post & 5 per article. 1,000 credits cost $0.12-$0.15. Writes cost 10 credits & posts from 30. Empty & failed reads are free. First use the search tool to find endpoints, parameters & response schemas. The sandbox declares `interface XquikRequest { path: string; method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE"; query?: Record<string, string | number | boolean | undefined>; body?: unknown } declare const xquik: { result: unknown; request<T = unknown>(options: XquikRequest): Promise<T> }`. request() returns the body as the API sends it. code is an async arrow function. Fields use snake_case, & camelCase reads work too. A missing field reads as undefined & warns with the available keys. An absent field may need a request parameter. Output holds up to 24,000 characters, so large arrays fit after projection. A call ends at 55 s, waits included. A post can take 1 minute. Wait between calls with `await new Promise((r) => setTimeout(r, ms))`. Paged reads return a cursor. Run independent reads with Promise.all. A result_id from an earlier answer lets a later call project its saved data through xquik.result. Authentication & idempotency headers are injected, so code holds no credentials. The sandbox has no filesystem or general network access. A failed request throws an Error naming its method, path, HTTP status & request ID, then the API's error body. Example ```js async () => xquik.request({ path: "<path from search>" }) ```YesNoNoYes
searchSearch the current credential's Xquik OpenAPI catalog for X (Twitter) operations. The sandbox has no network access. spec is global and the async function's first argument. spec.paths maps paths to HTTP methods and operation objects. Fields include operationId, summary, description, readOnly, tags, parameters, requestBody, and responses. The catalog resolves inputs inline. Each response schema describes the body as the API sends it and execute's request() returns it. Response $refs point to reusable schemas in spec.components.schemas. An answer can hold operation descriptions, parameters & response schemas with their paths. Fields remain queryable independently. Answers hold up to 24,000 characters of JSON. Free. Examples ```js // Every tag async (spec) => [...new Set(Object.values(spec.paths).flatMap(Object.values).flatMap((op) => op.tags ?? []))] // Operations tagged Users async (spec) => Object.entries(spec.paths).flatMap(([path, methods]) => Object.entries(methods).filter(([, op]) => op.tags?.includes("Users")).map(([method, op]) => ({ method, path, summary: op.summary }))) // 1 operation's parameters async (spec) => Object.values(spec.paths).flatMap(Object.values).find((op) => op.operationId === "searchTweets")?.parameters ```NoYesYesNo
whoamiReturn the Xquik account this connection is authenticated as. Takes no arguments. The id stays the same across token refresh, reconnection & permission changes. Free.NoYesYesNo

Details

Registry status
Active
Published
Nov 12, 2026
Updated
Nov 12, 2026
Categories (suggested)
Marketing and SEOSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing