← Index

X (Twitter)

io.github.Role1776/mcp-xv0.1.1Search

Search, read and publish X posts and manage users, lists and media via the X API v2.

The current version, v0.1.1, was published to the official MCP registry on 2026-09-09. It is distributed as the Docker image ghcr.io/role1776/mcp-x:0.1.1, filed under Search by this index, and declares 41 environment variables. Removals and unreachable sources are measured across every server this index tracks, contract drift across the servers that answer in consecutive snapshots; the index's current counts put this record in context.

In-path gate · all MCP tools

Using X (Twitter) in Claude, Cursor, Gemini CLI, Cline, or Zed?

MCP tool contracts can change remotely with no version bump. The mcpindex gate pins each contract and HOLDs the call when it drifts-before your agent acts. Zero credentials. This is not the package install for this server itself (use Install this server for that).

Install the mcpindex gate (one command)

Rewrites your MCP host config so each server launches behind the gate. Inspect first: curl -fsSL https://mcpindex.ai/install.sh | less

uv tool install mcpindex-gate && mcpindex-config-wire
Trust verdict · v1 advisory · method
NOT YET SCREENEDno verdict on file

Verdict not yet evaluated for this tool. The semantic screen takes adversarial cases first; coverage rolls out as the corpus expands (15/150 labels to graduation). The deterministic conformance probe is built but has not yet run on the public corpus, so a recorded verdict here is REVIEW or UNVERIFIED, never a clearing ALLOW. Until a verdict is recorded, an agent should treat this tool as not-yet-cleared and fall back to its own checks. Method: the eval, four-state verdict, honest limits.

Own this server? Screen its description →

That verdict was true at screening time (snapshot 2026-09-09).

Contracts can change after screening, with no version bump. The gate pins X (Twitter)’s tool contracts on first sight and holds any silent change before your agent acts - the check that keeps being true on Tuesday.

See your first HOLD in 2 minutes →

Related: how to trust an MCP server · screen before install · silent contract drift

Environment variables
X_API_KEY
requiredsecret

OAuth 1.0a consumer key. developer.x.com -> your project -> your app -> Keys and tokens.

X_API_KEY_SECRET
requiredsecret

OAuth 1.0a consumer secret, issued together with X_API_KEY.

X_ACCESS_TOKEN
requiredsecret

User access token. Set the app permissions to Read and Write BEFORE generating it: a token keeps the permissions it was created with, and a read-only one fails every write until it is regenerated.

X_ACCESS_TOKEN_SECRET
requiredsecret

User access token secret, issued together with X_ACCESS_TOKEN.

MEDIA_ROOT
required

Absolute path to an existing directory - the only one x_media_upload may read files from. Anything outside it is refused, symlinks included. Checked at startup.

MCP_TRANSPORT

stdio (client spawns the process) or http (streamable HTTP listener).

MCP_NAME

Server name reported in the MCP initialize handshake.

MCP_PATH

HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.

SERVER_PORT

TCP port to listen on. Used only when MCP_TRANSPORT=http.

SERVER_READ_TIMEOUT

HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.

SERVER_WRITE_TIMEOUT

HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.

LOG_MODE

local (text, debug) or prod (JSON, info). Logs go to stderr.

MAX_IDLE_CONNS_PER_HOST

Idle connections the outbound HTTP client keeps per host.

X_DEBUG

Log the raw requests sent to the X API. Verbose; the output can contain request details, so keep it off outside debugging.

POSTS_MAX_QUERIES

Queries accepted in one x_posts_search or x_posts_count call.

POSTS_MAX_USERNAMES

Usernames accepted in one x_posts_by_user call.

POSTS_MAX_IDS

Post ids accepted in one x_posts_lookup call. The X API caps this at 100.

POSTS_DEFAULT_RESULTS

Posts returned per query when the call does not ask for a count. Every post returned is billed.

POSTS_MAX_RESULTS

Upper bound for posts per query. The X API caps this at 100.

POSTS_DEFAULT_DAYS

