x-v2-server

x-v2-server is a high-performance server solution built with TypeScript. It is designed to enable developers to quickly build applications and run them in a scalable environment. With a rich set of features, it provides an efficient workflow for development.

GitHub Stars

9

User Rating

Not Rated

Favorites

0

Views

11

Forks

7

Issues

2

README
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.