Official MCP server for twitterapis.com. Read and write Twitter/X: search, users, tweets, DMs.
Official MCP server for twitterapis.com. Read and write Twitter/X: search, users, tweets, DMs.
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 server publishes 3 tools. What each one is for:
Cursor — The Cursor tool exposed by this serverWindsurf — The Windsurf tool exposed by this serverReads — The Reads tool exposed by this serverCompare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| twitter_advanced_search | Search tweets with X operators (from:, min_faves:, since:, filter:links, etc.) |
| twitter_user_search | Find user accounts by name or keyword |
| twitter_user_info | Full profile by handle (bio, counts, verification, location) |
| twitter_user_info_by_id | Full profile by numeric user id |
| twitter_user_status | Is an account alive, suspended, or deleted |
| twitter_user_about | A user's structured About object (category, professional/business labels, verification + identity-verification flags, joined date, and X's 'About this account' |
| twitter_user_about_batch | The 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_summary | Who an audience is: a country histogram and likely-bot share over a sample of up to 100 followers or retweeters |
| twitter_user_affiliates | Accounts affiliated with an organization profile |
| twitter_check_follow_relationship | Follow relationship between two accounts, by id or username (who follows whom) |
| twitter_check_follow_relationship_batch | One account against up to 100 others in one call, either direction (which of these accounts follow the brand) |
| twitter_user_tweets | A user's recent original tweets (replies excluded) |
| twitter_user_tweets_and_replies | A user's full timeline (tweets + replies) |
| twitter_user_tweets_complete | A large batch of a user's tweet history per call (see paging note) |
| twitter_user_media | Images and videos a user has posted |
| twitter_user_mentions | Recent public tweets mentioning a user |
| twitter_user_likes | Tweets a user has liked (public Likes tab) |
| twitter_user_followers | Accounts that follow a user |
| twitter_user_following | Accounts a user follows |
| twitter_user_followers_v2 | Followers with the v2 response shape (richer fields, deeper cursoring) |
| twitter_user_following_v2 | Following with the v2 response shape (richer fields, deeper cursoring) |
| twitter_user_verified_followers | A user's verified followers only |
| twitter_followers_you_know | Followers of a target that your authenticated account also follows |
| twitter_tweet_detail | Single tweet: text, author, metrics, media, quoted/reply context |
| twitter_tweet_replies | Replies to a tweet |
| twitter_tweet_thread | Full author thread (connected tweet chain by same author) |
| twitter_tweet_retweeters | Accounts that retweeted a tweet |
| twitter_tweet_quotes | Tweets that quote a tweet, with their text. Search-backed, so count is what search returned, not the tweet's true quote_count |
| twitter_list_members | Members of a Twitter/X List |
| twitter_list_followers | Accounts that follow a public List (a different set from its members) |
| twitter_list_tweets | Posts by a List's members, search-backed: filterable by since / until date, include_replies, and product (Latest / Top), no retweets |
| twitter_list_timeline | A List's native X feed: retweets and X's own ordering included, no filters, paging only |
| twitter_home_timeline | Your authenticated account's Home timeline _(session)_ |
| twitter_bookmarks | Your authenticated account's bookmarks _(session)_ |
| twitter_blocking | Accounts your authenticated account has blocked (your own list only) _(session)_ |
| twitter_muting | Accounts your authenticated account has muted (your own list only) _(session)_ |
| twitter_bookmark_search | Full-text search within your bookmarks _(session)_ |
| twitter_bookmark_folders | Your authenticated account's bookmark folders _(session)_ |
| twitter_bookmark_folder_timeline | Tweets inside one of your bookmark folders, by folder_id _(session)_ |
| twitter_dm_list | Your DM conversations (inbox), read-only _(session)_ |
| twitter_dm_conversation | Messages in one DM conversation, read-only; pass the previous page's min_entry_id as max_id to page back _(session)_ |
| twitter_spaces_info | Metadata and participant roster for one X Space, live or ended (by Space id) |
| twitter_community_search | Find X Communities by keyword; the discovery step that produces the numeric id the rest of the community family needs |
| twitter_community_info | One X Community by numeric id: name, counts, join policy, rules, topic, banners, admin |
| twitter_community_about | A community's moderators and a member preview, each returned as a full user profile, not the reduced row _members/_moderators return |
| twitter_community_members | A community's member roster, each row carrying that member's Admin / Moderator / Member role |
| twitter_community_moderators | A community's moderators and admins, from its own upstream operation (not a filter over the roster) |
| twitter_community_tweets | A community's post timeline, with the pinned post returned as its own pinned field |
| twitter_community_memberships | The inverse lookup: every community a given numeric user_id belongs to |
| twitter_grok_chat | Ask X's own Grok, grounded in live X data, and get the answer plus the sources it cited |
| twitter_grok_config | Whether the authenticated account can use Grok, and which models it may pick |
| twitter_trends | Current 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_locations | Every location X has trends for, each with its WOEID |
| twitter_account_me | Your twitterapis.com account: credits, usage, email (free) |
| twitter_account_payments | Your twitterapis.com payment history (free) |
| twitter_media_status | Processing state of an uploaded media_id; poll until succeeded before attaching video or GIF _(session)_ |
| twitter_article_get | Read a published article's full content via its announcement tweet id/url (public, no session) |
| twitter_article_list | List your own articles, filtered by lifecycle (draft or published) _(session)_ |
| twitter_create_tweet | Post a tweet; set reply_to to reply or quote to quote-tweet |
| twitter_delete_tweet | Delete one of your tweets (irreversible) |
| twitter_dm_send | Send a Direct Message to a user by their numeric recipient_id |
| twitter_list_create | Create a Twitter/X List owned by your session (name, optional description / is_private) |
| twitter_media_upload | Upload a base64 image, returns a media_id for twitter_create_tweet |
| twitter_update_profile | Change your own name, bio, location or link. A PARTIAL update: omitted fields keep their values, an empty string clears one |
| twitter_update_avatar | Replace 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_banner | Replace 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_create | Save a private draft on your account; nothing is posted |
| twitter_draft_edit | Replace one draft's contents by id; the fields you send become the draft |
| twitter_draft_delete | Delete a draft by id; it was never public, so nothing is retracted |
| twitter_draft_list | List your drafts, each with text and thread_truncated |
| twitter_scheduled_create | Schedule a post for a future execute_at in epoch seconds, not milliseconds |
| twitter_scheduled_delete | Cancel a pending scheduled post before it sends |
| twitter_scheduled_list | List your pending queue; execute_at comes back in epoch seconds |
| twitter_article_create | Start a new draft article, returns its id |
| twitter_article_update_title | Set a draft or published article's title |
| twitter_article_update_cover_media | Attach an already-uploaded image as an article's cover (media_id from twitter_media_upload) |
| twitter_article_update_content | Replace a draft or published article's body (Draft.js content_state you build) |
| twitter_article_publish | Publish a draft, posting a real public announcement tweet (not fully reversible) |
| twitter_article_unpublish | Revert a published article to draft (leaves the announcement tweet up) |
| twitter_article_delete | Delete an article (draft: hard delete; published: unpublish + delete the announcement tweet), irreversible |
| twitter_monitor_create | Start watching an X account (handle) for new posts |
| twitter_monitor_list | List every monitor on your account |
| twitter_monitor_update | Pause/resume a monitor or change its webhook_ids restriction |
| twitter_monitor_delete | Stop and remove a monitor (irreversible) |
| twitter_monitor_health | One monitor's status, degradation flag, poll interval, cursor position |
| twitter_monitor_account_health | Account-wide rollup: service status, active/paused monitor counts, 24h delivery outcome counts, one call |
| twitter_monitor_deliveries | Recent delivery events across every monitor, with detection + delivery latency |
| twitter_x_user_stream_add_user | Compat drop-in for twitter_monitor_create using an x_user_stream-shaped envelope |
| twitter_x_user_stream_remove_user | Compat drop-in for twitter_monitor_delete using an x_user_stream-shaped envelope |
| twitter_x_user_stream_list_users | Compat drop-in for twitter_monitor_list using an x_user_stream-shaped envelope |
| twitter_monitor_webhook_create | Register an HTTPS delivery URL; returns the HMAC signing secret once |
| twitter_monitor_webhook_list | List every webhook registered on your account |
| twitter_monitor_webhook_delete | Soft-delete a webhook by id (irreversible from the caller's side) |
| twitter_monitor_webhook_test | Send one signed test event to a webhook right now, synchronously |
| twitter_monitor_webhook_redrive | Replay deliveries that dead-lettered while your endpoint was down, oldest first |
| twitter_feedback_send | action: "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_get | Read a sent report's status (new, triaged, shipped, declined) and the team's response |
| twitter_feedback_list | List the reports this account has already sent, newest first, with status/type filters and a cursor to page |
| twitter_customer_session | Register your x.com session cookies (auth_token + ct0) against your key |
| twitter_customer_session_status | Read 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_delete | Revoke that stored session, deleting your auth_token + ct0 from the service. Idempotent and free |
| twitter_user_login | Log in with username + password (+ totp_secret for 2FA); stores the session against your key. Returns a confirmation, never the cookies |
{
"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.
| Variable | Description | Required |
|---|---|---|
| TWITTERAPIS_KEY | Declared in the maintainer’s client configuration. | Check documentation |
Search built for AI, not humans — semantic web search that returns model-ready content, plus code context.
Put 6,000+ pre-built scrapers at your assistant's fingertips through one MCP endpoint.
Fetches and analyzes content from Reddit, providing access to hot threads and post details.
Enables interaction with X (formerly Twitter) for retrieving tweets, creating new posts, and replying to existing ones.
Automates LinkedIn interactions and extracts data through browser automation, respecting terms of service and rate limits.
Automates SEO tasks and provides AI-powered optimization by integrating with the Google Ads Keyword Planner API.