How far back post searches look when the call does not say, in days.

POSTS_MAX_DAYS

Furthest back a post search may look, in days. Recent search cannot exceed 7.

POSTS_DEFAULT_TIMEOUT_MS

Timeout for a posts call in milliseconds when the call does not request one.

POSTS_MIN_TIMEOUT_MS

Lowest timeout a posts call may request, in milliseconds.

POSTS_MAX_TIMEOUT_MS

Highest timeout a posts call may request, in milliseconds.

USERS_MAX_USERNAMES

Usernames accepted in one x_users_lookup call. The X API caps this at 100.

USERS_MAX_IDS

User ids accepted in one x_users_lookup call. The X API caps this at 100.

USERS_DEFAULT_RESULTS

Users returned per page when the call does not ask for a count.

USERS_MAX_RESULTS

Upper bound for users per page.

USERS_DEFAULT_TIMEOUT_MS

Timeout for a users call in milliseconds when the call does not request one.

USERS_MIN_TIMEOUT_MS

Lowest timeout a users call may request, in milliseconds.

USERS_MAX_TIMEOUT_MS

Highest timeout a users call may request, in milliseconds.

LISTS_DEFAULT_RESULTS

Items returned per list page when the call does not ask for a count.

LISTS_MAX_RESULTS

Upper bound for items per list page. The X API caps this at 100.

LISTS_DEFAULT_TIMEOUT_MS

Timeout for a lists call in milliseconds when the call does not request one.

LISTS_MIN_TIMEOUT_MS

Lowest timeout a lists call may request, in milliseconds.

LISTS_MAX_TIMEOUT_MS

Highest timeout a lists call may request, in milliseconds.

MEDIA_CHUNK_BYTES

Bytes per upload segment. The X APPEND endpoint caps a segment at 5 MB.

MEDIA_POLL_INTERVAL_MS

How often the upload status is polled while X transcodes a video, in milliseconds.

MEDIA_DEFAULT_TIMEOUT_MS

Timeout for a whole upload in milliseconds when the call does not request one.

MEDIA_MIN_TIMEOUT_MS

Lowest timeout an upload may request, in milliseconds.

MEDIA_MAX_TIMEOUT_MS

Highest timeout an upload may request, in milliseconds.

X_API_KEY
requiredsecret

OAuth 1.0a consumer key. developer.x.com -> your project -> your app -> Keys and tokens.

X_API_KEY_SECRET
requiredsecret

OAuth 1.0a consumer secret, issued together with X_API_KEY.

X_ACCESS_TOKEN
requiredsecret

User access token. Set the app permissions to Read and Write BEFORE generating it: a token keeps the permissions it was created with, and a read-only one fails every write until it is regenerated.

X_ACCESS_TOKEN_SECRET
requiredsecret

User access token secret, issued together with X_ACCESS_TOKEN.

MEDIA_ROOT
required

Absolute path to an existing directory - the only one x_media_upload may read files from. Anything outside it is refused, symlinks included. Checked at startup.

MCP_TRANSPORT

stdio (client spawns the process) or http (streamable HTTP listener).

MCP_NAME

Server name reported in the MCP initialize handshake.

MCP_PATH

HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.

SERVER_PORT

TCP port to listen on. Used only when MCP_TRANSPORT=http.

SERVER_READ_TIMEOUT

HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.

SERVER_WRITE_TIMEOUT

HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.

LOG_MODE

local (text, debug) or prod (JSON, info). Logs go to stderr.

MAX_IDLE_CONNS_PER_HOST

Idle connections the outbound HTTP client keeps per host.

X_DEBUG

Log the raw requests sent to the X API. Verbose; the output can contain request details, so keep it off outside debugging.

POSTS_MAX_QUERIES

Queries accepted in one x_posts_search or x_posts_count call.

POSTS_MAX_USERNAMES

Usernames accepted in one x_posts_by_user call.

POSTS_MAX_IDS

Post ids accepted in one x_posts_lookup call. The X API caps this at 100.

