X (Twitter)

io.github.Role1776/mcp-x

About X (Twitter)

X (Twitter) is an MCP server published by the GitHub account Role1776. Search, read and publish X posts and manage users, lists and media via the X API v2.

It runs on your own machine: your AI client starts it from the Docker (OCI) package ghcr.io/role1776/mcp-x:0.1.1, with no version pinned.

It asks for 4 secrets: X_API_KEY, X_API_KEY_SECRET, X_ACCESS_TOKEN and X_ACCESS_TOKEN_SECRET. Give it a key with the least access that still works.

It also needs MEDIA_ROOT set before it starts.

Version 0.1.1 was published on 9 September 2026, and the source code is public, so you can read it before installing.

Written from the registry entry. 8 automated checks on the registry entry and the package code: 6 pass, 1 warn, 0 fail, 1 info. How we check.

What it asks for

VariableRequiredSecretDescription
X_API_KEYYesYesOAuth 1.0a consumer key. developer.x.com -> your project -> your app -> Keys and tokens.
X_API_KEY_SECRETYesYesOAuth 1.0a consumer secret, issued together with X_API_KEY.
X_ACCESS_TOKENYesYesUser 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_SECRETYesYesUser access token secret, issued together with X_ACCESS_TOKEN.
MEDIA_ROOTYesNoAbsolute 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_TRANSPORTNoNostdio (client spawns the process) or http (streamable HTTP listener).
MCP_NAMENoNoServer name reported in the MCP initialize handshake.
MCP_PATHNoNoHTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.
SERVER_PORTNoNoTCP port to listen on. Used only when MCP_TRANSPORT=http.
SERVER_READ_TIMEOUTNoNoHTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.
SERVER_WRITE_TIMEOUTNoNoHTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.
LOG_MODENoNolocal (text, debug) or prod (JSON, info). Logs go to stderr.
MAX_IDLE_CONNS_PER_HOSTNoNoIdle connections the outbound HTTP client keeps per host.
X_DEBUGNoNoLog the raw requests sent to the X API. Verbose; the output can contain request details, so keep it off outside debugging.
POSTS_MAX_QUERIESNoNoQueries accepted in one x_posts_search or x_posts_count call.
POSTS_MAX_USERNAMESNoNoUsernames accepted in one x_posts_by_user call.
POSTS_MAX_IDSNoNoPost ids accepted in one x_posts_lookup call. The X API caps this at 100.
POSTS_DEFAULT_RESULTSNoNoPosts returned per query when the call does not ask for a count. Every post returned is billed.
POSTS_MAX_RESULTSNoNoUpper bound for posts per query. The X API caps this at 100.
POSTS_DEFAULT_DAYSNoNoHow far back post searches look when the call does not say, in days.
POSTS_MAX_DAYSNoNoFurthest back a post search may look, in days. Recent search cannot exceed 7.
POSTS_DEFAULT_TIMEOUT_MSNoNoTimeout for a posts call in milliseconds when the call does not request one.
POSTS_MIN_TIMEOUT_MSNoNoLowest timeout a posts call may request, in milliseconds.
POSTS_MAX_TIMEOUT_MSNoNoHighest timeout a posts call may request, in milliseconds.
USERS_MAX_USERNAMESNoNoUsernames accepted in one x_users_lookup call. The X API caps this at 100.
USERS_MAX_IDSNoNoUser ids accepted in one x_users_lookup call. The X API caps this at 100.
USERS_DEFAULT_RESULTSNoNoUsers returned per page when the call does not ask for a count.
USERS_MAX_RESULTSNoNoUpper bound for users per page.
USERS_DEFAULT_TIMEOUT_MSNoNoTimeout for a users call in milliseconds when the call does not request one.
USERS_MIN_TIMEOUT_MSNoNoLowest timeout a users call may request, in milliseconds.
USERS_MAX_TIMEOUT_MSNoNoHighest timeout a users call may request, in milliseconds.
LISTS_DEFAULT_RESULTSNoNoItems returned per list page when the call does not ask for a count.
LISTS_MAX_RESULTSNoNoUpper bound for items per list page. The X API caps this at 100.
LISTS_DEFAULT_TIMEOUT_MSNoNoTimeout for a lists call in milliseconds when the call does not request one.
LISTS_MIN_TIMEOUT_MSNoNoLowest timeout a lists call may request, in milliseconds.
LISTS_MAX_TIMEOUT_MSNoNoHighest timeout a lists call may request, in milliseconds.
MEDIA_CHUNK_BYTESNoNoBytes per upload segment. The X APPEND endpoint caps a segment at 5 MB.
MEDIA_POLL_INTERVAL_MSNoNoHow often the upload status is polled while X transcodes a video, in milliseconds.
MEDIA_DEFAULT_TIMEOUT_MSNoNoTimeout for a whole upload in milliseconds when the call does not request one.
MEDIA_MIN_TIMEOUT_MSNoNoLowest timeout an upload may request, in milliseconds.
MEDIA_MAX_TIMEOUT_MSNoNoHighest timeout an upload may request, in milliseconds.

Checks

CheckResultDetail
Source repository linkedPasshttps://github.com/Role1776/mcp-x
Version pinnedPassEvery package has an explicit version
Secrets requestedWarnAsks for 4 secrets: X_API_KEY, X_API_KEY_SECRET, X_ACCESS_TOKEN, X_ACCESS_TOKEN_SECRET
Known package registryPassAll packages come from npm, PyPI, OCI, NuGet or MCPB
Namespace ownershipInfoName verified via GitHub account Role1776
Registry text aimed at the AIPassDescription and settings contain no hidden characters or instructions to the AI
Code red flagsPassRead 1 files in the bundle: no obfuscation, encoded execution, credential reads or data-collection endpoints found
Text aimed at the AIPassNo hidden characters or instructions to the AI in 1 files, including comments and the README

Popularity & health: 43 / 100

Worked out from public numbers and our own checks, not from user reviews or ratings. It says how used and how looked-after a server is, not whether it is safe.

Popularity4 / 40

2 GitHub stars, no download count, no Hacker News posts found. Best two of the three, each on a log scale.

Activity15 / 25

Last push 2026-09-10, last release 2026-09-09, 3 commits in 90 days.

Issue health8 / 15

0 closed of 0 issues, too few to judge. No data, so half marks.

Our checks16 / 20

1 warning, each costing a fifth.

1 forks, 0 merged pull requests. Sources: GitHub, npm, PyPI (pypistats.org) and Hacker News (Algolia), fetched 2026-10-31.

What people say

No Hacker News threads link to its source code.

Look further: search Reddit, search Hacker News, read its GitHub issues. These are not reviews we checked.

Facts

Registry nameio.github.Role1776/mcp-x
PublisherGitHub account Role1776
How the name is verifiedName verified via GitHub account Role1776. The registry ties the name prefix to that account or domain; it does not check the code.
TypeLocal: runs on your machine from a package
Packagesoci ghcr.io/role1776/mcp-x:0.1.1 no version given (stdio)
mcpb https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_darwin_amd64.mcpb 0.1.1 (stdio)
mcpb https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_darwin_arm64.mcpb 0.1.1 (stdio)
mcpb https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_linux_amd64.mcpb 0.1.1 (stdio)
mcpb https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_linux_arm64.mcpb 0.1.1 (stdio)
mcpb https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_windows_amd64.mcpb 0.1.1 (stdio)
mcpb https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_windows_arm64.mcpb 0.1.1 (stdio)
Version0.1.1
Published
Last updated
Source repositoryhttps://github.com/Role1776/mcp-x
Websitehttps://github.com/Role1776/mcp-x#readme
CategorySearch & web (assigned by keyword rule, not by hand)

Related servers in Search & web