X

Twitter

Information

# X Logo X (Twitter) MCP Server This MCP server allows Clients to interact with X (formerly Twitter), enabling comprehensive platform operations including posting tweets, searching content, managing accounts, and organizing lists. ## Quick Start 1. Create an X Developer account and get your API keys from [X Developer Portal](https://developer.twitter.com/en/portal/dashboard) 2. Set all required API keys in the environment variables 3. Clone this repository: \`git clone https://github.com/Dishant27/twitter-mcp.git\` 4. Install dependencies: \`npm install\` 5. Run the server: - With environment variables: \`\`\`bash 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 \ npm start \`\`\` - Using a \`.env\` file: \`\`\`bash # Create a .env file with your X API keys echo "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" > .env # Start the server npm start \`\`\` 6. Use with a MCP client, such as Claude. ## Claude Configuration To use this server with Claude, you'll need to set up the MCP configuration. Here's an example of how the configuration structure should look: \`\`\`json \{ "name": "x", "display_name": "X", "description": "X MCP allows Claude to interact with X (formerly Twitter)", "path": "path/to/twitter-mcp/dist/index.js", "startup": \{ "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" \} \}, "transport": "stdio" \} \`\`\` Save this configuration in your Claude MCP config directory, typically located at: - Windows: \`%APPDATA%\AnthropicClaude\mcp-servers\` - macOS: \`~/Library/Application Support/AnthropicClaude/mcp-servers\` - Linux: \`~/.config/AnthropicClaude/mcp-servers\` ## Features ### Post Operations - Post content (up to 280 characters) - Search for posts by query with customizable result count ### Account Management - Get profile information for any user or the authenticated account - Update profile details (name, bio, location, website URL) - Follow and unfollow users - List followers for any user or the authenticated account - List accounts that a user is following ### List Management - Create new lists (public or private) - Get information about specific lists - Retrieve all lists owned by the authenticated user ## Available MCP Tools | Tool Name | Description | |-----------|-------------| | \`post_tweet\` | Post new content to X | | \`search_tweets\` | Search for content on X | | \`get_profile\` | Get profile information for a user or the authenticated account | | \`update_profile\` | Update the authenticated user's profile | | \`follow_user\` | Follow a user | | \`unfollow_user\` | Unfollow a user | | \`list_followers\` | List followers of a user or the authenticated account | | \`list_following\` | List accounts that a user or the authenticated account is following | | \`create_list\` | Create a new list | | \`get_list_info\` | Get information about a list | | \`get_user_lists\` | Get all lists owned by the authenticated user | ## Requirements - Node.js 18.x or higher - X Developer account with API keys - API v1 and v2 access ## Environment Variables | Variable | Description | |----------|-------------| | \`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 | ## Repository Structure \`\`\` twitter-mcp/ ├── .github/ │ └── workflows/ │ ├── publish.yml │ └── release.yml ├── code/ │ ├── account_management.py # Sample Python code for account management │ ├── post_tweet.py # Sample Python code for posting content │ └── retrieve_tweets.py # Sample Python code for retrieving content ├── src/ │ ├── index.ts # Main entry point │ ├── twitter-api.ts # X API client │ ├── formatter.ts # Response formatter │ └── types.ts # Type definitions ├── .env.example ├── .gitignore ├── Dockerfile ├── LICENSE ├── package.json ├── README.md └── tsconfig.json \`\`\` ## License MIT

Prompts

Reviews

Tags

Write Your Review

Detailed Ratings

ALL
Correctness
Helpfulness
Interesting
Upload Pictures and Videos

Name
Size
Type
Download
Last Modified
  • Community

Add Discussion

Upload Pictures and Videos