Install
openclaw skills install xbirdClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.
Use when the user asks to tweet, post threads, read tweets, search Twitter/X, check mentions, manage engagement (like/retweet/bookmark), update profile (bio, avatar, banner), upload media, or interact with Twitter accounts. Triggers: twitter, tweet, post, thread, timeline, mentions, followers, following, likes, retweet, bookmark, profile picture, bio.
openclaw skills install xbird34 MCP tools for Twitter/X with x402 micropayments. Runs locally from residential IP.
Add xbird MCP server to Claude Code:
claude mcp add xbird -- npx @checkra1n/xbird
Required environment variables (set in ~/.claude/settings.json or shell):
XBIRD_AUTH_TOKEN — from x.com cookies (DevTools → Application → Cookies → auth_token)XBIRD_CT0 — from x.com cookies (DevTools → Application → Cookies → ct0)XBIRD_PRIVATE_KEY — wallet private key for x402 payments (optional, needed for paid tier)| Tool | Description |
|---|---|
get_tweet | Get tweet by ID |
get_thread | Get full thread/conversation chain |
get_replies | Get replies to a tweet (supports count, cursor) |
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_home_timeline | Get home feed (supports count, cursor) |
get_news | Get trending topics (tabs: trending, forYou, news, sports, entertainment) |
get_lists | Get owned Twitter lists |
get_list_timeline | Get tweets from a list by list ID |
| Tool | Description |
|---|---|
search_tweets | Search tweets. Supports operators: from:user, to:user, since:2024-01-01, filter:media, -filter:retweets |
get_mentions | Get mentions for a handle |
| Tool | Description |
|---|---|
get_user_tweets | Get user's tweets. Requires numeric userId — get it from get_user first |
get_followers | Get user's followers. Requires numeric userId |
get_following | Get who user follows. Requires numeric userId |
get_likes | Get user's liked tweets. Requires numeric userId |
get_bookmarks | Get bookmarked tweets |
get_list_memberships | Get lists user is a member of |
| Tool | Description |
|---|---|
post_tweet | Post a tweet. Pass mediaIds array to attach media |
reply_to_tweet | Reply to a tweet by replyToId |
post_thread | Post a thread — array of strings, minimum 2 tweets |
like_tweet / unlike_tweet | Like or unlike by tweet ID |
retweet / unretweet | Retweet or undo by tweet ID |
bookmark_tweet / unbookmark_tweet | Bookmark or remove by tweet ID |
follow_user / unfollow_user | Follow or unfollow by handle |
| Tool | Description |
|---|---|
update_profile | Update bio/description text |
update_profile_image | Update avatar — absolute file path to image |
update_profile_banner | Update banner — absolute file path to image |
remove_profile_banner | Remove banner image |
| Tool | Description |
|---|---|
upload_media | Upload image/video, returns mediaId. Pass it to post_tweet or reply_to_tweet via mediaIds |
upload_media with file path → get mediaIdpost_tweet with text and mediaIds: ["<mediaId>"]get_user with handle → get numeric userIdget_user_tweets with userIdupdate_profile_image with file pathupdate_profile with new description textsearch_tweets with query (e.g. "AI agents" since:2024-01-01 -filter:retweets)like_tweet or retweet interesting results@ prefixuserId. Always call get_user first to resolve handle → userIdcursor from previous response for next pagemediaId to tweet