xbird
Scanned@checkra1neth
npx machina-cli add skill @checkra1neth/xbird --openclawxbird — Twitter/X for AI Agents
34 MCP tools for Twitter/X with x402 micropayments. Runs locally from residential IP.
Setup
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)
Tools Reference
Read — $0.001/call
| 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 |
Search — $0.005/call
| 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 |
Bulk — $0.01/call
| 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 |
Write — $0.01/call
| 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 |
Profile — $0.01/call
| 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 |
Media — $0.05/call
| Tool | Description |
|---|---|
upload_media | Upload image/video, returns mediaId. Pass it to post_tweet or reply_to_tweet via mediaIds |
Common Workflows
Post a tweet with an image
upload_mediawith file path → getmediaIdpost_tweetwith text andmediaIds: ["<mediaId>"]
Get someone's recent tweets
get_userwith handle → get numericuserIdget_user_tweetswithuserId
Update profile with new avatar and bio
update_profile_imagewith file pathupdate_profilewith new description text
Search and engage
search_tweetswith query (e.g."AI agents" since:2024-01-01 -filter:retweets)like_tweetorretweetinteresting results
Important Notes
- Handles: work with or without
@prefix - userId vs handle: Bulk tools require numeric
userId. Always callget_userfirst to resolve handle → userId - Pagination: most list tools accept
cursorfrom previous response for next page - Media flow: always upload first, then attach
mediaIdto tweet - Rate limits: if a tool returns an error about rate limiting, wait 1-2 minutes before retrying
- x402 payments: all calls are metered via micropayments on Base (USDC). Free tier available without wallet key
Overview
xbird provides 34 MCP tools to let AI agents tweet, read timelines, search tweets, check mentions, manage engagement, and update profiles or media on Twitter/X. It runs locally from a residential IP and uses micropayments for tool calls, enabling controlled, auditable interactions with the platform.
How This Skill Works
xb ird exposes tool groups: Read, Search, Bulk, Write, Profile, and Media. An agent authenticates with XBIRD_AUTH_TOKEN, XBIRD_CT0, and optionally XBIRD_PRIVATE_KEY, then calls the appropriate MCP endpoints (e.g., get_tweet, search_tweets, post_tweet, upload_media). Each action consumes a micropayment per the tool’s defined cost, and results are returned for downstream decision making.
When to Use It
- Post a tweet or create a multi-part thread, possibly with media attached.
- Read or monitor tweets, timelines, replies, or mentions to inform next actions.
- Search for tweets and user mentions to respond or engage with specific topics.
- Manage engagement by liking, retweeting, or bookmarking tweets, or following users.
- Update profile information (bio, avatar, banner) or upload media for posts.
Quick Start
- Step 1: Set up xbird MCP server and authenticate (claude mcp add xbird -- npx @checkra1n/xbird; configure XBIRD_AUTH_TOKEN, XBIRD_CT0, and optional XBIRD_PRIVATE_KEY).
- Step 2: Upload media you want to attach, then post a tweet with the returned mediaIds or create a thread with post_thread.
- Step 3: Validate results, adjust query or actions, and monitor costs per call to stay within micropayment limits.
Best Practices
- Fetch context first (e.g., get_user or get_home_timeline) before posting or engaging to ensure relevant targeting.
- When posting media, upload_media first to obtain a mediaId and pass it in post_tweet or post_thread.
- For threads, use post_thread with a minimum of two tweets and ensure the array order preserves narrative flow.
- Use numeric userIds for bulk reads (get_user_tweets, get_followers, etc.) and verify handles when following/unfollowing.
- Keep credentials secure (XBIRD_AUTH_TOKEN/CT0) and monitor usage against micropayment costs and rate limits.
Example Use Cases
- Upload an image and post a tweet with the media attached using upload_media followed by post_tweet with mediaIds.
- Create a 3-tweet thread about a product update using post_thread and include multiple media items if needed.
- Fetch a target user’s recent tweets by resolving their handle to a numeric userId and calling get_user_tweets.
- Search for tweets containing a topic (e.g., AI agents since:2024-01-01 -filter:retweets) and like or retweet selected results.
- Update your profile by uploading a new avatar and changing the bio with update_profile_image and update_profile.