Install, register, and configure x-use, the browser-native MCP server for X (Twitter) automation that needs no X API key.

MITAuto-check passedAgent Workflows

Install X Use

skills CLI
$ npx skills add ihuzaifashoukat/x-use --skill x-use -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ihuzaifashoukat/x-use x-use --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
x-use
GitHub stars
171
Token cost
~2.4k tokens
SKILL.md length
1,147 words
Files
353 (incl. scripts, assets)
Skills in repo
8
Repo updated
First seen
Licence
MIT

At a glance

Install, register, and configure x-use, the browser-native MCP server for X (Twitter) automation that needs no X API key.

  • Works in 9 steps: Check the prerequisites → Install → Install the workflow skills → …
  • The user wants to set up x-use
  • SKILL.md covers 1. Check the prerequisites, 2. Install, 3. Install the workflow skills and 4. Register the MCP server,…, plus 7 more sections
  • Calls python, pip and claude; reaches x.com

What it does

X Use is an agent skill from ihuzaifashoukat/x-use. Install, register, and configure x-use, the browser-native MCP server for X (Twitter) automation that needs no X API key. Covers pip install, MCP client registration for Claude Desktop, Claude Code, Codex, Cursor and Windsurf, cookie-based account setup, keywords, and persona. Use when the user wants to set up x-use, add an X account, connect X or Twitter automation to their agent, or when x-use tools are unavailable or unconfigured.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 356 other files, including scripts and assets (for example `.claude-plugin/marketplace.json`, `.github/workflows/ci.yml` and `.github/workflows/publish.yml`).

It sits in Agent Workflows, covering MCP servers. It works with Model Context Protocol, X (Twitter) and Python. The repository describes itself as: Browser-native AI agents for X (Twitter): multi-account, MCP-ready, no X API key required. The licence is MIT.

When your agent uses it

  • The user wants to set up x-use
  • Add an X account
  • Twitter automation to their agent
  • X-use tools are unavailable

Example prompts

  • “/x-use”

Requirements

  • Python 3

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Check the prerequisites
  2. Install
  3. Install the workflow skills
  4. Register the MCP server, then restart the client
  5. Add the account
  6. Configure the account
  7. Set the persona
  8. Optional, only if it applies
  9. Prove it works

What it can do on your machine

Read from SKILL.md and the folder at commit 6d7cb11. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    Shell commands in SKILL.md call:

    • python
    • pip
    • claude
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • x.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

X Use loads about 2.4k tokens when it runs. Until then it costs about 111 tokens; SKILL.md has 1,147 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~111
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from ihuzaifashoukat/x-use at commit 6d7cb11, republished under its MIT licence (© ihuzaifashoukat). 1,147 words, ~2,385 tokens.

