x-v2-server

x-v2-server

3

X(Twitter) V2 MCP Server is an MCP server implementation designed to facilitate interactions with the Twitter/X API v2. It enables advanced functionalities such as retrieving and posting tweets and managing Twitter lists, making it useful for AI assistants.

X(Twitter) V2 MCP Server

smithery badge

An MCP server implementation that provides tools for interacting with the Twitter/X API v2. This service allows AI assistants to retrieve tweets, post new content, reply to tweets, and quote tweets and more programmatically.

Tools

The X MCP Service provides the following tools for interacting with the Twitter/X API:

get_tweets_by_userid

Retrieves tweets from a specific user's timeline.

  • userId: The Twitter user ID to search for tweets
  • paginationToken (optional): Token for fetching the next page of results
  • exclude (optional): Types of tweets to exclude (retweets, replies)
  • maxResults (optional): Maximum number of tweets to return (default: 10)

get_tweet_by_id

Retrieves a single tweet by its ID.

  • tweetId: The ID of the tweet to retrieve

get_user_mentions

Retrieves tweets that mention a specific user.

  • userId: The Twitter user ID to get mentions for
  • paginationToken (optional): Token for fetching the next page of results
  • maxResults (optional): Maximum number of mentions to return (default: 10)

quote_tweet

Creates a quote tweet with custom text.

  • tweetId: The ID of the tweet to quote
  • replyText: The text to include with the quote

reply_to_tweet

Replies to an existing tweet.

  • tweetId: The ID of the tweet to reply to
  • replyText: The text content of the reply

post_tweet

Post a new tweet.

  • text: The content that you want to post.
  • imageBase64: Image that you want to post.

like_tweet

Like a specific tweet.

  • tweetId: The ID of the tweet to like

follow_user

Follow a Twitter user.

  • targetUserId: The ID of the user to follow

unfollow_user

Unfollow a Twitter user.

  • targetUserId: The ID of the user to unfollow

get_user_by_username

Get information about a Twitter user by their username.

  • username: The Twitter username (without @ symbol)

search_tweets

Search for tweets using a query string.

  • query: The search query
  • maxResults (optional): Maximum number of results to return (default: 10)

get_trending_topics

Get trending topics for a specific location.

  • woeid (optional): The 'Where On Earth ID' (WOEID) for the location (1 for worldwide, default: 1)

create_list

Create a new Twitter list.

  • name: The name of the list
  • description (optional): Optional description for the list
  • isPrivate (optional): Whether the list should be private (default: false)

add_list_member

Add a user to a Twitter list.

  • listId: The ID of the list
  • userId: The ID of the user to add

remove_list_member

Remove a user from a Twitter list.

  • listId: The ID of the list
  • userId: The ID of the user to remove

get_owned_lists

Get all lists owned by the authenticated user.

  • No parameters required

Configuration

Env Configuration

X API Authentication

You can get all of the token below via X Developer Dashboard

TWITTER_API_KEY=your_api_key
TWITTER_API_KEY_SECRET=your_api_secret
TWITTER_ACCESS_TOKEN=your_access_token
TWITTER_ACCESS_TOKEN_SECRET=your_access_token_secret

Development


npm i

npm run build

npx @modelcontextprotocol/inspector node dist/index.js

Open http://127.0.0.1:6274 set up env, and interact with the tools.

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.