Skip to main content
Glama
Lnxtanx

X MCP Server

by Lnxtanx

X MCP Server 🐦

License: VivekMind

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


Related MCP server: x-mcp-server

✨ 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

  1. Go to developer.x.com

  2. Sign in with your X (Twitter) account

  3. Click "Sign up for Free Account" (or apply for elevated access if needed)

  4. Complete the developer agreement and verification

Step 2: Create a Project & App

  1. Navigate to Developer PortalProjects & Apps

  2. Click "+ Add Project"

  3. Name your project (e.g., "MCP Automation")

  4. Select use case: "Exploring the API" or "Making a bot"

  5. Click "+ Add App" within your project

  6. Name your app (e.g., "X-MCP-Server")

Step 3: Generate API Keys

  1. In your App settings, go to "Keys and Tokens"

  2. Under Consumer Keys, click "Regenerate" to get:

    • API_KEY (API Key / Consumer Key)

    • API_SECRET (API Secret / Consumer Secret)

  3. Under Authentication Tokens, generate:

    • ACCESS_TOKEN (Access Token)

    • ACCESS_TOKEN_SECRET (Access Token Secret)

  4. Under Bearer Token, generate:

    • BEARER_TOKEN

Step 4: Enable App Permissions

  1. Go to User authentication settings

  2. Enable OAuth 1.0a

  3. Set App permissions to "Read and Write"

  4. Add a Callback URL (e.g., http://localhost:3000/callback)

  5. Save changes

⚠️ Important: Keep your credentials secure! Never commit them to version control.


💻 Installation

Prerequisites

  • Python 3.10+

  • uv (recommended) or pip

# Clone the repository
git clone https://github.com/Lnxtanx/x-mcp-server.git
cd x-mcp-server

# Install dependencies
uv sync

Install 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 .env

Step 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 8000

Then 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.py

SSE Transport (for web clients)

uv run fastmcp run main.py --transport sse --port 8080

Stdio Transport (for CLI clients)

uv run fastmcp run main.py --transport stdio

🛠️ Available Tools (54 total)

Tweets

Tool

Description

Rate Limit

create_tweet

Post a new tweet

17/24h

delete_tweet

Delete a tweet

17/24h

get_tweet

Get tweet by ID

1/15min

get_tweets

Get multiple tweets

1/15min

search_recent_tweets

Search tweets (7 days)

1/15min

get_user_tweets

Get user's timeline

1/15min

get_user_mentions

Get mentions

1/15min

get_home_timeline

Get home feed

1/15min

Engagement

Tool

Description

Rate Limit

like_tweet / unlike_tweet

Like/unlike

1/15min

retweet / unretweet

Retweet/undo

1/15min

bookmark_tweet / remove_bookmark

Bookmark

1/15min

Users

Tool

Description

Rate Limit

get_me

Get authenticated user

25/24h

get_user_by_username

Lookup by handle

3/15min

follow_user / unfollow_user

Follow/unfollow

1/15min

mute_user / unmute_user

Mute/unmute

1/15min

Lists & Media

Tool

Description

create_list / delete_list / update_list

Manage lists

add_list_member / remove_list_member

List members

upload_media

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

  1. Cache responses – With 1 req/15 min limits, cache everything

  2. Batch requests – Use multi-ID endpoints when possible

  3. Use username lookup – Has 3 req/15 min (better than most)

  4. 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

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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