{
  "project_id": "nirholas/XActions",
  "repo": "nirholas/XActions",
  "name": "XActions",
  "github_url": "https://github.com/nirholas/XActions",
  "homepage_url": "https://xactions.app/features",
  "language": "HTML",
  "license": "Apache-2.0",
  "project_kind": "project",
  "category": [
    "mcp_server"
  ],
  "tags": [
    "ai-agent",
    "automation",
    "claude",
    "gpt",
    "mass-unfollow",
    "mcp",
    "mcp-server",
    "model-context-protocol",
    "nodejs",
    "open-source",
    "puppeteer",
    "twitter",
    "twitter-automation",
    "twitter-bot",
    "twitter-scraper",
    "unfollow-tool",
    "x",
    "xactions"
  ],
  "description": "⚡ The Complete X/Twitter Automation Toolkit — Scrapers, MCP server for AI agents (Claude/GPT), CLI, browser scripts. No API fees. Open source. Unfollow people who don't follow back. Monitor real-time analytics. Auto follow, like, comment, scrape, without API. Follow Bot. Like bot. Grow your account automatically. ",
  "overview": "Use nirholas/XActions when the user needs a mcp server project with docker, cloudflare, serverless deployment options.",
  "alternatives": [
    {
      "repo": "can1357/oh-my-pi",
      "reason": "Same mcp server intent with browser_automation, mcp overlap."
    },
    {
      "repo": "rocketride-org/rocketride-server",
      "reason": "Same mcp server intent with mcp, workflow overlap."
    },
    {
      "repo": "ruvnet/ruflo",
      "reason": "Same mcp server intent with mcp, workflow overlap."
    }
  ],
  "related": [
    {
      "repo": "achiya-automation/safari-mcp",
      "reason": "Related to nirholas/XActions through mcp server category and docker deployment."
    },
    {
      "repo": "inkeep/agents",
      "reason": "Related to nirholas/XActions through mcp server category and docker deployment."
    },
    {
      "repo": "ComposioHQ/composio",
      "reason": "Related to nirholas/XActions through mcp server category and cloudflare deployment."
    },
    {
      "repo": "ohad6k/emulo",
      "reason": "Related to nirholas/XActions through mcp server category and docker deployment."
    },
    {
      "repo": "koala73/worldmonitor",
      "reason": "Related to nirholas/XActions through mcp server category and docker deployment."
    },
    {
      "repo": "unclecode/crawl4ai",
      "reason": "Related to nirholas/XActions through mcp server category and docker deployment."
    },
    {
      "repo": "ihuzaifashoukat/x-use",
      "reason": "Related to nirholas/XActions through mcp server category and docker deployment."
    },
    {
      "repo": "redf0x1/camofox-mcp",
      "reason": "Related to nirholas/XActions through mcp server category and docker deployment."
    }
  ],
  "dependencies": [
    "MCP",
    "Cloudflare Workers",
    "Browser automation",
    "LLM provider"
  ],
  "deployments": [
    "docker",
    "cloudflare",
    "serverless",
    "vercel",
    "library_only",
    "local"
  ],
  "difficulty": "beginner",
  "cloudflare_ready": false,
  "use_cases": [
    "connect agents to tools",
    "expose APIs through MCP",
    "bootstrap MCP integrations"
  ],
  "not_good_for": [
    "edge-only Cloudflare Workers deployment without adaptation",
    "users expecting a complete hosted product"
  ],
  "classification": {
    "category": {
      "confidence": "high",
      "evidence": [
        "Matched \"mcp server\" in metadata.",
        "Matched \"mcp\" in metadata."
      ]
    },
    "deployment": {
      "confidence": "high",
      "evidence": [
        "Found Docker configuration file.",
        "Found wrangler.toml.",
        "Matched \"vercel\" in repository content.",
        "Matched \"npm install\" in repository content.",
        "Matched \"library\" in repository content.",
        "Local usage is assumed for open source repositories unless contradicted."
      ]
    },
    "difficulty": {
      "confidence": "medium",
      "evidence": [
        "Cloudflare deployment path suggests a guided serverless setup."
      ]
    },
    "cloudflare_ready": {
      "confidence": "high",
      "evidence": [
        "Cloudflare signal: wrangler.toml.",
        "Runtime blocker: python."
      ]
    }
  },
  "quality_signals": {
    "stars": 542,
    "recent_commits": 97,
    "contributors": 8,
    "issue_response_time_hours": null,
    "release_frequency_180d": 0
  },
  "quality_signal_confidence": {
    "stars_30d_delta": "snapshot",
    "stars30d_window_days": 30,
    "commits_30d": "complete",
    "releases_180d": "complete",
    "contributors_90d": "complete"
  },
  "quality_score": 17,
  "agent_score": 66,
  "score": 77,
  "agent_score_breakdown": {
    "documentation": 90,
    "maintenance": 33,
    "deployment": 100,
    "popularity": 55,
    "community": 53
  },
  "git_top_score": 77,
  "git_top_score_breakdown": {
    "community": 93,
    "maintenance": 42,
    "documentation": 84,
    "stability": 70,
    "adoption": 80,
    "agent_readability": 100
  },
  "verification": {
    "schema_version": "git-top.verification.v1",
    "overall_status": "partial",
    "observed_at": "2026-09-24T23:01:02.217Z",
    "signals": {
      "activity": {
        "status": "observed",
        "source": "github_metadata",
        "evidence": [
          "project.pushed_at",
          "metrics.recent_push_days"
        ]
      },
      "license": {
        "status": "observed",
        "source": "github_metadata",
        "evidence": [
          "project.license"
        ]
      },
      "documentation": {
        "status": "observed",
        "source": "github_metadata",
        "evidence": [
          "project.description"
        ]
      },
      "runtime": {
        "status": "inferred",
        "source": "git_top_heuristic",
        "evidence": [
          "agent_card.deployment",
          "agent_card.cloudflare_ready"
        ]
      },
      "install": {
        "status": "not_run",
        "source": "git_top_runtime",
        "evidence": [
          "installation/build probe is not enabled"
        ]
      },
      "security": {
        "status": "not_run",
        "source": "git_top_runtime",
        "evidence": [
          "dependency/security scan is not enabled"
        ]
      },
      "mcp": {
        "status": "not_run",
        "source": "git_top_runtime",
        "evidence": [
          "MCP liveness and tool-call probe is not enabled"
        ]
      }
    },
    "coverage": {
      "observed": 3,
      "inferred": 1,
      "not_run": 3,
      "unknown": 0
    },
    "next_steps": [
      "Run an installation/build probe before production adoption.",
      "Run a dependency and security scan before treating the score as a trust claim.",
      "Run MCP initialize, tools/list, first-call, and error probes before relying on this server."
    ]
  },
  "summary": {
    "tl_dr": "Use nirholas/XActions when the user needs a mcp server project with docker, cloudflare, serverless deployment options.",
    "purpose": "Use nirholas/XActions when the user needs a mcp server project with docker, cloudflare, serverless deployment options.",
    "install": "Deploy on Cloudflare Workers using the repository's deployment instructions.",
    "inputs": [
      "tool definitions",
      "resource config",
      "transport settings"
    ],
    "outputs": [
      "MCP tools",
      "JSON-RPC responses",
      "server capabilities"
    ],
    "good_for": [
      "connect agents to tools",
      "expose APIs through MCP",
      "bootstrap MCP integrations",
      "agent tool exposure",
      "MCP integrations",
      "tool servers"
    ],
    "not_good_for": [
      "edge-only Cloudflare Workers deployment without adaptation",
      "users expecting a complete hosted product",
      "front-end apps",
      "non-tooling backends"
    ],
    "deployment": [
      "docker",
      "cloudflare",
      "serverless",
      "vercel",
      "library_only",
      "local"
    ],
    "alternatives": [
      {
        "repo": "can1357/oh-my-pi",
        "reason": "Same mcp server intent with browser_automation, mcp overlap."
      },
      {
        "repo": "rocketride-org/rocketride-server",
        "reason": "Same mcp server intent with mcp, workflow overlap."
      },
      {
        "repo": "ruvnet/ruflo",
        "reason": "Same mcp server intent with mcp, workflow overlap."
      }
    ]
  },
  "evidence": {
    "classification": {
      "category": {
        "confidence": "high",
        "evidence": [
          "Matched \"mcp server\" in metadata.",
          "Matched \"mcp\" in metadata."
        ]
      },
      "deployment": {
        "confidence": "high",
        "evidence": [
          "Found Docker configuration file.",
          "Found wrangler.toml.",
          "Matched \"vercel\" in repository content.",
          "Matched \"npm install\" in repository content.",
          "Matched \"library\" in repository content.",
          "Local usage is assumed for open source repositories unless contradicted."
        ]
      },
      "difficulty": {
        "confidence": "medium",
        "evidence": [
          "Cloudflare deployment path suggests a guided serverless setup."
        ]
      },
      "cloudflare_ready": {
        "confidence": "high",
        "evidence": [
          "Cloudflare signal: wrangler.toml.",
          "Runtime blocker: python."
        ]
      }
    },
    "quality_signal_confidence": {
      "stars_30d_delta": "snapshot",
      "stars30d_window_days": 30,
      "commits_30d": "complete",
      "releases_180d": "complete",
      "contributors_90d": "complete"
    },
    "verification": {
      "schema_version": "git-top.verification.v1",
      "overall_status": "partial",
      "observed_at": "2026-09-24T23:01:02.217Z",
      "signals": {
        "activity": {
          "status": "observed",
          "source": "github_metadata",
          "evidence": [
            "project.pushed_at",
            "metrics.recent_push_days"
          ]
        },
        "license": {
          "status": "observed",
          "source": "github_metadata",
          "evidence": [
            "project.license"
          ]
        },
        "documentation": {
          "status": "observed",
          "source": "github_metadata",
          "evidence": [
            "project.description"
          ]
        },
        "runtime": {
          "status": "inferred",
          "source": "git_top_heuristic",
          "evidence": [
            "agent_card.deployment",
            "agent_card.cloudflare_ready"
          ]
        },
        "install": {
          "status": "not_run",
          "source": "git_top_runtime",
          "evidence": [
            "installation/build probe is not enabled"
          ]
        },
        "security": {
          "status": "not_run",
          "source": "git_top_runtime",
          "evidence": [
            "dependency/security scan is not enabled"
          ]
        },
        "mcp": {
          "status": "not_run",
          "source": "git_top_runtime",
          "evidence": [
            "MCP liveness and tool-call probe is not enabled"
          ]
        }
      },
      "coverage": {
        "observed": 3,
        "inferred": 1,
        "not_run": 3,
        "unknown": 0
      },
      "next_steps": [
        "Run an installation/build probe before production adoption.",
        "Run a dependency and security scan before treating the score as a trust claim.",
        "Run MCP initialize, tools/list, first-call, and error probes before relying on this server."
      ]
    },
    "source_fields": [
      "project.description",
      "project.topics",
      "project.language",
      "project.license",
      "agent_card.summary_for_agent",
      "agent_card.use_cases",
      "agent_card.deployment",
      "agent_card.classification",
      "metrics",
      "verification.signals"
    ],
    "caveats": [
      "edge-only Cloudflare Workers deployment without adaptation",
      "users expecting a complete hosted product",
      "Independent installation, security, or runtime probes have not been run for this project."
    ],
    "confidence_reason": "Classification evidence and quality signals are strong enough for shortlist reasoning when metadata is current.",
    "last_verified_at": "2026-09-24T23:01:02.217Z"
  },
  "caveats": [
    "edge-only Cloudflare Workers deployment without adaptation",
    "users expecting a complete hosted product",
    "Independent installation, security, or runtime probes have not been run for this project."
  ],
  "confidence_reason": "Classification evidence and quality signals are strong enough for shortlist reasoning when metadata is current.",
  "source_fields": [
    "project.description",
    "project.topics",
    "project.language",
    "project.license",
    "agent_card.summary_for_agent",
    "agent_card.use_cases",
    "agent_card.deployment",
    "agent_card.classification",
    "metrics",
    "verification.signals"
  ],
  "last_verified_at": "2026-09-24T23:01:02.217Z",
  "knowledge": {
    "project": {
      "id": "nirholas/XActions",
      "owner": "nirholas",
      "name": "XActions",
      "full_name": "nirholas/XActions",
      "github_url": "https://github.com/nirholas/XActions",
      "homepage_url": "https://xactions.app/features",
      "description": "⚡ The Complete X/Twitter Automation Toolkit — Scrapers, MCP server for AI agents (Claude/GPT), CLI, browser scripts. No API fees. Open source. Unfollow people who don't follow back. Monitor real-time analytics. Auto follow, like, comment, scrape, without API. Follow Bot. Like bot. Grow your account automatically. ",
      "language": "HTML",
      "topics": [
        "ai-agent",
        "automation",
        "claude",
        "gpt",
        "mass-unfollow",
        "mcp",
        "mcp-server",
        "model-context-protocol",
        "nodejs",
        "open-source",
        "puppeteer",
        "twitter",
        "twitter-automation",
        "twitter-bot",
        "twitter-scraper",
        "unfollow-tool",
        "x",
        "xactions"
      ],
      "license": "Apache-2.0",
      "stars": 542,
      "forks": 103,
      "open_issues": 7,
      "default_branch": "main",
      "created_at": "2024-02-18T22:13:53Z",
      "updated_at": "2026-09-24T17:48:35Z",
      "pushed_at": "2026-09-24T14:34:35Z",
      "synced_at": "2026-09-24T23:01:02.217Z"
    },
    "agent_card": {
      "project_id": "nirholas/XActions",
      "project_kind": "project",
      "category": "mcp_server",
      "difficulty": "beginner",
      "deployment": [
        "docker",
        "cloudflare",
        "serverless",
        "vercel",
        "library_only",
        "local"
      ],
      "cloudflare_ready": false,
      "use_cases": [
        "connect agents to tools",
        "expose APIs through MCP",
        "bootstrap MCP integrations"
      ],
      "not_good_for": [
        "edge-only Cloudflare Workers deployment without adaptation",
        "users expecting a complete hosted product"
      ],
      "alternatives": [
        {
          "project_id": "can1357/oh-my-pi",
          "reason": "Same mcp server intent with browser_automation, mcp overlap."
        },
        {
          "project_id": "rocketride-org/rocketride-server",
          "reason": "Same mcp server intent with mcp, workflow overlap."
        },
        {
          "project_id": "ruvnet/ruflo",
          "reason": "Same mcp server intent with mcp, workflow overlap."
        }
      ],
      "summary_for_agent": "Use nirholas/XActions when the user needs a mcp server project with docker, cloudflare, serverless deployment options.",
      "classification": {
        "category": {
          "confidence": "high",
          "evidence": [
            "Matched \"mcp server\" in metadata.",
            "Matched \"mcp\" in metadata."
          ]
        },
        "deployment": {
          "confidence": "high",
          "evidence": [
            "Found Docker configuration file.",
            "Found wrangler.toml.",
            "Matched \"vercel\" in repository content.",
            "Matched \"npm install\" in repository content.",
            "Matched \"library\" in repository content.",
            "Local usage is assumed for open source repositories unless contradicted."
          ]
        },
        "difficulty": {
          "confidence": "medium",
          "evidence": [
            "Cloudflare deployment path suggests a guided serverless setup."
          ]
        },
        "cloudflare_ready": {
          "confidence": "high",
          "evidence": [
            "Cloudflare signal: wrangler.toml.",
            "Runtime blocker: python."
          ]
        }
      },
      "schema_version": "v1",
      "generated_at": "2026-09-24T23:01:02.217Z"
    },
    "metrics": {
      "project_id": "nirholas/XActions",
      "stars_30d_delta": 69,
      "commits_30d": 97,
      "releases_180d": 0,
      "contributors_90d": 8,
      "issue_first_response_median_hours": null,
      "recent_push_days": 0,
      "git_score": 17,
      "maintenance_score": 33,
      "signal_confidence": {
        "stars_30d_delta": "snapshot",
        "stars30d_window_days": 30,
        "commits_30d": "complete",
        "releases_180d": "complete",
        "contributors_90d": "complete"
      },
      "calculated_at": "2026-09-24T23:01:02.217Z"
    }
  },
  "resolved_from": {
    "requested_id": "nirholas/XActions",
    "resolved_id": "nirholas/XActions",
    "resolution": "direct"
  },
  "metadata": {
    "source": "d1",
    "reason": "d1_query",
    "project_count": 1213,
    "generated_at": "2026-09-26T17:22:21.844Z",
    "snapshot_id": "d1:1213:2026-09-26T17:01:22.267Z",
    "latest_synced_at": "2026-09-26T17:01:22.267Z",
    "schema_version": "git-top.knowledge.v1",
    "loaded_project_limit": 2000,
    "truncated": false
  }
}