mcpField
🐦
🐦 X-Post MCP πŸš€

🐦 X-Post MCP πŸš€

Local
github.com/subhadeeproy3902Social Media5Updated 79w ago

About 🐦 X-Post MCP πŸš€

X-Post MCP is an MCP server and companion Gemini client for creating and publishing posts on X. It exposes a posting tool and includes an interactive chat interface for trying the flow.

Key features

  1. 01Publish posts to X through its API
  2. 02Generate post text with Google Gemini
  3. 03Interactive chat for testing
  4. 04Truncate posts to X's character limit
  5. 05Handle API credentials securely

Use cases

  1. 01Draft and publish an X post from a chat request
  2. 02Test AI-generated posts before publishing

MCP support

The MCP server exposes `createPost` for publishing to X and communicates with clients over Server-Sent Events. The companion client connects to the server and lets Gemini invoke the tool.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

🐦 X-Post MCP πŸš€

License: MIT Bun TypeScript

A powerful integration that allows AI models to post directly to X (formerly Twitter) using the Model Context Protocol (MCP) πŸ€–βœ¨

πŸ“‹ Overview

X-Post MCP is a client-server application that enables AI models to create and publish posts on X (formerly Twitter) through a standardized interface. It leverages the Model Context Protocol to provide a seamless integration between AI models and the X platform.

✨ Features

  • πŸ”„ Seamless integration with X (Twitter) API
  • 🧠 AI-powered post creation using Google's Gemini models
  • πŸ› οΈ MCP server exposing X posting functionality as a tool
  • πŸ’¬ Interactive chat interface for testing and demonstration
  • πŸ”’ Secure handling of API credentials
  • βœ‚οΈ Automatic truncation of posts exceeding X's character limit

πŸ› οΈ Technologies

πŸ“¦ Installation

Prerequisites
  • Bun v1.2.5 or later
  • X (Twitter) API credentials
  • Google Gemini API key
Server Setup
# Clone the repository
git clone https://github.com/subhadeeproy3902/x-post-mcp.git
cd x-post-mcp

# Install server dependencies
cd server
bun install
Client Setup
# From the project root
cd client
bun install

βš™οΈ Configuration

Obtaining X (Twitter) API Credentials
  1. Create a Developer Account:

    • Go to the X Developer Portal
    • Sign in with your X account or create a new one
    • Apply for a developer account if you don't have one already
  2. Create a Project & App:

    • Once approved, create a new Project in the Developer Portal
    • Within the project, create a new App
    • Give your app a name and description
  3. Set App Permissions:

    • In your App settings, navigate to the "User authentication settings" section
    • Edit the settings and enable OAuth 1.0a
    • Set App permissions to Read and Write and Direct Messages
    • Save your changes
  4. Generate Access Tokens:

    • Navigate to the "Keys and Tokens" tab
    • Generate "Consumer Keys" (API Key and Secret)
    • Generate "Access Token and Secret" for your account
    • Make sure to save all four values as they will be needed for configuration

⚠️ Important: Keep your API keys and tokens secure and never commit them to public repositories.

Server Environment Variables

Create a .env file in the server directory with the following variables:

# X (Twitter) API Credentials
TWITTER_API_KEY=your_twitter_api_key
TWITTER_API_SECRET=your_twitter_api_secret
TWITTER_ACCESS_TOKEN=your_twitter_access_token
TWITTER_ACCESS_SECRET=your_twitter_access_secret
Obtaining Google Gemini API Key
  1. Create a Google AI Studio Account:

  2. Get API Key:

⚠️ Important: Keep your API key secure and never commit it to public repositories.

Client Environment Variables

Create a .env file in the client directory with the following variables:

# Google Gemini API Key
GEMINI_API_KEY=your_gemini_api_key

πŸš€ Usage

Starting the Server
cd server
bun run dev

The server will start on http://localhost:3001.

Starting the Client
cd client
bun run index.ts

The client will connect to the server and provide an interactive chat interface where you can interact with the AI model and instruct it to post to X.

Example Commands

Once the client is running, you can interact with the AI model:

You: Post a tweet about the beautiful weather today

The AI will use the Gemini model to generate a post and then use the MCP tool to publish it to X.

πŸ—οΈ Architecture

Server

The server component is built with Express and implements the Model Context Protocol. It exposes a tool called createPost that can be used to post to X. The server uses Server-Sent Events (SSE) for communication with clients.

Client

The client component connects to the MCP server and provides an interface for interacting with Google's Gemini AI models. It translates user requests into AI-generated content and can call the server's tools to post to X.

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgements

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.