POSTS_DEFAULT_RESULTS

Posts returned per query when the call does not ask for a count. Every post returned is billed.

POSTS_MAX_RESULTS

Upper bound for posts per query. The X API caps this at 100.

POSTS_DEFAULT_DAYS

How far back post searches look when the call does not say, in days.

POSTS_MAX_DAYS

Furthest back a post search may look, in days. Recent search cannot exceed 7.

POSTS_DEFAULT_TIMEOUT_MS

Timeout for a posts call in milliseconds when the call does not request one.

POSTS_MIN_TIMEOUT_MS

Lowest timeout a posts call may request, in milliseconds.

POSTS_MAX_TIMEOUT_MS

Highest timeout a posts call may request, in milliseconds.

USERS_MAX_USERNAMES

Usernames accepted in one x_users_lookup call. The X API caps this at 100.

USERS_MAX_IDS

User ids accepted in one x_users_lookup call. The X API caps this at 100.

USERS_DEFAULT_RESULTS

Users returned per page when the call does not ask for a count.

USERS_MAX_RESULTS

Upper bound for users per page.

USERS_DEFAULT_TIMEOUT_MS

Timeout for a users call in milliseconds when the call does not request one.

USERS_MIN_TIMEOUT_MS

Lowest timeout a users call may request, in milliseconds.

USERS_MAX_TIMEOUT_MS

Highest timeout a users call may request, in milliseconds.

LISTS_DEFAULT_RESULTS

Items returned per list page when the call does not ask for a count.

LISTS_MAX_RESULTS

Upper bound for items per list page. The X API caps this at 100.

LISTS_DEFAULT_TIMEOUT_MS

Timeout for a lists call in milliseconds when the call does not request one.

LISTS_MIN_TIMEOUT_MS

Lowest timeout a lists call may request, in milliseconds.

LISTS_MAX_TIMEOUT_MS

Highest timeout a lists call may request, in milliseconds.

MEDIA_CHUNK_BYTES

Bytes per upload segment. The X APPEND endpoint caps a segment at 5 MB.

MEDIA_POLL_INTERVAL_MS

How often the upload status is polled while X transcodes a video, in milliseconds.

MEDIA_DEFAULT_TIMEOUT_MS

Timeout for a whole upload in milliseconds when the call does not request one.

MEDIA_MIN_TIMEOUT_MS

Lowest timeout an upload may request, in milliseconds.

MEDIA_MAX_TIMEOUT_MS

Highest timeout an upload may request, in milliseconds.

X_API_KEY
requiredsecret

OAuth 1.0a consumer key. developer.x.com -> your project -> your app -> Keys and tokens.

X_API_KEY_SECRET
requiredsecret

OAuth 1.0a consumer secret, issued together with X_API_KEY.

X_ACCESS_TOKEN
requiredsecret

User access token. Set the app permissions to Read and Write BEFORE generating it: a token keeps the permissions it was created with, and a read-only one fails every write until it is regenerated.

X_ACCESS_TOKEN_SECRET
requiredsecret

User access token secret, issued together with X_ACCESS_TOKEN.

MEDIA_ROOT
required

Absolute path to an existing directory - the only one x_media_upload may read files from. Anything outside it is refused, symlinks included. Checked at startup.

MCP_TRANSPORT

stdio (client spawns the process) or http (streamable HTTP listener).

MCP_NAME

Server name reported in the MCP initialize handshake.

MCP_PATH

HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.

SERVER_PORT

TCP port to listen on. Used only when MCP_TRANSPORT=http.

SERVER_READ_TIMEOUT

HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.

SERVER_WRITE_TIMEOUT

HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.

LOG_MODE

local (text, debug) or prod (JSON, info). Logs go to stderr.

MAX_IDLE_CONNS_PER_HOST

Idle connections the outbound HTTP client keeps per host.

X_DEBUG

Log the raw requests sent to the X API. Verbose; the output can contain request details, so keep it off outside debugging.

