X MCP Server
X MCP Server 🐦
A powerful Model Context Protocol (MCP) Server for interacting with the X (Twitter) API v2. This server enables AI assistants like ChatGPT, Claude, and other MCP-compatible clients to automate Twitter/X actions.
Note: This server is limited to endpoints available in the Free tier of X API.
📋 Table of Contents
✨ Features
54+ automation tools for X/Twitter
Post, delete, search, and interact with tweets
User management (follow, mute, block)
Lists, bookmarks, and spaces support
Media upload (images/videos)
Detailed rate limit handling
Easy integration with AI assistants
🔑 Getting X API Credentials
To use this MCP server, you need X API credentials. Follow these steps:
Step 1: Create a Developer Account
Go to developer.x.com
Sign in with your X (Twitter) account
Click "Sign up for Free Account" (or apply for elevated access if needed)
Complete the developer agreement and verification
Step 2: Create a Project & App
Navigate to Developer Portal → Projects & Apps
Click "+ Add Project"
Name your project (e.g., "MCP Automation")
Select use case: "Exploring the API" or "Making a bot"
Click "+ Add App" within your project
Name your app (e.g., "X-MCP-Server")
Step 3: Generate API Keys
In your App settings, go to "Keys and Tokens"
Under Consumer Keys, click "Regenerate" to get:
API_KEY(API Key / Consumer Key)API_SECRET(API Secret / Consumer Secret)
Under Authentication Tokens, generate:
ACCESS_TOKEN(Access Token)ACCESS_TOKEN_SECRET(Access Token Secret)
Under Bearer Token, generate:
BEARER_TOKEN
Step 4: Enable App Permissions
Go to User authentication settings
Enable OAuth 1.0a
Set App permissions to "Read and Write"
Add a Callback URL (e.g.,
http://localhost:3000/callback)Save changes
⚠️ Important: Keep your credentials secure! Never commit them to version control.
💻 Installation
Prerequisites
Python 3.10+
uv (recommended) or pip
Install with uv (Recommended)
# Clone the repository
git clone https://github.com/Lnxtanx/x-mcp-server.git
cd x-mcp-server
# Install dependencies
uv syncInstall with pip
# Clone the repository
git clone https://github.com/Lnxtanx/x-mcp-server.git
cd x-mcp-server
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install fastmcp tweepy python-dotenv⚙️ Configuration
Step 1: Create Environment File
Copy the template and add your credentials:
cp .env.template .envStep 2: Add Your Credentials
Edit .env with your X API credentials:
API_KEY=your_api_key_here
API_SECRET=your_api_secret_here
ACCESS_TOKEN=your_access_token_here
ACCESS_TOKEN_SECRET=your_access_token_secret_here
BEARER_TOKEN=your_bearer_token_here🤖 Connecting to AI Clients
Claude Desktop
Add this configuration to your claude_desktop_config.json:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"x-api": {
"command": "uv",
"args": [
"run",
"--directory",
"C:/path/to/x-mcp-server",
"fastmcp",
"run",
"main.py"
]
}
}
}Replace C:/path/to/x-mcp-server with your actual installation path.
After adding, restart Claude Desktop. You'll see the X API tools available in Claude.
ChatGPT / OpenAI
ChatGPT doesn't natively support MCP, but you can connect via:
Option 1: MCP Bridge/Proxy
Use an MCP-to-REST bridge to expose tools as API endpoints:
# Run MCP server with HTTP transport
uv run fastmcp dev main.py --transport http --port 8000Then configure ChatGPT to call your endpoints via Custom GPT Actions or function calling.
Option 2: LangChain Integration
from langchain_openai import ChatOpenAI
from langchain_mcp import MCPClient
# Connect to local MCP server
mcp_client = MCPClient("http://localhost:8000")
tools = mcp_client.get_tools()
# Use with ChatGPT
llm = ChatOpenAI(model="gpt-4")
llm_with_tools = llm.bind_tools(tools)Other MCP Clients
Running the Server Locally
# Development mode (with inspector)
uv run fastmcp dev main.py
# Production mode
uv run fastmcp run main.pySSE Transport (for web clients)
uv run fastmcp run main.py --transport sse --port 8080Stdio Transport (for CLI clients)
uv run fastmcp run main.py --transport stdio🛠️ Available Tools (54 total)
Tweets
Tool | Description | Rate Limit |
| Post a new tweet | 17/24h |
| Delete a tweet | 17/24h |
| Get tweet by ID | 1/15min |
| Get multiple tweets | 1/15min |
| Search tweets (7 days) | 1/15min |
| Get user's timeline | 1/15min |
| Get mentions | 1/15min |
| Get home feed | 1/15min |
Engagement
Tool | Description | Rate Limit |
| Like/unlike | 1/15min |
| Retweet/undo | 1/15min |
| Bookmark | 1/15min |
Users
Tool | Description | Rate Limit |
| Get authenticated user | 25/24h |
| Lookup by handle | 3/15min |
| Follow/unfollow | 1/15min |
| Mute/unmute | 1/15min |
Lists & Media
Tool | Description |
| Manage lists |
| List members |
| Upload images/videos |
⏱️ Rate Limits (Free Tier)
Operation | Limit |
Create/Delete Tweet | 17 requests / 24 hours |
Get Authenticated User | 25 requests / 24 hours |
Lookup by Username | 3 requests / 15 mins |
Most Other Endpoints | 1 request / 15 mins |
❌ Not Available in Free Tier
Direct Messages
Trends by WOEID
User Search
Full Archive Search
Filtered Stream
📝 Tips for Free Tier
Cache responses – With 1 req/15 min limits, cache everything
Batch requests – Use multi-ID endpoints when possible
Use username lookup – Has 3 req/15 min (better than most)
Post sparingly – Only 17 tweets/day allowed
📄 License
This project is licensed under the VivekMind License.
Created by Lnxtanx
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📞 Support
Issues: GitHub Issues
Creator: @Lnxtanx
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/Lnxtanx/x-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server