CLI ToolsMay 12, 2026·2 min read

Surf CLI — Control Chrome for AI Agents (No MCP)

Surf CLI lets agents control Chrome via a local extension + native host, offering agent-agnostic browser control without running an MCP server.

Agent ready

Safe staging for this asset

This asset is staged first. The copied prompt tells the agent to inspect the staged files and ask before activating scripts, MCP config, or global config.

Stage only · 17/100Policy: stage
Agent surface
Any MCP/CLI agent
Kind
CLI Tool
Install
Stage only
Trust
Trust: Established
Entrypoint
Asset
Safe staging command
npx -y tokrepo@latest install c0e3d2f5-6f8a-48b6-a6b5-14e1d87f0a7b --target codex

Stages files first; activation requires review of the staged README and plan.

Intro

Surf CLI lets agents control Chrome via a local extension + native host, offering agent-agnostic browser control without running an MCP server.

  • Best for: agents that need real browser state (cookies, tabs) and teams who want local-only browser control without extra servers
  • Works with: Node.js + Chrome extension workflow, native host install via surf install, multi-browser flags documented (brave/edge/arc etc.)
  • Setup time: 15–25 minutes

Practical Notes

  • README quick start is a 4-step install: npm global install, load unpacked extension, surf install <extension-id>, then surf tab.list.
  • README lists supported browsers: chrome, chromium, brave, edge, arc, helium (plus --browser all).

A Safe Integration Pattern for Agents

Browser control becomes risky when agents can navigate and click freely. Practical guardrails:

  • Give the agent a “read-only” browsing phase first: list tabs, capture URLs, extract text.
  • Use explicit allowlists for domains your agent is allowed to interact with.
  • Treat extension/native host changes like code: update via PRs, not ad-hoc local edits.

Troubleshooting Checklist

  • If the extension path changes, re-run surf extension-path and reload unpacked extension.
  • If a package manager stores binaries in non-standard locations, the README documents env vars such as SURF_NODE_PATH / SURF_HOST_PATH / SURF_EXTENSION_PATH.

FAQ

Q: Is this MCP-based? A: The README positions Surf as a CLI + extension/native host flow; it emphasizes zero MCP server configuration.

Q: What’s the hardest step? A: Typically loading the unpacked extension and copying the extension ID for surf install.

Q: Can I use other browsers? A: Yes—README lists multiple browsers and shows --browser flags, including --browser all.

🙏

Source & Thanks

Source: https://github.com/nicobailon/surf-cli > License: MIT > GitHub stars: 477 · forks: 43

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets