Twitter MCP Server

# Twitter MCP Server An MCP (Model Context Protocol) server that provides tools for interacting with Twitter using the agent-twitter-client library. ## Features - **getTweet**: Retrieve a tweet by its ID - **sendTweet**: Post a new tweet to Twitter ## Prerequisites - Node.js (v14 or higher) - npm or yarn - Twitter account credentials ## Installation 1. Clone this repository 2. Install dependencies: ```bash npm install # or yarn install ``` 3. Create a `.env` file in the root directory with your Twitter credentials: ``` TWITTER_USERNAME=your_twitter_username TWITTER_PASSWORD=your_twitter_password TWITTER_EMAIL=your_email@example.com (optional) TWITTER_2FA_SECRET=your_2fa_secret (optional) # Optional API credentials (used as fallback) TWITTER_API_KEY=your_api_key TWITTER_API_SECRET_KEY=your_api_secret_key TWITTER_ACCESS_TOKEN=your_access_token TWITTER_ACCESS_TOKEN_SECRET=your_access_token_secret ``` ## Usage ### Running the Server You can run the server using the FastMCP CLI tools: ```bash # For development and testing in the terminal npx fastmcp dev # For visual inspection with the MCP Inspector npx fastmcp inspect ``` ### Using the Tools #### getTweet Retrieves a tweet by its ID. Parameters: - `tweetId` (string): The ID of the tweet to retrieve Example: ``` getTweet({"tweetId": "1734609533274853865"}) ``` #### sendTweet Posts a new tweet to Twitter. Parameters: - `text` (string): The text content of the tweet to send Example: ``` sendTweet({"text": "Hello World from MCP!"}) ``` ## Development This server is built using: - [FastMCP](https://github.com/punkpeye/fastmcp) - A TypeScript framework for building MCP servers - [agent-twitter-client](https://www.npmjs.com/package/agent-twitter-client) - A Twitter client library To build the TypeScript code: ```bash npx tsc ``` ## License MIT