Skip to content
Zed

X (Twitter) for Zed

io.github.role1776/mcp-x

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

client:Zed transport:stdio runtime:oci

Install X (Twitter) in Zed

~/.config/zed/settings.json · windows: %APPDATA%\Zed\settings.json

Held in this page only — never stored, logged, or sent anywhere but back to your screen.

{
  "context_servers": {
    "mcp-x": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/role1776/mcp-x:0.1.1"
      ],
      "env": {
        "X_API_KEY": "<X_API_KEY>",
        "X_API_KEY_SECRET": "<X_API_KEY_SECRET>",
        "X_ACCESS_TOKEN": "<X_ACCESS_TOKEN>",
        "X_ACCESS_TOKEN_SECRET": "<X_ACCESS_TOKEN_SECRET>",
        "MEDIA_ROOT": "<MEDIA_ROOT>",
        "MCP_TRANSPORT": "<MCP_TRANSPORT>",
        "MCP_NAME": "<MCP_NAME>",
        "MCP_PATH": "<MCP_PATH>",
        "SERVER_PORT": "<SERVER_PORT>",
        "SERVER_READ_TIMEOUT": "<SERVER_READ_TIMEOUT>",
        "SERVER_WRITE_TIMEOUT": "<SERVER_WRITE_TIMEOUT>",
        "LOG_MODE": "<LOG_MODE>",
        "MAX_IDLE_CONNS_PER_HOST": "<MAX_IDLE_CONNS_PER_HOST>",
        "X_DEBUG": "<X_DEBUG>",
        "POSTS_MAX_QUERIES": "<POSTS_MAX_QUERIES>",
        "POSTS_MAX_USERNAMES": "<POSTS_MAX_USERNAMES>",
        "POSTS_MAX_IDS": "<POSTS_MAX_IDS>",
        "POSTS_DEFAULT_RESULTS": "<POSTS_DEFAULT_RESULTS>",
        "POSTS_MAX_RESULTS": "<POSTS_MAX_RESULTS>",
        "POSTS_DEFAULT_DAYS": "<POSTS_DEFAULT_DAYS>",
        "POSTS_MAX_DAYS": "<POSTS_MAX_DAYS>",
        "POSTS_DEFAULT_TIMEOUT_MS": "<POSTS_DEFAULT_TIMEOUT_MS>",
        "POSTS_MIN_TIMEOUT_MS": "<POSTS_MIN_TIMEOUT_MS>",
        "POSTS_MAX_TIMEOUT_MS": "<POSTS_MAX_TIMEOUT_MS>",
        "USERS_MAX_USERNAMES": "<USERS_MAX_USERNAMES>",
        "USERS_MAX_IDS": "<USERS_MAX_IDS>",
        "USERS_DEFAULT_RESULTS": "<USERS_DEFAULT_RESULTS>",
        "USERS_MAX_RESULTS": "<USERS_MAX_RESULTS>",
        "USERS_DEFAULT_TIMEOUT_MS": "<USERS_DEFAULT_TIMEOUT_MS>",
        "USERS_MIN_TIMEOUT_MS": "<USERS_MIN_TIMEOUT_MS>",
        "USERS_MAX_TIMEOUT_MS": "<USERS_MAX_TIMEOUT_MS>",
        "LISTS_DEFAULT_RESULTS": "<LISTS_DEFAULT_RESULTS>",
        "LISTS_MAX_RESULTS": "<LISTS_MAX_RESULTS>",
        "LISTS_DEFAULT_TIMEOUT_MS": "<LISTS_DEFAULT_TIMEOUT_MS>",
        "LISTS_MIN_TIMEOUT_MS": "<LISTS_MIN_TIMEOUT_MS>",
        "LISTS_MAX_TIMEOUT_MS": "<LISTS_MAX_TIMEOUT_MS>",
        "MEDIA_CHUNK_BYTES": "<MEDIA_CHUNK_BYTES>",
        "MEDIA_POLL_INTERVAL_MS": "<MEDIA_POLL_INTERVAL_MS>",
        "MEDIA_DEFAULT_TIMEOUT_MS": "<MEDIA_DEFAULT_TIMEOUT_MS>",
        "MEDIA_MIN_TIMEOUT_MS": "<MEDIA_MIN_TIMEOUT_MS>",
        "MEDIA_MAX_TIMEOUT_MS": "<MEDIA_MAX_TIMEOUT_MS>"
      }
    }
  }
}

Merge this into your existing settings object — do not replace the file. Zed docs

X (Twitter) in other clients