x-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@x-mcpshow me my recent mentions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
x-mcp
MCP server in front of the X (Twitter) API v2. Image: ghcr.io/robertdwhite/x-mcp.
Manifests in whitehouse-rke2 (apps/ai/x-mcp/).
Reads are free. Writes are two-step — draft_post returns a preview plus a
single-use confirm_token, and nothing is published until publish_post is
called with that exact token. An agent cannot post in one call, so a human-visible
preview always exists first. That matters when the output is public and permanent.
There is deliberately no delete tool. Deletion is destructive and irreversible; remove posts from the X app.
Tools
Tool | Kind | Notes |
| read | Which account the credentials act as |
| read | One post by id |
| read | Recent posts from a handle |
| read | Mentions of the authenticated account |
| read | Reverse-chronological home timeline |
| read | Last-7-days search (plan-dependent) |
| stage | Validates + previews. Publishes nothing. |
| read | Staged drafts and their remaining TTL |
| write | Publishes a draft. Public and permanent. |
Drafts are in-memory: a restart clears them, so a stale confirm token never outlives the process that showed the preview.
Related MCP server: pyX-MCP
Endpoints
POST /mcp— streamable-HTTP MCP, gated onAuthorization: Bearer $MCP_TOKENGET /healthz— open, for liveness/readiness
Every other path returns 404, not 401 — including the /.well-known/oauth-*
probes MCP clients make on startup. A 401 there makes clients attempt an
interactive OAuth flow, which hangs headless clients as a connection timeout.
Configuration
Env | Required | Purpose |
| recommended | Bearer for |
| yes | Consumer key |
| yes | Consumer secret |
| yes | Access token (user context) |
| yes | Access token secret |
| no | Length limit, default |
| no | Draft lifetime in seconds, default |
| no | HTTP timeout, default |
Auth to X is OAuth 1.0a user context, signed per request. App-only bearer tokens cannot post, because publishing acts as the account. Get the four values from an X app with Read and Write permission: consumer keys plus an access token/secret pair generated for your own account.
If the credentials are missing, every tool returns a clear "not configured" error instead of a stack trace — so the service can be deployed before the credentials exist.
Note on X API plans
Write access is gated by X's paid API tiers, and the free tier is heavily
capped. A 429 from this server surfaces the rate-limit reset when X provides
it. Check your plan at developer.x.com if writes fail immediately.
Local run
pip install -r requirements.txt
MCP_TOKEN=dev X_API_KEY=... X_API_SECRET=... \
X_ACCESS_TOKEN=... X_ACCESS_TOKEN_SECRET=... python server.pyThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables interacting with Twitter/X through natural language, including searching tweets, posting, sending DMs, and managing timelines via any MCP client.8MIT
- FlicenseAqualityDmaintenanceEnables AI assistants to post, search, and manage tweets on X (Twitter) via the MCP protocol.102
- FlicenseAqualityDmaintenanceEnables interaction with the X (Twitter) API through MCP tools for managing users, posts, bookmarks, likes, and lists. Supports markdown or JSON output and uses OAuth 2.0 PKCE authentication.22
- AlicenseAqualityBmaintenanceMCP server for the Twitter/X read API, enabling search, user profiles, tweets, followers, and more via natural language.94149MIT
Related MCP Connectors
FastMCP server for posting formatted content to X (Twitter) — Tollbooth-monetized, DPYC-native
128 REST operations. 120 MCP routes; 119 JSON/text ops. OAuth 2.1. Not affiliated with X Corp.
Bluesky MCP — wraps the AT Protocol API
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/RobertDWhite/x-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server