/ Directory / Playground / XActions
● Community nirholas ⚡ Instant

XActions

by nirholas · nirholas/XActions

140+ MCP tools for X/Twitter — scrape, post, automate, analyze, and monitor. No API fees, fully open source and local.

XActions is a comprehensive X/Twitter automation toolkit with 140+ MCP tools, CLI, browser scripts, and a browser extension. It handles scraping (profiles, tweets, followers), actions (post, like, follow, DM), analytics (sentiment, engagement, competitor analysis), workflow automation (JSON pipelines), and account portability (export/migration). No Twitter API key needed — works locally with no data leaving your machine.

Why use it

Key features

Live Demo

What it looks like in practice

xactions-2.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "xactions-2": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/nirholas/XActions"
      ]
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "xactions-2": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/nirholas/XActions"
      ]
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "xactions-2": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/nirholas/XActions"
      ]
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "xactions-2": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/nirholas/XActions"
      ]
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "xactions-2",
      "command": "TODO",
      "args": [
        "See README: https://github.com/nirholas/XActions"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "xactions-2": {
      "command": {
        "path": "TODO",
        "args": [
          "See README: https://github.com/nirholas/XActions"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add xactions-2 -- TODO 'See README: https://github.com/nirholas/XActions'

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use XActions

How to analyze your X/Twitter engagement and audience

👤 Content creators and social media managers ⏱ ~15 min beginner

When to use: You want to understand your audience, track engagement, and find growth opportunities.

Prerequisites
  • XActions installed — npm install -g xactions
  • Logged into X in your browser — Browser scripts use your active session
Flow
  1. Profile analysis
    Analyze my X profile @myhandle. Show follower growth trends, top performing tweets, and engagement rate.✓ Copied
    → Profile analytics with engagement metrics and trends
  2. Competitor analysis
    Compare my engagement metrics with @competitor1 and @competitor2. Where am I winning and where can I improve?✓ Copied
    → Side-by-side comparison with actionable insights

Outcome: A clear picture of your X presence with data-backed growth strategies.

Pitfalls
  • Scraping too aggressively triggers X rate limits — Built-in rate limiting and human-like delays prevent most issues, but don't override them
Combine with: filesystem

Find and unfollow accounts that don't follow you back

👤 X users managing their following list ⏱ ~30 min beginner

When to use: Your following/follower ratio is off and you want to clean up.

Prerequisites
  • XActions configured — npm install xactions
Flow
  1. Detect non-followers
    Scan my X account and find all accounts I follow that don't follow me back.✓ Copied
    → List of non-reciprocal follows with account names
  2. Smart unfollow
    Unfollow the non-followers except for accounts with over 100k followers (I want to keep those). Use smart delays.✓ Copied
    → Progress updates with unfollow count

Outcome: Following list cleaned up with non-reciprocal accounts removed.

Pitfalls
  • Mass unfollowing too fast triggers X restrictions — Use the built-in smart delays and rate limiting — don't rush the process

Combinations

Pair with other MCPs for X10 leverage

xactions-2 + filesystem

Export your X data for backup or platform migration

Export all my tweets, followers, and following lists to ~/x-backup/ in JSON and CSV formats.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
scrape_profile handle: str Get a user's profile data 0
scrape_tweets handle: str, count?: int Get a user's recent tweets 0
search_tweets query: str, filters? Search for tweets by keyword 0
post_tweet content: str Post a new tweet 0
detect_unfollowers none Find accounts that unfollowed you or don't follow back 0
sentiment_analysis tweets: Tweet[] Analyze sentiment of tweets 0

Cost & Limits

What this costs to run

API quota
No Twitter API needed — uses browser-level access
Tokens per call
300–2000 tokens per tool call
Monetary
Free and open source
Tip
Use targeted searches instead of full profile scrapes to reduce data volume.

Security

Permissions, secrets, blast radius

Credential storage: Uses your browser's active X session — no separate credentials needed
Data egress: All data stays local. Browser interactions go through x.com only.

Troubleshooting

Common errors and fixes

Authentication failed

Ensure you're logged into X (twitter.com) in your browser. The tools use your active session.

Verify: Open x.com in your browser and verify you're logged in
Rate limited by X

X has aggressive rate limits for automated behavior. Wait 15-30 minutes and reduce automation frequency.

Verify: Try a simple profile scrape to test access
Scraper returns empty data

X frequently changes their page structure. Update to the latest version of XActions.

Verify: npm update xactions

Alternatives

XActions vs others

AlternativeWhen to use it insteadTradeoff
Twitter/X official APIYou want official API access with guaranteed stabilityCosts money ($100+/mo for basic) but stable and ToS-compliant

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills