TwitterAPIs MCP Server

Official MCP server for twitterapis.com. Read and write Twitter/X: search, users, tweets, DMs.

Local serverstdio

What is the TwitterAPIs MCP Server?

Official MCP server for twitterapis.com. Read and write Twitter/X: search, users, tweets, DMs.

The short version

Official Model Context Protocol server for twitterapis.com, the Twitter / X API as native tools for Claude, Cursor, Windsurf, and any MCP client. Reads (search, profiles, timelines, followers, DMs) plus write actions (post, like, retweet, follow).

The tools it exposes

The server publishes 3 tools. What each one is for:

  • Cursor — The Cursor tool exposed by this server
  • Windsurf — The Windsurf tool exposed by this server
  • Reads — The Reads tool exposed by this server

More MCP options

Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.

Maintainer setup documentation.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
twitter_advanced_searchSearch tweets with X operators (from:, min_faves:, since:, filter:links, etc.)
twitter_user_searchFind user accounts by name or keyword
twitter_user_infoFull profile by handle (bio, counts, verification, location)
twitter_user_info_by_idFull profile by numeric user id
twitter_user_statusIs an account alive, suspended, or deleted
twitter_user_aboutA user's structured About object (category, professional/business labels, verification + identity-verification flags, joined date, and X's 'About this account'
twitter_user_about_batchThe same About object for up to 100 accounts in one call (usernames or user_ids), billed per account answered; for vetting a list by country or account history
twitter_audience_summaryWho an audience is: a country histogram and likely-bot share over a sample of up to 100 followers or retweeters
twitter_user_affiliatesAccounts affiliated with an organization profile
twitter_check_follow_relationshipFollow relationship between two accounts, by id or username (who follows whom)
twitter_check_follow_relationship_batchOne account against up to 100 others in one call, either direction (which of these accounts follow the brand)
twitter_user_tweetsA user's recent original tweets (replies excluded)
twitter_user_tweets_and_repliesA user's full timeline (tweets + replies)
twitter_user_tweets_completeA large batch of a user's tweet history per call (see paging note)
twitter_user_mediaImages and videos a user has posted
twitter_user_mentionsRecent public tweets mentioning a user
twitter_user_likesTweets a user has liked (public Likes tab)
twitter_user_followersAccounts that follow a user
twitter_user_followingAccounts a user follows
twitter_user_followers_v2Followers with the v2 response shape (richer fields, deeper cursoring)
twitter_user_following_v2Following with the v2 response shape (richer fields, deeper cursoring)
twitter_user_verified_followersA user's verified followers only
twitter_followers_you_knowFollowers of a target that your authenticated account also follows
twitter_tweet_detailSingle tweet: text, author, metrics, media, quoted/reply context
twitter_tweet_repliesReplies to a tweet
twitter_tweet_threadFull author thread (connected tweet chain by same author)
twitter_tweet_retweetersAccounts that retweeted a tweet
twitter_tweet_quotesTweets that quote a tweet, with their text. Search-backed, so count is what search returned, not the tweet's true quote_count
twitter_list_membersMembers of a Twitter/X List
twitter_list_followersAccounts that follow a public List (a different set from its members)
twitter_list_tweetsPosts by a List's members, search-backed: filterable by since / until date, include_replies, and product (Latest / Top), no retweets
twitter_list_timelineA List's native X feed: retweets and X's own ordering included, no filters, paging only
twitter_home_timelineYour authenticated account's Home timeline _(session)_
twitter_bookmarksYour authenticated account's bookmarks _(session)_
twitter_blockingAccounts your authenticated account has blocked (your own list only) _(session)_
twitter_mutingAccounts your authenticated account has muted (your own list only) _(session)_
twitter_bookmark_searchFull-text search within your bookmarks _(session)_
twitter_bookmark_foldersYour authenticated account's bookmark folders _(session)_
twitter_bookmark_folder_timelineTweets inside one of your bookmark folders, by folder_id _(session)_
twitter_dm_listYour DM conversations (inbox), read-only _(session)_
twitter_dm_conversationMessages in one DM conversation, read-only; pass the previous page's min_entry_id as max_id to page back _(session)_
twitter_spaces_infoMetadata and participant roster for one X Space, live or ended (by Space id)
twitter_community_searchFind X Communities by keyword; the discovery step that produces the numeric id the rest of the community family needs
twitter_community_infoOne X Community by numeric id: name, counts, join policy, rules, topic, banners, admin
twitter_community_aboutA community's moderators and a member preview, each returned as a full user profile, not the reduced row _members/_moderators return
twitter_community_membersA community's member roster, each row carrying that member's Admin / Moderator / Member role
twitter_community_moderatorsA community's moderators and admins, from its own upstream operation (not a filter over the roster)
twitter_community_tweetsA community's post timeline, with the pinned post returned as its own pinned field
twitter_community_membershipsThe inverse lookup: every community a given numeric user_id belongs to
twitter_grok_chatAsk X's own Grok, grounded in live X data, and get the answer plus the sources it cited
twitter_grok_configWhether the authenticated account can use Grok, and which models it may pick
twitter_trendsCurrent top trends for a location (by country or woeid) an X Explore tab (by category), or only the trends X labels Business and finance (category=business_and_
twitter_trends_locationsEvery location X has trends for, each with its WOEID
twitter_account_meYour twitterapis.com account: credits, usage, email (free)
twitter_account_paymentsYour twitterapis.com payment history (free)
twitter_media_statusProcessing state of an uploaded media_id; poll until succeeded before attaching video or GIF _(session)_
twitter_article_getRead a published article's full content via its announcement tweet id/url (public, no session)
twitter_article_listList your own articles, filtered by lifecycle (draft or published) _(session)_
twitter_create_tweetPost a tweet; set reply_to to reply or quote to quote-tweet
twitter_delete_tweetDelete one of your tweets (irreversible)
twitter_dm_sendSend a Direct Message to a user by their numeric recipient_id
twitter_list_createCreate a Twitter/X List owned by your session (name, optional description / is_private)
twitter_media_uploadUpload a base64 image, returns a media_id for twitter_create_tweet
twitter_update_profileChange your own name, bio, location or link. A PARTIAL update: omitted fields keep their values, an empty string clears one
twitter_update_avatarReplace your own profile picture. Takes base64 image bytes in image, not a URL and not a media_id. No undo, and X keeps no history
twitter_update_bannerReplace your own header image. Takes base64 image bytes in banner, not a URL and not a media_id. No undo, and X keeps no history
twitter_draft_createSave a private draft on your account; nothing is posted
twitter_draft_editReplace one draft's contents by id; the fields you send become the draft
twitter_draft_deleteDelete a draft by id; it was never public, so nothing is retracted
twitter_draft_listList your drafts, each with text and thread_truncated
twitter_scheduled_createSchedule a post for a future execute_at in epoch seconds, not milliseconds
twitter_scheduled_deleteCancel a pending scheduled post before it sends
twitter_scheduled_listList your pending queue; execute_at comes back in epoch seconds
twitter_article_createStart a new draft article, returns its id
twitter_article_update_titleSet a draft or published article's title
twitter_article_update_cover_mediaAttach an already-uploaded image as an article's cover (media_id from twitter_media_upload)
twitter_article_update_contentReplace a draft or published article's body (Draft.js content_state you build)
twitter_article_publishPublish a draft, posting a real public announcement tweet (not fully reversible)
twitter_article_unpublishRevert a published article to draft (leaves the announcement tweet up)
twitter_article_deleteDelete an article (draft: hard delete; published: unpublish + delete the announcement tweet), irreversible
twitter_monitor_createStart watching an X account (handle) for new posts
twitter_monitor_listList every monitor on your account
twitter_monitor_updatePause/resume a monitor or change its webhook_ids restriction
twitter_monitor_deleteStop and remove a monitor (irreversible)
twitter_monitor_healthOne monitor's status, degradation flag, poll interval, cursor position
twitter_monitor_account_healthAccount-wide rollup: service status, active/paused monitor counts, 24h delivery outcome counts, one call
twitter_monitor_deliveriesRecent delivery events across every monitor, with detection + delivery latency
twitter_x_user_stream_add_userCompat drop-in for twitter_monitor_create using an x_user_stream-shaped envelope
twitter_x_user_stream_remove_userCompat drop-in for twitter_monitor_delete using an x_user_stream-shaped envelope
twitter_x_user_stream_list_usersCompat drop-in for twitter_monitor_list using an x_user_stream-shaped envelope
twitter_monitor_webhook_createRegister an HTTPS delivery URL; returns the HMAC signing secret once
twitter_monitor_webhook_listList every webhook registered on your account
twitter_monitor_webhook_deleteSoft-delete a webhook by id (irreversible from the caller's side)
twitter_monitor_webhook_testSend one signed test event to a webhook right now, synchronously
twitter_monitor_webhook_redriveReplay deliveries that dead-lettered while your endpoint was down, oldest first
twitter_feedback_sendaction: "draft" (default) queues a report locally and sends nothing; "list" shows the queue; "send" posts only the drafts you name to POST /feedback; "discard"
twitter_feedback_getRead a sent report's status (new, triaged, shipped, declined) and the team's response
twitter_feedback_listList the reports this account has already sent, newest first, with status/type filters and a cursor to page
twitter_customer_sessionRegister your x.com session cookies (auth_token + ct0) against your key
twitter_customer_session_statusRead back the registered session without changing it: resolved account, live/dead status, timestamps, and which egress tier a write would use. Never returns the
twitter_customer_session_deleteRevoke that stored session, deleting your auth_token + ct0 from the service. Idempotent and free
twitter_user_loginLog in with username + password (+ totp_secret for 2FA); stores the session against your key. Returns a confirmation, never the cookies

How to install the TwitterAPIs MCP Server

{
  "mcpServers": {
    "twitterapis": {
      "command": "npx",
      "args": [
        "-y",
        "@twitterapis/mcp@latest"
      ],
      "env": {
        "TWITTERAPIS_KEY": "YOUR_TWITTERAPIS_KEY"
      }
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.

Configuration

VariableDescriptionRequired
TWITTERAPIS_KEYDeclared in the maintainer’s client configuration.Check documentation

Example prompts to try

  • “Use TwitterAPIs to Cursor.”
  • “Use TwitterAPIs to Windsurf.”
  • “Use TwitterAPIs to Reads.”

Frequently asked questions

Official MCP server for twitterapis.com. Read and write Twitter/X: search, users, tweets, DMs. Confirm the tools offered by your installed version in the connected client. Tool availability and permissions depend on the server and account configuration.