Create a new tweet or thread on X/Twitter
Display all draft tweets that haven't been published yet
Publish a draft tweet to your X/Twitter account
Delete a draft tweet that hasn't been published
The X/Twitter Integration MCP server enables seamless interaction with your X/Twitter account directly from Claude. Create and publish tweets, compose thread sequences, manage draft posts, and handle your Twitter presence without leaving your AI assistant. This integration provides a streamlined workflow for social media management, allowing you to draft content with Claude's help and publish it directly to your X/Twitter account. The server handles all the authentication and API interactions, making it simple to maintain your social media presence.
The X/Twitter Integration MCP server allows you to manage your X/Twitter account directly through Claude. You can create tweets, compose threads, manage drafts, and publish content without switching between applications.
The easiest way to install the X/Twitter Integration is through Smithery:
npx -y @smithery/cli install x-mcp --client claude
This will automatically set up the server with the correct configuration.
git clone https://github.com/vidhupv/x-mcp.git
brew install uv
Create a configuration file for Claude Desktop:
claude_desktop_config.json
in ~/Library/Application Support/Claude/
claude_desktop_config.json
in %APPDATA%/Claude/
Add the following configuration to the file, replacing the placeholders with your actual values:
{
"mcpServers": {
"x_mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/x-mcp",
"run",
"x-mcp"
],
"env": {
"TWITTER_API_KEY": "your_api_key",
"TWITTER_API_SECRET": "your_api_secret",
"TWITTER_ACCESS_TOKEN": "your_access_token",
"TWITTER_ACCESS_TOKEN_SECRET": "your_access_token_secret"
}
}
}
}
To use this integration, you'll need to obtain API credentials from X/Twitter:
http://localhost/
http://example.com/
After installation, restart Claude completely. You can then interact with your X/Twitter account using natural language commands:
If you encounter issues:
pip uninstall uv
and reinstall with brew install uv
which uv
and replace "command": "uv"
with the full path