xbird-mcp
Manage your social presence by posting tweets, threads, and media directly from your workspace.
What it can do
- Get Tweet: Get a tweet by ID
- Get Thread: Get a tweet thread (conversation chain)
- Get Article: Get the full article/long-form post content from a tweet. Pass the tweet ID that contains the article (not the article URL ID).
What data it sees
Do you need an account
No: the server works without sign-in
Manage your social presence by posting tweets, threads, and media directly from your workspace. Access timelines, search for content, and monitor mentions to stay updated on trending topics. Engage with your audience through likes, retweets, and follows to streamline your community management.
Requires a local install: run the server on your machine, then point your client at it.
How to connect
How to connect xbird-mcp to Claude
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
This server runs locally: it is wired up through the client config, and the project documentation carries the steps.
How to connect xbird-mcp to ChatGPT
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
This server runs locally: it is wired up through the client config, and the project documentation carries the steps.
How to connect xbird-mcp to Cursor
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
This server runs locally: it is wired up through the client config, and the project documentation carries the steps.
Server tool list (60)
Raw names from tools/list. Only developers need these.
| get_tweet | Get a tweet by ID |
| get_thread | Get a tweet thread (conversation chain) |
| get_article | Get the full article/long-form post content from a tweet. Pass the tweet ID that contains the article (not the article URL ID). |
| get_replies | Get replies to a tweet |
| get_tweets_by_ids | Get up to 100 tweets by IDs in a single request |
| get_user | Get user profile by handle |
| get_user_about | Get detailed user info (bio, stats, links) |
| get_current_user | Get authenticated user's profile |
| get_account_label | Get account label (verified phone, government, etc.) for a user |
| get_user_claims | Get verified account claims for a user (org affiliation, etc.) |
| get_user_sessions | Get active sessions for the authenticated user (security check) |
| get_home_timeline | Get home feed |
| get_mentions | Get mentions for a user |
| get_notifications | Get notifications (mentions, likes, retweets) |
| get_news | Get trending topics and news (tabs: trending, forYou, news, sports, entertainment) |
| get_local_trends | Get currently trending topics for the user's location |
| get_trend_history | Get history of a specific trend (when it trended, tweet count timeline) |
| get_trend_relevant_users | Get users relevant to a specific trend (suggested follows for a topic) |
| get_who_to_follow | Get suggested users to follow (Twitter's recommendations) |
| get_community | Get community info (rules, member count, banner) by ID |
| get_community_tweets | Get tweets posted in a community |
| get_community_rules | Get community rules |
| get_community_members | Get community members (admins + facepile) |
| get_community_hashtags | Get hashtags featured in a community |
| get_community_about | Get community about/description |
| get_user_memberships | Get communities a user is a member of |
| get_list | Get list info by ID |
| get_list_by_slug | Get list info by slug + owner screen name |
| get_list_tweets | Get tweets from a list timeline |
| get_lists | Get owned Twitter lists (for the authenticated user) |
| get_list_memberships | Get lists the authenticated user is a member of |
| get_list_members | Get members of a list |
| get_list_subscribers | Get subscribers (followers) of a list |
| get_all_lists_for_user | Get all lists (owned + member + pinned) for a user |
| get_membership_lists | Get lists a user follows (is a member of) |
| get_space | Get audio Space info by ID |
| browse_space_topics | Browse Space topics (for the create-Space flow) |
| get_my_articles | Get the authenticated user's Twitter Articles (long-form posts) |
| get_bookmark_folders | Get all bookmark folders for the authenticated user |
| get_bookmark_folder_tweets | Get tweets inside a bookmark folder |
| get_tweet_analytics | Get analytics for a tweet (views, likes, retweets, replies, quotes, bookmarks) |
| get_tweet_engagement_timeline | Get tweet engagement over time (daily impressions/engagements breakdown) |
| get_tweet_stats | Get aggregated stats for a tweet (full TweetStats object) |
| get_user_analytics | Get user profile spotlights and stats (verified status, premium counts) |
| get_user_overview | Get user engagement overview (impressions, engagements, profile visits) for the last N days |
| get_birdwatch_note | Get a single Birdwatch / Community Note by ID |
| get_birdwatch_notes_for_tweet | Get Birdwatch / Community Notes written about a specific tweet |
| get_birdwatch_global_timeline | Get the global Birdwatch / Community Notes timeline |
| get_similar_posts | Get posts similar to a given tweet (Twitter's 'More like this') |
| get_blocked_accounts | Get accounts the authenticated user has blocked |
| get_muted_accounts | Get accounts the authenticated user has muted |
| home | Get the authenticated user's home timeline (For You) |
| get_alt_text_prompt | Get the user's alt-text prompt preference for image uploads |
| get_data_saver | Get the user's data saver mode setting |
| get_personalization | Get personalization settings (timeline, search, etc.) |
| get_blocking | Get accounts the authenticated user has blocked |
| get_muting | Get accounts the authenticated user has muted |
| get_user_business_profile | Get a user's business profile (Premium feature) |
| get_owned_lists | Get lists owned by the authenticated user (alias for get_lists) |
| get_explore | Get the Explore 'For You' page (alias for get_explore_page) |