POSTS_MAX_QUERIES

Queries accepted in one x_posts_search or x_posts_count call.

POSTS_MAX_USERNAMES

Usernames accepted in one x_posts_by_user call.

POSTS_MAX_IDS

Post ids accepted in one x_posts_lookup call. The X API caps this at 100.

POSTS_DEFAULT_RESULTS

Posts returned per query when the call does not ask for a count. Every post returned is billed.

POSTS_MAX_RESULTS

Upper bound for posts per query. The X API caps this at 100.

POSTS_DEFAULT_DAYS

How far back post searches look when the call does not say, in days.

POSTS_MAX_DAYS

Furthest back a post search may look, in days. Recent search cannot exceed 7.

POSTS_DEFAULT_TIMEOUT_MS

Timeout for a posts call in milliseconds when the call does not request one.

POSTS_MIN_TIMEOUT_MS

Lowest timeout a posts call may request, in milliseconds.

POSTS_MAX_TIMEOUT_MS

Highest timeout a posts call may request, in milliseconds.

USERS_MAX_USERNAMES

Usernames accepted in one x_users_lookup call. The X API caps this at 100.

USERS_MAX_IDS

User ids accepted in one x_users_lookup call. The X API caps this at 100.

USERS_DEFAULT_RESULTS

Users returned per page when the call does not ask for a count.

USERS_MAX_RESULTS

Upper bound for users per page.

USERS_DEFAULT_TIMEOUT_MS

Timeout for a users call in milliseconds when the call does not request one.

USERS_MIN_TIMEOUT_MS

Lowest timeout a users call may request, in milliseconds.

USERS_MAX_TIMEOUT_MS

Highest timeout a users call may request, in milliseconds.

LISTS_DEFAULT_RESULTS

Items returned per list page when the call does not ask for a count.

LISTS_MAX_RESULTS

Upper bound for items per list page. The X API caps this at 100.

LISTS_DEFAULT_TIMEOUT_MS

Timeout for a lists call in milliseconds when the call does not request one.

LISTS_MIN_TIMEOUT_MS

Lowest timeout a lists call may request, in milliseconds.

LISTS_MAX_TIMEOUT_MS

Highest timeout a lists call may request, in milliseconds.

MEDIA_CHUNK_BYTES

Bytes per upload segment. The X APPEND endpoint caps a segment at 5 MB.

MEDIA_POLL_INTERVAL_MS

How often the upload status is polled while X transcodes a video, in milliseconds.

MEDIA_DEFAULT_TIMEOUT_MS

Timeout for a whole upload in milliseconds when the call does not request one.

MEDIA_MIN_TIMEOUT_MS

Lowest timeout an upload may request, in milliseconds.

MEDIA_MAX_TIMEOUT_MS

Highest timeout an upload may request, in milliseconds.

X_API_KEY
requiredsecret

OAuth 1.0a consumer key. developer.x.com -> your project -> your app -> Keys and tokens.

X_API_KEY_SECRET
requiredsecret

OAuth 1.0a consumer secret, issued together with X_API_KEY.

X_ACCESS_TOKEN
requiredsecret

User access token. Set the app permissions to Read and Write BEFORE generating it: a token keeps the permissions it was created with, and a read-only one fails every write until it is regenerated.

X_ACCESS_TOKEN_SECRET
requiredsecret

User access token secret, issued together with X_ACCESS_TOKEN.

MEDIA_ROOT
required

Absolute path to an existing directory - the only one x_media_upload may read files from. Anything outside it is refused, symlinks included. Checked at startup.

MCP_TRANSPORT

stdio (client spawns the process) or http (streamable HTTP listener).

MCP_NAME

Server name reported in the MCP initialize handshake.

MCP_PATH

HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.

SERVER_PORT

TCP port to listen on. Used only when MCP_TRANSPORT=http.

SERVER_READ_TIMEOUT

HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.

SERVER_WRITE_TIMEOUT

HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.

LOG_MODE

local (text, debug) or prod (JSON, info). Logs go to stderr.

