mcpField
B
bird

bird

github.com/liewcfProductivity1648 installsUpdated 11w ago
Repository

About bird

bird is a guide to using a CLI for reading and managing X/Twitter content, for people who need to search posts, threads, and user activity from the command line. It also covers bookmarks, news, and posting, with JSON output and cookie-based authentication.

Key features

  1. 01Reads posts, threads, and replies
  2. 02Searches posts with pagination
  3. 03Retrieves user posts and mentions
  4. 04Lists and manages bookmarks
  5. 05Gets news and trending content
  6. 06Supports JSON output and cookie authentication

Use cases

  1. 01Find X/Twitter posts by query
  2. 02Read a user's timeline and mentions
  3. 03Review and manage bookmarks
  4. 04Extract post or media data as JSON

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/liewcf/agent-skills --skill bird

After installing, type/birdin Claude Code to confirm it loaded.

Bundled filesREADME.mdreferences/commands.md

Details

From the project README

Bird - X/Twitter CLI

Guide for using the bird CLI tool to interact with X/Twitter content.

Quick Start

Install bird globally:

npm install -g @steipete/bird
# or
pnpm add -g @steipete/bird
# or
bun add -g @steipete/bird
# one-shot (no install)
bunx @steipete/bird whoami
# or
brew install steipete/tap/bird

Verify authentication:

bird whoami          # Show logged-in account
bird check           # Check available credentials

Common Tasks

Read Tweets and Threads
# Read a single tweet
bird read <tweet-url-or-id>
bird <tweet-url-or-id>              # shorthand

# Read a thread (tweet + replies)
bird thread <tweet-url-or-id>

# Get replies only
bird replies <tweet-url-or-id>

# Output as JSON for processing
bird read <id> --json
bird thread <id> --json --max-pages 3
Search Tweets
# Basic search
bird search "query" -n 10

# Search from a specific user
bird search "from:username" -n 20

# Get all results (paginated)
bird search "query" --all --json

# Search with date filters
bird search "query since:2024-01-01" -n 50
Get User Content
# User's tweets
bird user-tweets @username -n 20
bird user-tweets @username -n 50 --json

# User mentions
bird mentions --user @username -n 10
Manage Bookmarks
# List bookmarks
bird bookmarks -n 20
bird bookmarks --all --json

# From a specific folder
bird bookmarks --folder-id <id> -n 10

# Remove a bookmark
bird unbookmark <tweet-id-or-url>
Get News and Trending
# AI-curated news
bird news --ai-only -n 10

# Sports/Entertainment news
bird news --sports -n 15
bird news --entertainment -n 10

# Include related tweets
bird news --with-tweets --tweets-per-item 3 -n 10

# Trending topics
bird trending -n 10
Post Tweets (use with caution)
# Send a tweet
bird tweet "hello world"

# Reply to a tweet
bird reply <tweet-id-or-url> "my reply"
Process JSON Output

Use jq to extract specific fields from JSON output:

# Get tweet text only
bird read <id> --json | jq -r '.text'

# Get user info
bird user-tweets @user -n 5 --json | jq '.[] | {name: .user.name, handle: .user.screen_name}'

# Extract media URLs
bird read <id> --json | jq -r '.media[]?.url'

# Save to file
bird user-tweets @user --all --json > tweets.json

Authentication

Bird uses cookie-based authentication (no API keys required). Use --auth-token / --ct0 to pass cookies directly, or --cookie-source for browser cookies.

Browser cookie sources:

  • Safari, Chrome, or Firefox (macOS)
  • Chromium variants (Arc/Brave/etc): use --chrome-profile-dir
  • Choose the cookie order with --cookie-source, and specific Firefox profile with --firefox-profile
  • --cookie-source is repeatable: safari|chrome|firefox|all|none

Config File

Global: ~/.config/bird/config.json5
Project: ./.birdrc.json5

Example:

{
  cookieSource: ["chrome"],
  chromeProfileDir: "/path/to/Arc/Profile",
  chromeProfile: "Default",
  firefoxProfile: "default-release",
  cookieTimeoutMs: 10000,
  timeoutMs: 20000,
  quoteDepth: 1
}

Environment variables:

  • BIRD_TIMEOUT_MS
  • BIRD_COOKIE_TIMEOUT_MS
  • BIRD_QUOTE_DEPTH
  • BIRD_QUERY_IDS_CACHE

Important Notes

  • Uses undocumented X/Twitter GraphQL API - may break without notice
  • Recommendation: Use for reading only. Tweeting may trigger blocks.
  • Rate limits apply - use --delay <ms> to add delays between requests
  • Pagination (when supported): search, bookmarks, likes, following, and followers require --all or --cursor with --max-pages; list-timeline treats --max-pages as --all

Troubleshooting

Query IDs stale (404 errors):

bird query-ids --fresh

Query IDs cache:

  • Default: ~/.config/bird/query-ids-cache.json
  • Override: BIRD_QUERY_IDS_CACHE=/path/to/file.json

Cookie extraction fails:

  • Confirm you're logged into X/Twitter in the browser
  • Try a different --cookie-source order
  • For Arc/Brave, pass --chrome-profile-dir

Auth fails with flags/env:

  • Ensure --auth-token and --ct0 are from the same session
  • Try browser cookies instead of flags for a quick sanity check

Reference

See references/commands.md for complete command documentation.

Comments

Markdown supported