Media · Local MCP server

X (Twitter)

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

Visit X (Twitter)'s website

What the MCP Registry states

The entry as published to the official MCP Registry (read 2026-10-04), latest version.

Registry name
io.github.Role1776/mcp-x
Version
0.1.1
Status
Active
Category
media
Transport
stdio (local process)
Package
OCI image (Docker), MCP Bundle (.mcpb)
Published
2026-09-09
Updated
2026-09-09
Publisher
Role1776 (GitHub) · 2 servers with pages here
Website
github.com/Role1776/mcp-x#readme
Repository
github.com/Role1776/mcp-x
Source
Registry API entry

Packages

RegistryPackageVersionTransportEnvironment variables
OCI image (Docker)ghcr.io/role1776/mcp-x:0.1.1—stdioX_API_KEY (required, secret), X_API_KEY_SECRET (required, secret), X_ACCESS_TOKEN (required, secret), X_ACCESS_TOKEN_SECRET (required, secret), MEDIA_ROOT (required), MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS, POSTS_DEFAULT_DAYS
MCP Bundle (.mcpb)https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_darwin_amd64.mcpbSHA-256 checksum stated0.1.1stdioX_API_KEY (required, secret), X_API_KEY_SECRET (required, secret), X_ACCESS_TOKEN (required, secret), X_ACCESS_TOKEN_SECRET (required, secret), MEDIA_ROOT (required), MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS, POSTS_DEFAULT_DAYS
MCP Bundle (.mcpb)https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_darwin_arm64.mcpbSHA-256 checksum stated0.1.1stdioX_API_KEY (required, secret), X_API_KEY_SECRET (required, secret), X_ACCESS_TOKEN (required, secret), X_ACCESS_TOKEN_SECRET (required, secret), MEDIA_ROOT (required), MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS, POSTS_DEFAULT_DAYS
MCP Bundle (.mcpb)https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_linux_amd64.mcpbSHA-256 checksum stated0.1.1stdioX_API_KEY (required, secret), X_API_KEY_SECRET (required, secret), X_ACCESS_TOKEN (required, secret), X_ACCESS_TOKEN_SECRET (required, secret), MEDIA_ROOT (required), MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS, POSTS_DEFAULT_DAYS
MCP Bundle (.mcpb)https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_linux_arm64.mcpbSHA-256 checksum stated0.1.1stdioX_API_KEY (required, secret), X_API_KEY_SECRET (required, secret), X_ACCESS_TOKEN (required, secret), X_ACCESS_TOKEN_SECRET (required, secret), MEDIA_ROOT (required), MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS, POSTS_DEFAULT_DAYS
MCP Bundle (.mcpb)https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_windows_amd64.mcpbSHA-256 checksum stated0.1.1stdioX_API_KEY (required, secret), X_API_KEY_SECRET (required, secret), X_ACCESS_TOKEN (required, secret), X_ACCESS_TOKEN_SECRET (required, secret), MEDIA_ROOT (required), MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS, POSTS_DEFAULT_DAYS

How to connect X (Twitter)

X (Twitter) runs locally from a container image in an OCI registry such as Docker Hub or GitHub Container Registry: ghcr.io/role1776/mcp-x:0.1.1. It speaks MCP over stdio, so the client starts it as a program and talks to it through standard input and output. It needs Docker or another OCI container runtime; started with docker run — the usual command is docker run -i --rm -e X_API_KEY -e X_API_KEY_SECRET -e X_ACCESS_TOKEN -e X_ACCESS_TOKEN_SECRET -e MEDIA_ROOT -e MCP_TRANSPORT -e MCP_NAME -e MCP_PATH -e SERVER_PORT -e SERVER_READ_TIMEOUT -e SERVER_WRITE_TIMEOUT -e LOG_MODE -e MAX_IDLE_CONNS_PER_HOST -e X_DEBUG -e POSTS_MAX_QUERIES -e POSTS_MAX_USERNAMES -e POSTS_MAX_IDS -e POSTS_DEFAULT_RESULTS -e POSTS_MAX_RESULTS -e POSTS_DEFAULT_DAYS ghcr.io/role1776/mcp-x:0.1.1. It reads these environment variables: X_API_KEY (required, secret), X_API_KEY_SECRET (required, secret), X_ACCESS_TOKEN (required, secret), X_ACCESS_TOKEN_SECRET (required, secret), MEDIA_ROOT (required), MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS and POSTS_DEFAULT_DAYS; set them in the client's configuration for this server.

X (Twitter) runs locally from an MCP Bundle: a single downloadable archive holding a local server and a manifest that describes it: https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_darwin_amd64.mcpb version 0.1.1. It speaks MCP over stdio, so the client starts it as a program and talks to it through standard input and output. It needs a client that installs MCP Bundles; the file is opened in, or added to, that client. It reads these environment variables: X_API_KEY (required, secret), X_API_KEY_SECRET (required, secret), X_ACCESS_TOKEN (required, secret), X_ACCESS_TOKEN_SECRET (required, secret), MEDIA_ROOT (required), MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS and POSTS_DEFAULT_DAYS; set them in the client's configuration for this server.

X (Twitter) runs locally from an MCP Bundle: a single downloadable archive holding a local server and a manifest that describes it: https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_darwin_arm64.mcpb version 0.1.1. It speaks MCP over stdio, so the client starts it as a program and talks to it through standard input and output. It needs a client that installs MCP Bundles; the file is opened in, or added to, that client. It reads these environment variables: X_API_KEY (required, secret), X_API_KEY_SECRET (required, secret), X_ACCESS_TOKEN (required, secret), X_ACCESS_TOKEN_SECRET (required, secret), MEDIA_ROOT (required), MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS and POSTS_DEFAULT_DAYS; set them in the client's configuration for this server.

X (Twitter) runs locally from an MCP Bundle: a single downloadable archive holding a local server and a manifest that describes it: https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_linux_amd64.mcpb version 0.1.1. It speaks MCP over stdio, so the client starts it as a program and talks to it through standard input and output. It needs a client that installs MCP Bundles; the file is opened in, or added to, that client. It reads these environment variables: X_API_KEY (required, secret), X_API_KEY_SECRET (required, secret), X_ACCESS_TOKEN (required, secret), X_ACCESS_TOKEN_SECRET (required, secret), MEDIA_ROOT (required), MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS and POSTS_DEFAULT_DAYS; set them in the client's configuration for this server.

X (Twitter) runs locally from an MCP Bundle: a single downloadable archive holding a local server and a manifest that describes it: https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_linux_arm64.mcpb version 0.1.1. It speaks MCP over stdio, so the client starts it as a program and talks to it through standard input and output. It needs a client that installs MCP Bundles; the file is opened in, or added to, that client. It reads these environment variables: X_API_KEY (required, secret), X_API_KEY_SECRET (required, secret), X_ACCESS_TOKEN (required, secret), X_ACCESS_TOKEN_SECRET (required, secret), MEDIA_ROOT (required), MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS and POSTS_DEFAULT_DAYS; set them in the client's configuration for this server.

X (Twitter) runs locally from an MCP Bundle: a single downloadable archive holding a local server and a manifest that describes it: https://github.com/Role1776/mcp-x/releases/download/v0.1.1/mcp-x_0.1.1_windows_amd64.mcpb version 0.1.1. It speaks MCP over stdio, so the client starts it as a program and talks to it through standard input and output. It needs a client that installs MCP Bundles; the file is opened in, or added to, that client. It reads these environment variables: X_API_KEY (required, secret), X_API_KEY_SECRET (required, secret), X_ACCESS_TOKEN (required, secret), X_ACCESS_TOKEN_SECRET (required, secret), MEDIA_ROOT (required), MCP_TRANSPORT, MCP_NAME, MCP_PATH, SERVER_PORT, SERVER_READ_TIMEOUT, SERVER_WRITE_TIMEOUT, LOG_MODE, MAX_IDLE_CONNS_PER_HOST, X_DEBUG, POSTS_MAX_QUERIES, POSTS_MAX_USERNAMES, POSTS_MAX_IDS, POSTS_DEFAULT_RESULTS, POSTS_MAX_RESULTS and POSTS_DEFAULT_DAYS; set them in the client's configuration for this server.

In the mcpServers JSON format that many desktop and editor MCP clients read, the entry looks like this (placeholders in angle brackets):