MAX_IDLE_CONNS_PER_HOST

Idle connections the outbound HTTP client keeps per host.

X_DEBUG

Log the raw requests sent to the X API. Verbose; the output can contain request details, so keep it off outside debugging.

POSTS_MAX_QUERIES

Queries accepted in one x_posts_search or x_posts_count call.

POSTS_MAX_USERNAMES

Usernames accepted in one x_posts_by_user call.

POSTS_MAX_IDS

Post ids accepted in one x_posts_lookup call. The X API caps this at 100.

POSTS_DEFAULT_RESULTS

Posts returned per query when the call does not ask for a count. Every post returned is billed.

POSTS_MAX_RESULTS

Upper bound for posts per query. The X API caps this at 100.

POSTS_DEFAULT_DAYS

How far back post searches look when the call does not say, in days.

POSTS_MAX_DAYS

Furthest back a post search may look, in days. Recent search cannot exceed 7.

POSTS_DEFAULT_TIMEOUT_MS

Timeout for a posts call in milliseconds when the call does not request one.

POSTS_MIN_TIMEOUT_MS

Lowest timeout a posts call may request, in milliseconds.

POSTS_MAX_TIMEOUT_MS

Highest timeout a posts call may request, in milliseconds.

USERS_MAX_USERNAMES

Usernames accepted in one x_users_lookup call. The X API caps this at 100.

USERS_MAX_IDS

User ids accepted in one x_users_lookup call. The X API caps this at 100.

USERS_DEFAULT_RESULTS

Users returned per page when the call does not ask for a count.

USERS_MAX_RESULTS

Upper bound for users per page.

USERS_DEFAULT_TIMEOUT_MS

Timeout for a users call in milliseconds when the call does not request one.

USERS_MIN_TIMEOUT_MS

Lowest timeout a users call may request, in milliseconds.

USERS_MAX_TIMEOUT_MS

Highest timeout a users call may request, in milliseconds.

LISTS_DEFAULT_RESULTS

Items returned per list page when the call does not ask for a count.

LISTS_MAX_RESULTS

Upper bound for items per list page. The X API caps this at 100.

LISTS_DEFAULT_TIMEOUT_MS

Timeout for a lists call in milliseconds when the call does not request one.

LISTS_MIN_TIMEOUT_MS

Lowest timeout a lists call may request, in milliseconds.

LISTS_MAX_TIMEOUT_MS

Highest timeout a lists call may request, in milliseconds.

MEDIA_CHUNK_BYTES

Bytes per upload segment. The X APPEND endpoint caps a segment at 5 MB.

MEDIA_POLL_INTERVAL_MS

How often the upload status is polled while X transcodes a video, in milliseconds.

MEDIA_DEFAULT_TIMEOUT_MS

Timeout for a whole upload in milliseconds when the call does not request one.

MEDIA_MIN_TIMEOUT_MS

Lowest timeout an upload may request, in milliseconds.

MEDIA_MAX_TIMEOUT_MS

Highest timeout an upload may request, in milliseconds.

X_API_KEY
requiredsecret

OAuth 1.0a consumer key. developer.x.com -> your project -> your app -> Keys and tokens.

X_API_KEY_SECRET
requiredsecret

OAuth 1.0a consumer secret, issued together with X_API_KEY.

X_ACCESS_TOKEN
requiredsecret

User access token. Set the app permissions to Read and Write BEFORE generating it: a token keeps the permissions it was created with, and a read-only one fails every write until it is regenerated.

X_ACCESS_TOKEN_SECRET
requiredsecret

User access token secret, issued together with X_ACCESS_TOKEN.

MEDIA_ROOT
required

Absolute path to an existing directory - the only one x_media_upload may read files from. Anything outside it is refused, symlinks included. Checked at startup.

MCP_TRANSPORT

stdio (client spawns the process) or http (streamable HTTP listener).

MCP_NAME

Server name reported in the MCP initialize handshake.

MCP_PATH

HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.

SERVER_PORT

TCP port to listen on. Used only when MCP_TRANSPORT=http.

SERVER_READ_TIMEOUT

HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.

SERVER_WRITE_TIMEOUT

HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.

LOG_MODE

local (text, debug) or prod (JSON, info). Logs go to stderr.

MAX_IDLE_CONNS_PER_HOST

Idle connections the outbound HTTP client keeps per host.

X_DEBUG

Log the raw requests sent to the X API. Verbose; the output can contain request details, so keep it off outside debugging.

POSTS_MAX_QUERIES

Queries accepted in one x_posts_search or x_posts_count call.

POSTS_MAX_USERNAMES

Usernames accepted in one x_posts_by_user call.

POSTS_MAX_IDS

Post ids accepted in one x_posts_lookup call. The X API caps this at 100.

POSTS_DEFAULT_RESULTS

Posts returned per query when the call does not ask for a count. Every post returned is billed.

POSTS_MAX_RESULTS

Upper bound for posts per query. The X API caps this at 100.

POSTS_DEFAULT_DAYS

How far back post searches look when the call does not say, in days.

POSTS_MAX_DAYS

Furthest back a post search may look, in days. Recent search cannot exceed 7.

POSTS_DEFAULT_TIMEOUT_MS

Timeout for a posts call in milliseconds when the call does not request one.

POSTS_MIN_TIMEOUT_MS

Lowest timeout a posts call may request, in milliseconds.

POSTS_MAX_TIMEOUT_MS

Highest timeout a posts call may request, in milliseconds.

USERS_MAX_USERNAMES

Usernames accepted in one x_users_lookup call. The X API caps this at 100.

USERS_MAX_IDS

User ids accepted in one x_users_lookup call. The X API caps this at 100.

USERS_DEFAULT_RESULTS

Users returned per page when the call does not ask for a count.

USERS_MAX_RESULTS

Upper bound for users per page.

USERS_DEFAULT_TIMEOUT_MS

Timeout for a users call in milliseconds when the call does not request one.

USERS_MIN_TIMEOUT_MS

Lowest timeout a users call may request, in milliseconds.

USERS_MAX_TIMEOUT_MS

Highest timeout a users call may request, in milliseconds.

LISTS_DEFAULT_RESULTS

Items returned per list page when the call does not ask for a count.

LISTS_MAX_RESULTS

Upper bound for items per list page. The X API caps this at 100.

LISTS_DEFAULT_TIMEOUT_MS

Timeout for a lists call in milliseconds when the call does not request one.

LISTS_MIN_TIMEOUT_MS

Lowest timeout a lists call may request, in milliseconds.

LISTS_MAX_TIMEOUT_MS

Highest timeout a lists call may request, in milliseconds.

MEDIA_CHUNK_BYTES

Bytes per upload segment. The X APPEND endpoint caps a segment at 5 MB.

MEDIA_POLL_INTERVAL_MS

How often the upload status is polled while X transcodes a video, in milliseconds.

MEDIA_DEFAULT_TIMEOUT_MS

Timeout for a whole upload in milliseconds when the call does not request one.

MEDIA_MIN_TIMEOUT_MS

Lowest timeout an upload may request, in milliseconds.

MEDIA_MAX_TIMEOUT_MS

Highest timeout an upload may request, in milliseconds.

X_API_KEY
requiredsecret

OAuth 1.0a consumer key. developer.x.com -> your project -> your app -> Keys and tokens.

X_API_KEY_SECRET
requiredsecret

OAuth 1.0a consumer secret, issued together with X_API_KEY.

X_ACCESS_TOKEN
requiredsecret

User access token. Set the app permissions to Read and Write BEFORE generating it: a token keeps the permissions it was created with, and a read-only one fails every write until it is regenerated.

X_ACCESS_TOKEN_SECRET
requiredsecret

User access token secret, issued together with X_ACCESS_TOKEN.

MEDIA_ROOT
required