Download SKILL.mdSave it as .claude/skills/x-use/SKILL.md (or your agent's skills folder). This skill also uses 352 other files; get the full folder from GitHub.
name
x-use
description
Install, register, and configure x-use, the browser-native MCP server for X (Twitter) automation that needs no X API key. Covers pip install, MCP client registration for Claude Desktop, Claude Code, Codex, Cursor and Windsurf, cookie-based account setup, keywords, and persona. Use when the user wants to set up x-use, add an X account, connect X or Twitter automation to their agent, or when x-use tools are unavailable or unconfigured.

Set up x-use

x-use is an MCP server that automates X (Twitter) through a real logged-in Chrome session instead of the paid X API. This skill takes a machine from nothing to a configured, working account.

Read this first: the steps split at the client restart. Everything before it is shell work, because x-use's MCP tools do not exist yet. Everything after it is tool work. Do not try to call add_account before step 4 has completed.

Explain each step briefly as you go. The setup request authorizes routine local installation and registration; ask only for missing choices or credentials.

1. Check the prerequisites

Python 3.10 or newer with venv support. Check Python:

bash
python --version

If Python is missing, explain the prerequisite. Setup installs the Chromium browser matching the default Patchright driver. Installed Chrome or Edge is also supported through mcp.browser_channel.

2. Install

bash
pip install x-use-mcp
python -m patchright install chromium

This provides the x-use command and matching Chromium. Inside a checkout, prefer the one-command uv setup: py -3 scripts/setup_uv.py on Windows or python3 scripts/setup_uv.py on macOS/Linux. It installs missing uv locally, uses the dependency lock and creates .venv; use that environment's full x-use executable path for registration. Linux system libraries are explicit with --with-system-deps, which can require OS permission.

Then verify:

bash
x-use doctor

doctor prints one PASS, FAIL, or SKIP line per check: config files, browser binary, driver, per-account cookies, LLM key, proxies. On a fresh machine the cookie and config checks are expected to fail, since nothing is configured yet. Do not treat that as a broken install. A FAIL on the browser or driver line is the one that actually blocks progress.

If x-use is not found after installing, it is a PATH problem, not a failed install. pip show -f x-use-mcp locates the console script; use its full path everywhere below, for example .venv/bin/x-use or .venv\Scripts\x-use.exe.

3. Install the workflow skills

bash
x-use skills install

This writes seven skills to ~/.claude/skills/ and ~/.agents/skills/, so Claude Code and Codex-style agents both pick them up. They cover engagement, content, daily review, inbox/messages/notifications, account setup, and X thread workflows. Use x-use-inbox for reading incoming activity and sending contextual DMs. --force overwrites existing copies, and x-use skills list shows what landed.

4. Register the MCP server, then restart the client

Work out which client you are running inside and register x-use in that one. Use the full executable path and absolute data directory printed by the installer. Set X_USE_HOME in the server environment so settings, accounts and state stay stable when the client starts from another working directory.

  • Claude Code:

    bash
    claude mcp add --scope user x-use --env X_USE_HOME=/absolute/path/to/x-use-data -- /absolute/path/to/x-use/.venv/bin/x-use mcp
  • Claude Desktop (claude_desktop_config.json), Cursor, Windsurf, and any other client taking JSON:

    json
    {
      "mcpServers": {
        "x-use": {
          "command": "/absolute/path/to/x-use/.venv/bin/x-use",
          "args": ["mcp"],
          "env": {"X_USE_HOME": "/absolute/path/to/x-use-data"}
        }
      }
    }
  • Codex (~/.codex/config.toml):

    toml
    [mcp_servers.x-use]
    command = "/absolute/path/to/x-use/.venv/bin/x-use"
    args = ["mcp"]
    
    [mcp_servers.x-use.env]
    X_USE_HOME = "/absolute/path/to/x-use-data"

If this client cannot reload MCP servers in the current session, tell the user to restart the client and pause tool-dependent setup until the tools appear. When connected, confirm with list_accounts. An empty list is the correct answer before the first account is added.

5. Add the account

Everything from here is MCP tool calls.

Ask for a short account id, something like main or brand. It is an internal label, not the X handle.

Then walk the user through the cookie export, which is how x-use authenticates:

  1. Install a cookie-export browser extension, for example Cookie-Editor.
  2. Log into x.com in that browser.
  3. Open the extension while on x.com and export as JSON.
  4. Save the file on this machine and give you the path.
add_account(account_id="main", cookie_file="/path/to/cookies.json")

The file is validated and copied server-side. Never ask the user to paste cookie contents into the conversation. The path-only design exists precisely so the values never cross the wire, and pasting them defeats it.

Verify with get_account_health(account="main"). This checks the local cookie file and configuration without logging into X; valid cookie structure does not prove a live authenticated session. Inspect reported problems, then use a bounded browser read to verify the session. Stop for a login or account challenge.

6. Configure the account

Ask what niche they are in, which keywords to watch, which profiles they want to engage with, and their actual X handle.

update_account(
  account="main",
  target_keywords=["..."],
  competitor_profiles=["https://x.com/..."],
  self_handles=["theirhandle"],
)

self_handles matters more than it looks. Without it the own-post guard cannot fire, and x-use cannot identify the account's historical posts from this configuration. For a published thread, use get_thread_run to retrieve the confirmed post URLs.

Show full SKILL.md (451 more words)Show less

7. Set the persona

Ask how they want to sound. The repo ships three starting points under presets/personas/ (builder, founder, curator), so offer them or write one together. Cover voice, topics, reply style, what to avoid, and one or two example replies. Under 4000 characters, markdown.

update_account(account="main", persona="...")

Batch the config edits where you can. Every update_account closes the warm browser session, so the next action pays a cold start.

8. Optional, only if it applies

  • More accounts: repeat from step 5. If they want separate network routes, add_proxy(pool, proxy_url) then update_account(account, proxy="pool:<name>").
  • An LLM key: interactive use needs none. You are the writer, and the server drives the browser. A key is only needed for unattended background automation and "auto" text, set under llm in the data home's config/settings.json.

9. Prove it works

With the default mcp.draft_mode=true, stage one requested reply or post and show its full payload with get_draft or list_drafts. If draft mode has been disabled, ordinary post/reply tools execute immediately and cannot serve as a draft-only smoke check. prepare_thread, messages, and follows always stage, but do not create unrelated work solely to test the installation.

Explain the execution boundary: ordinary writes draft by default, and approve_draft(draft_id) executes a reviewed draft. Messages, follows and threads always require that approval. Queued work executes through process_queue or an explicitly enabled auto-drain worker; the legacy run_cycle executes immediately. Honor prior authorization for an exact action and payload; setup alone does not authorize publication or outreach.

For requested inbox verification, get_inbox(account="main", folder="inbox", inbox_filter="unread", limit=5) reads only the visible folder. Requests and other folders are separate; reads do not accept requests. Unknown read state stays unknown. Opening a conversation or visiting get_notifications may mark items read. An encrypted inbox uses unlock_inbox(account="main", pin_env_var="XUSE_INBOX_PIN") after the owner sets the PIN in the server environment; never request the PIN in chat.

When something fails

Run x-use doctor, read the actual error, fix that cause, and only then continue. Tools carry {"ok": true, ...} or {"ok": false, "error": {"type", "message"}}; media reads can also attach images. Inspect returned state even on success envelopes: partial context, unavailable analytics or a blocked thread is not completed work. For an uncertain write, read get_account_safety, inspect X and its action ID, and use resolve_action_outcome only with observed succeeded or not_sent evidence. Do not automatically retry a timeout or unknown outcome.

After setup

The installed skills take over: x-use-engage for research and replies, x-use-content for original posts, x-use-review for the daily digest, and x-use for tool routing and conventions.

Clients without skill support get the same workflows as MCP prompts (research_niche, draft_replies, review_and_publish, daily_check, setup_account, outreach_message, thread_workflow), plus read-only resources (xuse://accounts, xuse://accounts/{account_id}, xuse://accounts/{account_id}/persona, xuse://drafts/pending) for context worth attaching rather than fetching.

Full tool reference: docs/MCP_GUIDE.md.

© ihuzaifashoukat, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 352 other files (scripts, assets) in the repository root of ihuzaifashoukat/x-use.

  • SKILL.md
  • .claude-plugin/marketplace.json
  • .dockerignore
  • .env.example
  • .gitattributes
  • .github/workflows/ci.yml
  • .github/workflows/publish.yml
  • .gitignore
  • ARCHITECTURE.md
  • CHANGELOG.md
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • Dockerfile
  • LICENSE
  • README.md
  • ROADMAP.md
  • assets/social-preview.png
  • … and 336 more

Open the folder on GitHubat commit 6d7cb11

Compare with similar skills

X Use next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

X Use compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
X Use this skillihuzaifashoukat/x-use171—~2.4kAutomated safety check: PassMIT
MCP Server Builderanthropics/skills180k63 repos~2.3kAutomated safety check: PassApache-2.0
MCP Server BuildershareAI-lab/learn-claude-code78k4 repos~1.2kAutomated safety check: PassMIT
MemPalace Setup and OperationMemPalace/mempalace59k—~2.2kAutomated safety check: PassMIT
FastmcpTommy-yw/RunbookHermes5463 repos~2.1kAutomated safety check: PassMIT
Fastmcp Client CLIPrefectHQ/fastmcp28k—~823Automated safety check: PassApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    shareAI-lab/learn-claude-code

    Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.

    78k GitHub starsUsed in 4 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • Installs and configures MemPalace as a private local palace, a shared-brain hub or a client of an existing hub, including MCP registration and version-correct initialization.

    59k GitHub stars~2.2k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Fastmcp

    Tommy-yw/RunbookHermes

    Build, test, inspect, install, and deploy MCP servers with FastMCP in Python.

    546 GitHub starsUsed in 3 repos~2.1k tokens
    Agent WorkflowsAuto-check passed
  • Fastmcp Client CLI

    PrefectHQ/fastmcp

    Query and invoke tools on MCP servers using fastmcp list and fastmcp call.

    28k GitHub stars~823 tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Migrate To Archestra

    archestra-ai/archestra

    Migrate an existing agentic PoC/pilot (Claude Code project files, MCP configs, hooks, local tools, openclaw config, or similar hand-rolled setup artifacts) into an Archestra instance.

    4.4k GitHub stars~2.5k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed

More from ihuzaifashoukat/x-use

All 8 skills in this repo
  • X Use

    ihuzaifashoukat/x-use

    Route x-use X (Twitter) workflows for research, inbox reads, reviewed outreach, posts, campaigns, and threads.

    171 GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed
  • X Use Content

    ihuzaifashoukat/x-use

    Create original X content in the user's persona by researching what works in the niche, drafting posts, and staging them one by one for review.

    171 GitHub stars~603 tokensUpdated yesterday
    Auto-check passed
  • X Use Engage

    ihuzaifashoukat/x-use

    Research X posts or profiles and prepare persona-voice public replies or individual profile outreach drafts with x-use.

    171 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • X Use Inbox

    ihuzaifashoukat/x-use

    Read X direct messages, triage inbox and request folders, send contextual reviewed messages, and inspect notifications with x-use.

    171 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • X Use Review

    ihuzaifashoukat/x-use

    Daily digest for an x-use account covering health, metrics, pending drafts, and queued work in one pass, then approve/reject/process per the user's direction.

    171 GitHub stars~674 tokensUpdated yesterday
    Auto-check passed
  • X Use Setup

    ihuzaifashoukat/x-use

    Zero-knowledge onboarding for x-use that verifies the install, registers the MCP server, then interviews the user to configure their first X account (cookies, niche, keywords, persona).

    171 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about X Use

What does X Use do?

Install, register, and configure x-use, the browser-native MCP server for X (Twitter) automation that needs no X API key. X Use is an agent skill from ihuzaifashoukat/x-use. Install, register, and configure x-use, the browser-native MCP server for X (Twitter) automation that needs no X API key.

When should I use X Use?

X Use fits situations like: the user wants to set up x-use; add an X account; twitter automation to their agent; X-use tools are unavailable.

How do I install X Use in Claude Code?

Run `npx skills add ihuzaifashoukat/x-use --skill x-use -a claude-code`. Or copy the skill folder (the ihuzaifashoukat/x-use repository) into .claude/skills/x-use in your project. Claude Code loads it when a task matches its description.

How do I install X Use in Codex?

Run `npx skills add ihuzaifashoukat/x-use --skill x-use -a codex`. Or copy the skill folder (the ihuzaifashoukat/x-use repository) into .agents/skills/x-use in your project. Codex loads it when a task matches its description.

Can I use X Use in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ihuzaifashoukat/x-use --skill x-use -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/x-use, .gemini/skills/x-use, .github/skills/x-use and .opencode/skills/x-use in your project.

What does X Use need to run?

Going by SKILL.md and its folder, X Use needs the command-line tools its instructions call (python, pip, claude and python3). Our summary lists: Python 3.

Does X Use access the network?

SKILL.md names 1 domain. In commands or code: x.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is X Use safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does X Use use?

X Use is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does X Use use?

About 2.4k tokens (SKILL.md is roughly 9.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to X Use?

Skills that share tags, products or a category with X Use: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), MemPalace Setup and Operation (MemPalace/mempalace, 59k stars) and Fastmcp (Tommy-yw/RunbookHermes, 546 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains X Use?

ihuzaifashoukat (a GitHub user) maintains it in ihuzaifashoukat/x-use, which has 171 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 9, 2026.

Source: ihuzaifashoukat/x-use on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.