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., "@XMCPSearch for recent tweets about AI and summarize the top discussions."
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.
XMCP
The most comprehensive MCP server for X/Twitter with permission-based access control, 70+ tools, and Playwright-powered article fetching.
Highlights
70+ tools across research, engagement, publishing, social, lists, DMs
Permission profiles with runtime enforcement
Playwright-powered article fetching for X articles
Full engagement metrics and thread support
Broad MCP client compatibility
Quick Start
1. Install
Note: The package name is xmcp and the server command is xmcp-server.
2. Get API Keys (Required)
XMCP requires X/Twitter API credentials to run. If you see errors about missing API keys, follow this quick guide:
Go to https://developer.twitter.com and sign in.
Create a Project and App (or open an existing one).
In the App Keys and Tokens tab, generate:
API Key and API Secret
Access Token and Access Token Secret
Bearer Token
Copy
.env.exampleto.envand paste your keys.
Common error messages and fixes:
"Missing required environment variable" -> add the missing key to
.envor your MCP config."403 Forbidden" / "Error 453" -> your X API access tier does not include that endpoint.
Get your credentials from developer.twitter.com:
API Key & Secret
Access Token & Secret
Bearer Token
You can store them in a local .env file:
Do not commit .env. It is ignored by default.
3. Configure
Add to your Claude settings (~/.claude.json):
If you name the server xmcp, tools will appear as mcp__xmcp__* in clients that show tool prefixes.
4. Use
Permission Profiles
Choose what capabilities to enable:
Profile | Tools | Use Case |
researcher | 23 | Monitoring, analysis, research (read-only) |
creator | 41 | Content creation, audience engagement |
manager | 55 | Full account management |
automation | 70 | Bots, full automation (including DMs) |
custom | varies | Pick exactly what you need |
Setting a Profile
Permissions are evaluated at runtime. You can switch profiles or groups without restarting the server.
Custom Profile
Tool Groups
research (18 tools) - Read-only, safe
Search, user lookup, tweet details, timelines, trends, article fetching
engage (9 tools) - Low risk
Like, unlike, bookmark, retweet, unretweet
publish (7 tools) - Medium risk
Post tweet, delete, quote, create thread, polls
social (8 tools) - Medium-high risk
Follow, unfollow, block, unblock, mute, unmute
conversations (5 tools) - Safe
Get full threads, replies, quote tweets, hide/unhide replies
lists (14 tools) - Low risk
Create, delete, manage lists and members
dms (3 tools) - High risk
Send and read direct messages
account (1 tool) - High risk
Get authenticated user profile
Key Tools
Search & Discovery
Tool | Description |
| Search with full engagement metrics |
| Find tweets containing X articles |
| Worldwide trending topics |
| Fetch article content (Playwright) |
User & Tweet Info
Tool | Description |
| User by @handle |
| User by ID with metrics |
| Full tweet info |
| Complete thread |
| Replies to a tweet |
Engagement
Tool | Description |
| Like |
| Retweet |
| Bookmark |
| Quote with comment |
Publishing
Tool | Description |
| Post with media, tags, reply |
| Post multiple tweets as thread |
| Create a poll |
Social
Tool | Description |
| Follow management |
| Block management |
| Mute management |
Human-In-The-Loop Advisory
This MCP is designed to improve research and workflows, not to replace human judgment.
Publishing tools return an advisory field that recommends a human review for posts and replies.
Real-Time Use Cases (No Extra Telemetry)
You can drive real-time workflows by polling tools on a schedule from your client or a cron job. Common patterns:
Trend snapshots every hour using
get_trendsKeyword monitoring using
search_twitterArticle tracking using
search_articles+get_article
This keeps the server simple while still enabling real-time visibility.
Article Fetching
X articles require JavaScript to render. This MCP uses Playwright.
Setup
Configuration Reference
Environment Variables
Variable | Description | Default |
| Permission profile |
|
| Groups for custom profile |
|
| Tools to disable | none |
| Tools to force-enable | none |
Credentials are read locally and only used to authenticate requests to X/Twitter.
Examples
Research only (safest):
Content creator:
Custom - research + likes only:
Runtime Permissions
Permissions are evaluated at runtime. This means you can:
Switch profiles or groups without restarting the server
Use different profiles per request in HTTP mode
Error Responses
Errors return a consistent envelope:
Rate Limits
Built-in protection:
Action | Limit | Window |
Tweets | 300 | 15 min |
Likes | 1000 | 24 hours |
Follows | 400 | 24 hours |
DMs | 1000 | 15 min |
Note: These limits are local guardrails, not official Twitter API limits.
Limitations
get_user_followers_you_knowandget_highlights_tweetsare simulated with available API datavote_on_pollreturnsnot_supportedbecause the API does not support programmatic votingArticle fetching requires Playwright and a Chromium install
Compatible Clients
Works with all major MCP clients. See COMPATIBILITY.md for full setup guides.
Client | Config Location | Status |
Claude Desktop |
| Native |
Claude Code |
| Native |
Cursor |
| Native |
Cline |
| Native |
Windsurf |
| Native |
Continue.dev |
| Native |
OpenClaw |
| Native |
Zed |
| Native |
ChatGPT Desktop |
| Native |
Sourcegraph Cody | OpenCTX | Native |
Firebase Genkit | genkitx-mcp plugin | Plugin |
Taal |
| Sync |
VS Code + OpenMCP | Extension settings | Plugin |
Ollama + Continue | Continue config | Native |
Pre-made Config Files
Ready-to-use configs in configs/ directory:
For AI Agents
This package includes rules files for AI code editors:
File | Editor |
| Cursor |
| Cline |
| Windsurf |
| Claude Code |
| Any LLM (copy to prompt) |
| Comprehensive rules |
Key rule: Use get_article for X URLs, not WebFetch.
HTTP Server Mode
For cloud deployments:
Installation Options
From GitHub (recommended)
From PyPI (when published)
From Source
Documentation
Document | Description |
This file - full documentation | |
5-minute setup guide | |
Instructions for AI agents | |
Context block for LLM prompts | |
Rules for all AI editors |
Credits
Built on the upstream project by Rafal Janicki:
https://github.com/rafaljanicki/x-twitter-mcp-server
Update Log
See CHANGELOG.md for a summary of enhancements made in XMCP.
Enhanced by VibeShip with:
Permission-based access control (5 profiles, 8 groups)
70+ tools (vs ~20 original)
Playwright article fetching
Thread creation and reading
Full Lists, DMs, Social actions
Comprehensive engagement metrics
AI agent documentation
License
MIT License - see LICENSE