Absolute path to an existing directory - the only one x_media_upload may read files from. Anything outside it is refused, symlinks included. Checked at startup.

MCP_TRANSPORT

stdio (client spawns the process) or http (streamable HTTP listener).

MCP_NAME

Server name reported in the MCP initialize handshake.

MCP_PATH

HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.

SERVER_PORT

TCP port to listen on. Used only when MCP_TRANSPORT=http.

SERVER_READ_TIMEOUT

HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.

SERVER_WRITE_TIMEOUT

HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.

LOG_MODE

local (text, debug) or prod (JSON, info). Logs go to stderr.

MAX_IDLE_CONNS_PER_HOST

Idle connections the outbound HTTP client keeps per host.

X_DEBUG

Log the raw requests sent to the X API. Verbose; the output can contain request details, so keep it off outside debugging.

POSTS_MAX_QUERIES

Queries accepted in one x_posts_search or x_posts_count call.

POSTS_MAX_USERNAMES

Usernames accepted in one x_posts_by_user call.

POSTS_MAX_IDS

Post ids accepted in one x_posts_lookup call. The X API caps this at 100.

POSTS_DEFAULT_RESULTS

Posts returned per query when the call does not ask for a count. Every post returned is billed.

POSTS_MAX_RESULTS

Upper bound for posts per query. The X API caps this at 100.

POSTS_DEFAULT_DAYS

How far back post searches look when the call does not say, in days.

POSTS_MAX_DAYS

Furthest back a post search may look, in days. Recent search cannot exceed 7.

POSTS_DEFAULT_TIMEOUT_MS

Timeout for a posts call in milliseconds when the call does not request one.

POSTS_MIN_TIMEOUT_MS

Lowest timeout a posts call may request, in milliseconds.

POSTS_MAX_TIMEOUT_MS

Highest timeout a posts call may request, in milliseconds.

USERS_MAX_USERNAMES

Usernames accepted in one x_users_lookup call. The X API caps this at 100.

USERS_MAX_IDS

User ids accepted in one x_users_lookup call. The X API caps this at 100.

USERS_DEFAULT_RESULTS

Users returned per page when the call does not ask for a count.

USERS_MAX_RESULTS

Upper bound for users per page.

USERS_DEFAULT_TIMEOUT_MS

Timeout for a users call in milliseconds when the call does not request one.

USERS_MIN_TIMEOUT_MS

Lowest timeout a users call may request, in milliseconds.

USERS_MAX_TIMEOUT_MS

Highest timeout a users call may request, in milliseconds.

LISTS_DEFAULT_RESULTS

Items returned per list page when the call does not ask for a count.

LISTS_MAX_RESULTS

Upper bound for items per list page. The X API caps this at 100.

LISTS_DEFAULT_TIMEOUT_MS

Timeout for a lists call in milliseconds when the call does not request one.

LISTS_MIN_TIMEOUT_MS

Lowest timeout a lists call may request, in milliseconds.

LISTS_MAX_TIMEOUT_MS

Highest timeout a lists call may request, in milliseconds.

MEDIA_CHUNK_BYTES

Bytes per upload segment. The X APPEND endpoint caps a segment at 5 MB.

MEDIA_POLL_INTERVAL_MS

How often the upload status is polled while X transcodes a video, in milliseconds.

MEDIA_DEFAULT_TIMEOUT_MS

Timeout for a whole upload in milliseconds when the call does not request one.

MEDIA_MIN_TIMEOUT_MS

Lowest timeout an upload may request, in milliseconds.

MEDIA_MAX_TIMEOUT_MS

Highest timeout an upload may request, in milliseconds.

X_API_KEY
requiredsecret

OAuth 1.0a consumer key. developer.x.com -> your project -> your app -> Keys and tokens.

X_API_KEY_SECRET
requiredsecret

OAuth 1.0a consumer secret, issued together with X_API_KEY.

X_ACCESS_TOKEN
requiredsecret

User access token. Set the app permissions to Read and Write BEFORE generating it: a token keeps the permissions it was created with, and a read-only one fails every write until it is regenerated.

