communicationoauth2

Twitter / X

Tweets, lists, DMs.

Verdict

The X MCP lets your team post tweets, manage lists, send DMs, and pull engagement data without leaving Switchy. @mention it to draft a thread, bookmark a tweet for later review, or check who's interacting with your account. Social managers get the most value — they can schedule posts, triage replies, and audit compliance jobs from the same Space where the rest of the team collaborates. You'll grant OAuth scopes for read, write, and DM access; if your account has two-factor auth enabled, keep your authenticator app handy during setup.

Common use cases

  • Draft and schedule tweet threads from briefs
  • Bookmark competitor posts for weekly review
  • Triage DM inquiries during support shifts
  • Audit compliance jobs before regulatory deadlines
  • Add influencers to curated lists in real time

Integration

Vendor
Twitter / X
Category
communication
Auth
OAUTH2
Tools
50
Composio slug
twitter

Tools

  • Add a list member

    Adds a user to a specified twitter list; the list must be owned by the authenticated user.

  • Add post to bookmarks

    Adds a specified, existing, and accessible tweet to a user's bookmarks, with success indicated by the 'bookmarked' field in the response.

  • Create a list

    Creates a new, empty list on x (formerly twitter), for which the provided name must be unique for the authenticated user; accounts are added separately.

  • Create a post

    Creates a tweet on twitter; `text` is required unless `card uri`, `media media ids`, `poll options`, or `quote tweet id` is provided.

  • Create compliance job

    Creates a new compliance job to check the status of tweet or user ids; upload ids as a plain text file (one id per line) to the `upload url` received in the response.

  • Create group DM conversation

    Creates a new group direct message (dm) conversation on twitter with specified participant ids and an initial message, which can include text and media attachments.

  • Delete direct message
    destructive

    Permanently deletes a specific twitter direct message (dm) event using its `event id` if the authenticated user sent it; this action is irreversible and does not delete entire conversations.

  • Delete list
    destructive

    Permanently deletes a specified twitter list using its id, which must be owned by the authenticated user; this action is irreversible and the list must already exist.

  • Delete tweet
    destructive

    Irreversibly deletes a specific tweet by its id; the tweet may persist in third-party caches after deletion.

  • Fetch list members by id

    Fetches members of a specific twitter list, identified by its unique id.

  • Fetch recent tweet counts

    Retrieves the count of tweets matching a specified search query within the last 7 days, aggregated by 'minute', 'hour', or 'day'.

  • Fetch space ticket buyers list

    Retrieves a list of users who purchased tickets for a specific, valid, and ticketed twitter space.

  • Fetch tweet usage data

    Fetches tweet usage statistics for a project (e.g., consumption, caps, daily breakdowns for project & client apps) to monitor api limits; data can be retrieved for 1 to 90 days.

  • Follow a list

    Allows the authenticated user (`id`) to follow a specific twitter list (`list id`) they are permitted to access, subscribing them to the list's timeline; this does not automatically follow individual list members.

  • Follow a user

    Allows an authenticated user (path `id`) to follow another user (`target user id`), which results in a pending request if the target user's tweets are protected.

  • Get a user's list memberships

    Retrieves all twitter lists a specified user is a member of, including public lists and private lists the authenticated user is authorized to view.

  • Get a user's owned lists

    Call this action to retrieve lists created (owned) by a specific twitter user, not lists they follow or are subscribed to.

  • Get a user's pinned lists

    Retrieves the lists a specific, existing twitter user has pinned to their profile to highlight them.

  • Get bookmarks by user

    Retrieves tweets bookmarked by the authenticated user, where the provided user id must match the authenticated user's id.

  • Get DM events by ID

    Fetches a specific direct message (dm) event by its unique id, allowing optional expansion of related data like users or tweets; ensure the `event id` refers to an existing dm event accessible to the authenticated user.

  • Get DM events for a DM conversation

    Fetches direct message (dm) events for a one-on-one conversation with a specified participant id, ordered chronologically newest to oldest; does not support group dms.

  • Get followers by user id

    Retrieves a list of users who follow a specified public twitter user id.

  • Get following by user ID

    Retrieves users followed by a specific twitter user, allowing pagination and customization of returned user and tweet data fields via expansions.

  • Get full archive search counts

    Returns a count of tweets from the full archive that match a specified query, aggregated by day, hour, or minute; `start time` must be before `end time` if both are provided, and `since id`/`until id` cannot be used with `start time`/`end t

  • Get list followers

    Fetches a list of users who follow a specific twitter list, identified by its id; ensure the authenticated user has access if the list is private.

  • Get muted users

    Returns user objects muted by the x user identified by the `id` path parameter.

  • Get post retweeters

    Retrieves users who publicly retweeted a specified public post id, excluding quote tweets and retweets from private accounts.

  • Get recent direct message events

    Returns recent direct message events for the authenticated user, such as new messages or changes in conversation participants.

  • Get tweets by IDs

    Retrieves detailed information for one or more posts (tweets) identified by their unique ids, allowing selection of specific fields and expansions.

  • Get tweets label stream

    Establishes a persistent stream of real-time events for when tweet labels are applied or removed, offering insights into content categorization.

  • Get users blocked by user ID

    Retrieves user objects for accounts blocked by the specified user id; this is a read-only view of a user's block list.

  • Get user's followed lists

    Returns metadata (not tweets) for lists a specific twitter user follows, optionally including expanded owner details.

  • List post likers

    Retrieves users who have liked the post (tweet) identified by the provided id.

  • List posts timeline by list ID

    Fetches the most recent tweets posted by members of a specified twitter list.

  • Lookup list by ID

    Returns metadata for a specific twitter list, identified by its id; does not return list members but can expand the owner's user object via the `expansions` parameter.

  • Look up post by id

    Fetches comprehensive details for a single tweet by its unique id, provided the tweet exists and is accessible.

  • Mute user by ID

    Mutes a target user on behalf of an authenticated user, preventing the target's tweets and retweets from appearing in the authenticated user's home timeline without notifying the target.

  • Pin a list

    Pins a specified list to the authenticated user's profile, provided the list exists, the user has access rights, and the pin limit (typically 5 lists) is not exceeded.

  • Remove a bookmarked post
    destructive

    Removes a tweet, specified by `tweet id`, from the authenticated user's bookmarks; the tweet must have been previously bookmarked by the user for the action to have an effect.

  • Remove a list member
    destructive

    Removes a user from a twitter list; the response `is member` field will be `false` if removal was successful or the user was not a member, and the updated list of members is not returned.

  • Retrieve compliance job by id

    Retrieves status, download/upload urls, and other details for an existing twitter compliance job specified by its unique id.

  • Retrieve compliance jobs

    Returns a list of recent compliance jobs, filtered by type (tweets or users) and optionally by status.

  • Retrieve DM conversation events

    Retrieves direct message (dm) events for a specific conversation id on twitter, useful for analyzing messages and participant activities.

  • Retrieve liked tweets by user ID

    Retrieves tweets liked by a specified twitter user, provided their liked tweets are public or accessible.

  • Retrieve posts from a space

    Retrieves tweets from a specified twitter space id; the space must be accessible and results are batched (not streamed).

  • Retrieve posts that quote a post

    Retrieves tweets that quote a specified tweet, requiring a valid tweet id.

  • Retrieve retweets of a post

    Retrieves tweets that retweeted a specified public or authenticated-user-accessible tweet id, optionally customizing the response with fields and expansions.

  • Search full archive of tweets

    Searches the full archive of public tweets from march 2006 onwards; use 'start time' and 'end time' together for a defined time window.

  • Search recent tweets

    Searches tweets from the last 7 days matching a query (using x's search syntax), ideal for real-time analysis, trend monitoring, or retrieving posts from specific users (e.g., `from:username`)

  • Set reply visibility

    Hides or unhides an existing reply tweet.

Setup

Setup guide

  1. 11. Open your Switchy workspace and navigate to Settings → Integrations → Browse MCP Servers. 2. Find X in the Communication category and click Connect. 3. You'll be redirected to twitter.com to authorize Switchy; log in if prompted. 4. Review the requested scopes: read tweets and profile, write tweets and lists, send and read DMs, manage bookmarks. 5. Click Authorize App to grant access; you'll return to Switchy with a green confirmation banner. 6. Open any Space and type '@X' to confirm the connection — autocomplete should show the X server. 7. Test it by typing '@X create a post' followed by 'Draft a tweet about our new feature launch' and hitting send. 8. The MCP will respond with a preview of the tweet text; reply 'yes' to publish or edit the draft inline. 9. If the connection fails, revisit Settings → Integrations and click Reconnect to refresh your OAuth token.

What teammates see: by default, memories from Twitter / X are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.

Works well with

Top models

Compatibility data appears once enough Spaces have used this MCP together with a given model.

How Switchy teams use it

Not enough Spaces yet to publish anonymised usage stats (we require ≥ 50 Spaces per week).

Starter prompts

Draft Launch Thread

@X create a post. Write a five-tweet thread announcing our new analytics dashboard. Start with a hook about data overload, explain the three core features, and end with a link to the docs.
Open in a Space →

Bookmark Top Replies

@X add post to bookmarks. Find the three replies with the most likes on my tweet from this morning about pricing changes and bookmark them for follow-up.
Open in a Space →

Build Prospect List

@X create a list called 'Q2 Outreach Prospects' and add the ten accounts that replied to our case study tweet last week.
Open in a Space →

Send Group DM Update

@X create group DM conversation with @alice, @bob, and @carol. Message: 'Launch day metrics: 1.2k signups, 340 trial starts, 89% activation rate. Full breakdown in the dashboard.'
Open in a Space →

Check Compliance Job

@X create compliance job. Upload the tweet IDs from our Q1 campaign CSV and tell me which ones are still live versus deleted or restricted.
Open in a Space →

Example outputs

Illustrative - representative of the model's voice and quality, not literal recordings.

Prompt

@Twitter show me my last 20 bookmarked tweets and summarize the main topics people are discussing

Output

Retrieved 20 bookmarked tweets from your account. The main topics include: AI safety regulations (6 tweets), startup funding trends in Q1 2024 (5 tweets), remote work policy debates (4 tweets), and new TypeScript features (5 tweets). Most engagement centers around the AI safety thread started by @researcher_acc, which has 340 replies debating EU vs US approaches. The funding discussion highlights a shift toward profitability-first pitches. Would you like me to pull full text from any specific thread?

Notes

This example combines the MCP's bookmark-retrieval tool with the AI's summarization capability. Requires OAuth2 read permissions for bookmarks. Note that Twitter's API returns tweets in reverse-chronological order by default; if your bookmarks span months, the 'last 20' may not represent your most important saves.

Prompt

@Twitter create a new list called 'Design Inspo' and add @designer_a, @designer_b, and @studio_xyz to it

Output

Created list 'Design Inspo' (ID: 1234567890). Successfully added 3 members: @designer_a, @designer_b, and @studio_xyz. The list is now visible in your Lists tab and set to public by default. You can change visibility to private in Twitter's list settings if needed. All future tweets from these accounts will appear in this list's timeline.

Notes

Demonstrates the MCP's ability to create lists and batch-add members in a single workflow. Requires OAuth2 write permissions for lists. Be aware that adding users to a public list may notify them (Twitter's behavior, not the MCP's). If any username is misspelled or the account is suspended, that add operation will fail silently—check the response for partial success.

Prompt

@Twitter draft a tweet announcing our new API release, keep it under 280 characters, then post it with the #DevTools hashtag

Output

Draft: 'Excited to launch v2.0 of our API—now with webhook support, 10x faster response times, and a redesigned dashboard. Docs at example.com/api-v2. #DevTools 🚀' (276 characters). Posted successfully as tweet ID 9876543210. The tweet is now live on your profile and visible to your 4,200 followers. Engagement tracking shows 3 likes and 1 retweet in the first minute.

Notes

Showcases the AI's text-generation paired with the MCP's tweet-creation tool. Requires OAuth2 write permissions for tweets. The MCP posts immediately—there's no 'review and approve' step unless you explicitly ask the AI to wait. If you need to attach media or schedule the tweet, those require separate tool calls (media upload, then tweet creation with media IDs).

Use-case deep-dives

Customer support team social monitoring

When Twitter MCP makes sense for support triage workflows

A 6-person support team monitoring @mentions and DMs for a SaaS product with 20k followers can use this MCP to pull tweets, bookmark urgent cases, and reply without leaving Switchy. The 50-tool scope covers posting, bookmarking, list management, and DM threads—enough to handle triage, escalation tagging, and first-response drafts in one workspace. OAuth2 means each agent authenticates once and the team shares context in Switchy threads. The threshold: if your team needs advanced analytics (sentiment scoring, trend detection) or processes more than 500 inbound mentions daily, you'll hit rate limits and need a dedicated social tool. For small-to-mid volume support where speed and shared context matter more than dashboards, this MCP closes the loop between monitoring and action.

Marketing campaign coordination at launch

Using Twitter MCP for coordinated product launch threads

A 3-person marketing team launching a new feature can draft, review, and schedule a 6-tweet thread in Switchy using this MCP's create-post and list-management tools. One person writes the thread, another edits in the same workspace, and the third uses the MCP to publish each tweet in sequence while adding key influencers to a private list for follow-up DMs. The compliance-job tool lets you verify tweet IDs if you're running paid campaigns that need audit trails. The trade-off: if you're managing multiple brand accounts or need approval workflows with external stakeholders, the single OAuth2 session per user becomes a bottleneck. For a tight team launching under one brand handle, this MCP keeps the entire campaign in one shared workspace instead of scattered across Slack, Google Docs, and the Twitter app.

Community manager weekly engagement rounds

When Twitter MCP fits weekly community engagement routines

A solo community manager running weekly AMAs or feature-request threads can use this MCP to create posts, bookmark high-signal replies, and send group DMs to power users—all from Switchy where the rest of the product roadmap lives. The 50 tools include everything needed for recurring engagement: post creation, bookmark management, list curation, and DM orchestration. OAuth2 setup is one-time, so each Monday's AMA prep happens in the same workspace where you're already reviewing Linear tickets and Slack feedback. The limit: if you're juggling more than two brand accounts or need scheduled posting across time zones, you'll want a dedicated social tool with multi-account and calendar features. For a single community manager working one handle and prioritizing context over automation, this MCP eliminates the app-switching tax.

Frequently asked

What can the Twitter MCP do in Switchy?

The Twitter MCP lets your AI agents post tweets, manage bookmarks, create and modify lists, send DMs (including group conversations), and run compliance jobs to check tweet or user ID status. It covers most core Twitter actions except reading your timeline or searching tweets. Your agents can automate posting, list curation, and direct outreach without switching to the Twitter app.

Which OAuth scopes does the Twitter MCP request?

The MCP uses OAuth 2.0 and requests write permissions for tweets, lists, bookmarks, and direct messages, plus read access to verify your account details. You'll see the full scope list during Twitter's authorization screen. You don't need admin access to your Twitter account, but the authenticated user owns any lists or tweets the MCP creates.

Can the Twitter MCP read my timeline or search tweets?

No. The MCP focuses on write actions—posting, bookmarking, list management, and DMs. It can't fetch your timeline, search tweets, or pull follower lists. If your workflow needs to read Twitter data before acting on it, you'll need to use Twitter's API directly or a separate read-focused integration alongside this MCP.

How is this different from using Twitter's API directly?

The MCP wraps Twitter's API into 50 discrete tools that AI agents can call by name, with built-in OAuth handling and error messages agents understand. You skip writing API client code or managing tokens manually. The trade-off: you're limited to the tools Switchy exposes, so niche API endpoints might not be available yet.

Who on my team should connect the Twitter MCP?

Connect it with the Twitter account you want agents to post from—usually a company or team account, not a personal one. Only that user's tweets, lists, and DMs are accessible. If multiple people need to authorize different Twitter accounts, each person connects their own; Switchy doesn't share credentials across team members.

Compare with

Compare with anything else →
Data last verified 7 hours ago.Sources aggregated hourly to weekly. See docs/architecture/model-directory.md.