{
  "mcpServers": {
    "mcp-x": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "X_API_KEY",
        "-e",
        "X_API_KEY_SECRET",
        "-e",
        "X_ACCESS_TOKEN",
        "-e",
        "X_ACCESS_TOKEN_SECRET",
        "-e",
        "MEDIA_ROOT",
        "-e",
        "MCP_TRANSPORT",
        "-e",
        "MCP_NAME",
        "-e",
        "MCP_PATH",
        "-e",
        "SERVER_PORT",
        "-e",
        "SERVER_READ_TIMEOUT",
        "-e",
        "SERVER_WRITE_TIMEOUT",
        "-e",
        "LOG_MODE",
        "-e",
        "MAX_IDLE_CONNS_PER_HOST",
        "-e",
        "X_DEBUG",
        "-e",
        "POSTS_MAX_QUERIES",
        "-e",
        "POSTS_MAX_USERNAMES",
        "-e",
        "POSTS_MAX_IDS",
        "-e",
        "POSTS_DEFAULT_RESULTS",
        "-e",
        "POSTS_MAX_RESULTS",
        "-e",
        "POSTS_DEFAULT_DAYS",
        "ghcr.io/role1776/mcp-x:0.1.1"
      ],
      "env": {
        "X_API_KEY": "<secret>",
        "X_API_KEY_SECRET": "<secret>",
        "X_ACCESS_TOKEN": "<secret>",
        "X_ACCESS_TOKEN_SECRET": "<secret>",
        "MEDIA_ROOT": "<value>",
        "MCP_TRANSPORT": "<value>",
        "MCP_NAME": "<value>",
        "MCP_PATH": "<value>",
        "SERVER_PORT": "<value>",
        "SERVER_READ_TIMEOUT": "<value>",
        "SERVER_WRITE_TIMEOUT": "<value>",
        "LOG_MODE": "<value>",
        "MAX_IDLE_CONNS_PER_HOST": "<value>",
        "X_DEBUG": "<value>",
        "POSTS_MAX_QUERIES": "<value>",
        "POSTS_MAX_USERNAMES": "<value>",
        "POSTS_MAX_IDS": "<value>",
        "POSTS_DEFAULT_RESULTS": "<value>",
        "POSTS_MAX_RESULTS": "<value>",
        "POSTS_DEFAULT_DAYS": "<value>"
      }
    }
  }
}

Derived from the registry entry, not tested here. What the server does, and on what terms, is set by its publisher; check its repository or website before giving it access to your accounts or files. How to add an MCP server to an assistant · Before you connect

More from Role1776 (GitHub)

ServerRunsEndpoint or package
MCP RetrievalLocal Go MCP server: DuckDuckGo/Bing web + image search, readability scraping to Markdown.Local · stdioOCI image (Docker): ghcr.io/role1776/mcp-retrieval:0.1.7

More media servers

All 1,951 →
ServerRunsEndpoint or package
WortwertGematria and pattern decoder for words, sacred texts, news, dates, and Human Design.Remote · HTTP, SSEwortwert.mcp-hub.stream
WP Agent - WordPress publishing & management with ClaudeWordPress MCP server: publish posts, AI images, SEO and full site management, self-hosted.Remote · HTTPmcp.getwpagent.com
WP Image Fixer - Optimize WordPress imagesOptimize WordPress images: shrink and resize heavy images for faster pages. Any fix can be undone.Remote · HTTPmcp.wpimagefixer.com
WriterGenerate full stories, chapters, characters & cover art from a premise (planner-writer pipeline).Remote · HTTPwriter.swapp1990.org
X (Twitter) Trends APIX trending topics and discussion volume over time. Free key at trendsapi.ai.Remote · HTTPx-twitter.api.trendsapi.ai
X (Twitter) Trends MCPTwitter (X) trends over time, with growth for any keyword. Free key at trendsmcp.ai.Remote · HTTPx-twitter.api.trendsmcp.ai
X Archive RAGLocal-first MCP tools for searching and drafting from your X/Twitter archive.Local · stdioMCP Bundle (.mcpb): mameshivaa/x-archive-rag/releases/download/v0.1.
X MCP AiSafety-first X (Twitter) API v2 MCP server: 41 typed tools across 12 packages, policy-gated.Local · stdionpm: x-mcp-ai