X_ACCESS_TOKEN_SECRET
requiredsecret

User access token secret, issued together with X_ACCESS_TOKEN.

MEDIA_ROOT
required

Absolute path to an existing directory - the only one x_media_upload may read files from. Anything outside it is refused, symlinks included. Checked at startup.

MCP_TRANSPORT

stdio (client spawns the process) or http (streamable HTTP listener).

MCP_NAME

Server name reported in the MCP initialize handshake.

MCP_PATH

HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.

SERVER_PORT

TCP port to listen on. Used only when MCP_TRANSPORT=http.

SERVER_READ_TIMEOUT

HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.

SERVER_WRITE_TIMEOUT

HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.

LOG_MODE

local (text, debug) or prod (JSON, info). Logs go to stderr.

MAX_IDLE_CONNS_PER_HOST

Idle connections the outbound HTTP client keeps per host.

X_DEBUG

Log the raw requests sent to the X API. Verbose; the output can contain request details, so keep it off outside debugging.

POSTS_MAX_QUERIES

Queries accepted in one x_posts_search or x_posts_count call.

POSTS_MAX_USERNAMES

Usernames accepted in one x_posts_by_user call.

POSTS_MAX_IDS

Post ids accepted in one x_posts_lookup call. The X API caps this at 100.

POSTS_DEFAULT_RESULTS

Posts returned per query when the call does not ask for a count. Every post returned is billed.

POSTS_MAX_RESULTS

Upper bound for posts per query. The X API caps this at 100.

POSTS_DEFAULT_DAYS

How far back post searches look when the call does not say, in days.

POSTS_MAX_DAYS

Furthest back a post search may look, in days. Recent search cannot exceed 7.

POSTS_DEFAULT_TIMEOUT_MS

Timeout for a posts call in milliseconds when the call does not request one.

POSTS_MIN_TIMEOUT_MS

Lowest timeout a posts call may request, in milliseconds.

POSTS_MAX_TIMEOUT_MS

Highest timeout a posts call may request, in milliseconds.

USERS_MAX_USERNAMES

Usernames accepted in one x_users_lookup call. The X API caps this at 100.

USERS_MAX_IDS

User ids accepted in one x_users_lookup call. The X API caps this at 100.

USERS_DEFAULT_RESULTS

Users returned per page when the call does not ask for a count.

USERS_MAX_RESULTS

Upper bound for users per page.

USERS_DEFAULT_TIMEOUT_MS

Timeout for a users call in milliseconds when the call does not request one.

USERS_MIN_TIMEOUT_MS

Lowest timeout a users call may request, in milliseconds.

USERS_MAX_TIMEOUT_MS

Highest timeout a users call may request, in milliseconds.

LISTS_DEFAULT_RESULTS

Items returned per list page when the call does not ask for a count.

LISTS_MAX_RESULTS

Upper bound for items per list page. The X API caps this at 100.

LISTS_DEFAULT_TIMEOUT_MS

Timeout for a lists call in milliseconds when the call does not request one.

LISTS_MIN_TIMEOUT_MS

Lowest timeout a lists call may request, in milliseconds.

LISTS_MAX_TIMEOUT_MS

Highest timeout a lists call may request, in milliseconds.

MEDIA_CHUNK_BYTES

Bytes per upload segment. The X APPEND endpoint caps a segment at 5 MB.

MEDIA_POLL_INTERVAL_MS

How often the upload status is polled while X transcodes a video, in milliseconds.

MEDIA_DEFAULT_TIMEOUT_MS

Timeout for a whole upload in milliseconds when the call does not request one.

MEDIA_MIN_TIMEOUT_MS

Lowest timeout an upload may request, in milliseconds.

MEDIA_MAX_TIMEOUT_MS

Highest timeout an upload may request, in milliseconds.

MCP quality score · maturity, not trust · methodology
freshness
25
completeness
20
installability
25
documentation
15
stability
5
Alternatives in Search