Afina

Download app

AppleWindows
EN

Afina MCP Server — AI agent for your antidetect browser

Plug Claude, Cursor or any MCP-compatible LLM into Afina through one bridge. 67 tools — accounts, RPA scripts, modules, task groups, proxies — controlled from chat. Talk to your antidetect browser instead of clicking it.

Afina MCP Server — AI agent for your antidetect browser
Claude • Cursor • any MCP client

Stop clicking, start describing

Multi-account workflows are full of routine: provisioning profiles, writing RPA scripts, debugging failed tasks, rotating proxies. MCP turns each of those into a conversation. afina-mcp ships 67 tools across accounts, scripts, modules and tasks — and works with any LLM client that speaks the Model Context Protocol. Full setup walkthrough — in our Afina MCP server guide.

67 tools, one bridge

67 tools, one bridge

From accounts CRUD to RPA modules and IMAP credentials — every Afina primitive is exposed through one MCP-compatible bridge. Auth via x-api-key over Afina's local API, runs over `npx afina-mcp`.

Works with Claude, Cursor and any MCP client

Works with Claude, Cursor and any MCP client

Configure once in Claude Desktop, Claude Code, Cursor, Cline, Continue or Windsurf. The same conversations work across clients — no vendor lock-in, no re-training, no rewriting prompts when you switch.

AI writes and runs RPA scripts on the fly

AI writes and runs RPA scripts on the fly

Describe a flow in plain English and the LLM generates a valid RPA flow JSON, validates it, runs it on a profile and reads back the live log — without you touching the canvas.

Natural-language scheduling

Natural-language scheduling

Say "every 6 hours between 10 and 18, max 5 in parallel" and the LLM converts that into a task group with executeAt, schedule windows, parallelism limits and retries — using the same primitives Afina's browser automation uses internally.

// ~/Library/Application Support/Claude/claude_desktop_config.json
// (Windows: %APPDATA%\Claude\claude_desktop_config.json)
{
  "mcpServers": {
    "afina": {
      "command": "npx",
      "args": ["-y", "afina-mcp"],
      "env": {
        "AFINA_URL": "http://127.0.0.1:50778",
        "AFINA_API_KEY": "<your key>"
      }
    }
  }
}

FAQs

Have questions? We're here to help.

Online Support Available

MCP (Model Context Protocol) is an open standard for connecting LLMs to external services. afina-mcp is an MCP server that bridges any MCP-compatible AI client (Claude Desktop, Claude Code, Cursor, Cline, Continue, Windsurf and ChatGPT wrappers) to the Afina antidetect browser through its local HTTP API. One config — and the LLM can drive every Afina feature from chat.

Any MCP-compatible client with stdio transport. Tested first-class with Claude Desktop, Claude Code (CLI), Cursor, Cline, Continue and Windsurf. Switching clients does not require rewriting prompts — the tools are the same everywhere.

All traffic stays local: afina-mcp talks to 127.0.0.1:50778 over your machine, no calls leave the device. The MCP client decides which tools to expose and asks for confirmation on destructive actions (hard-delete, mass writes). You can also disable the eval_in_browser tool via AFINA_MCP_EVAL_ENABLED=0 to keep the LLM from running arbitrary JS in your tabs.

Three steps: (1) generate an API key in Afina at Settings → API key; (2) add the JSON snippet to your MCP client's config file (Claude Desktop, Cursor) or run `claude mcp add afina …` for Claude Code; (3) restart the client. afina-mcp runs via `npx afina-mcp` — no local install needed.

67 tools at the moment: full accounts CRUD, browser start/stop/eval/screenshot, RPA scripts and modules (with code generation), task groups with scheduling, proxies, databases, global vars, keys catalog and IMAP credentials. The full per-tool reference lives in MCP_AFINA/docs/TOOLS.md inside the npm package.

Yes. The MCP server ships an `afina://docs/rpa-blocks` resource that lists every RPA block, its parameters and JSON shape — the LLM reads it before generating script.settings, so the output is valid out of the box. For RPA modules the LLM uses create_module → edits files in moduleDirAbs via host Read/Edit/Write → resign_module to refresh the Ed25519 signature.

Yes. The task tools accept executeAt strings like "in 5m", "tomorrow 09:00" or ISO timestamps, and full schedule options (timeFrom/timeTo, startHour/endHour, isRepeatable, repeatCount, activeSession, timeout). The LLM translates phrases like "every 6 hours between 10 and 18, max 5 in parallel" into the right combination of fields.

No. afina-mcp is a thin bridge to the local Afina HTTP API on 127.0.0.1:50778. If the desktop app is not running, the underlying API is offline and tools return ECONNREFUSED. Start Afina first, then your MCP client.

Connect your AI agent to Afina today

Install the MCP server in 60 seconds, plug Claude or Cursor into your antidetect browser and start automating from chat.

Afina MCP Server exposes the entire Afina antidetect browser to AI agents through the Model Context Protocol. Claude, Cursor, Claude Code and any other MCP-compatible client gets 67+ tools for accounts, browsers, RPA scripts, modules, proxies, databases, emails and tasks — all running locally against your machine, never leaving 127.0.0.1.

Why give an LLM access to a real browser

Plain LLM-driven automation hits a wall on platforms that fingerprint. Headless Chrome with prompt-generated Puppeteer code gets flagged within minutes. Afina MCP lets agents drive real fingerprinted profiles: the LLM picks a profile, attaches a proxy, runs an RPA script, scrapes a result, all without ever looking like a bot.

What's in afina-mcp

1. 67 tools across the full surface

CRUD on accounts, start/stop browser, eval_in_browser, screenshot, RPA scripts and modules with code generation, scheduled task groups, proxies, databases, global variables, key catalog, vendor IMAP credentials. Full tool reference ships inside the npm package at MCP_AFINA/docs/TOOLS.md.

2. Resource bundles for grounded code-gen

The server publishes resources like afina://docs/rpa-blocks — a complete JSON schema of every RPA block, parameters and structure. LLMs read it before generating script.settings, so the output is valid on first try, not after 5 retries.

3. Local-only, opt-in destructive ops

All traffic is 127.0.0.1:50778, never leaves the device. The MCP client decides which tools to enable; destructive operations (hard-delete, mass writes) prompt for confirmation. Turn off eval_in_browser via AFINA_MCP_EVAL_ENABLED=0 if you don't want the LLM running arbitrary JS.

4. Natural-language scheduling

Task tools accept executeAt strings like "in 5m", "tomorrow 09:00" or ISO timestamps, plus the full schedule surface (timeFrom/timeTo, repeatCount, parallelism, timeouts). The LLM translates "every 6 hours between 10 and 18, max 5 in parallel" into the right field combination.

5. Three-step install

Issue an API key in Settings → API key, add the JSON snippet to Claude Desktop / Cursor config (or claude mcp add afina ... for Claude Code), restart the client. afina-mcp launches via npx — nothing to install globally.

Where teams use Afina MCP

Engineers ship AI features that drive multi-account flows end-to-end. SEO and SMM teams ask an agent to "post these 20 comments across these 50 profiles between Monday and Wednesday" and walk away. Researchers let Claude write, sign and run RPA modules without copy-pasting code. QA wires agents into nightly checks that span real fingerprinted browsers, not just headless.

If the platform you're automating cares about fingerprints, plain LLM + Puppeteer won't survive. Afina MCP is the gap-bridge — your AI gets a real antidetect browser, not a detection-magnet.