About
The Web Browser for LLMs
README
The Web Browser for LLMs
Most LLM "search" tools are really just glorified web scrapers.
Surfboard lets LLMs click links, scroll, fill forms, switch tabs, and navigate websites through a token-efficient MCP server.
Surfboard uses Playwright (headless Chromium) to render JS-heavy pages -- sidestepping many bot walls, empty JS shells, and client-side rendering.
By structuring results as tree-like JSONs, Surfboard both prevents token overflows on large sites and also allows the LLM to navigate intentionally and efficiently.
Install
After cloning the repo, install the MCP tool using pip
pip install -e .
If your AI tool supports auto discovery (e.g. Claude Desktop, Cursor, OpenCode, VS Code Copilot, Windsurf, Claude Code CLI), run:
surfboard setup
This registers Surfboard as an MCP server in your tool's config. After restarting the tool, the LLMs should be able to browse and interact with the web more thoroughly using Surfboard.
CLI commands
| Command | Description |
|---|---|
surfboard setup |
Interactive setup wizard |
surfboard status |
Show tool config status + history stats |
surfboard log |
Show browsing history |
surfboard log --tail |
Tail history in real-time |
surfboard log -n 10 |
Show last 10 entries |
surfboard help |
Show available commands |
surfboard-mcp |
Start MCP server (stdin/stdout) |
surfboard-install |
Standalone setup wizard |
surfboard-post-install |
Silent auto-registration |
Typical workflow
- Search —
surfboard_search("query")runs a Google search - Navigate —
surfboard_browse(url)opens a page, returns structured sections + interactive elements - Read —
surfboard_get_pagereturns the page structure with sections, links, buttons, inputs - Dig deeper —
surfboard_get_full_textgrabsdocument.body.innerTextfor JS-rendered content;surfboard_evaluate("JS code")runs arbitrary JavaScript - Interact —
surfboard_click(id),surfboard_fill(id, text),surfboard_fill_and_submit(id, text),surfboard_hover(id),surfboard_scroll_to(id),surfboard_scroll_by(x, y),surfboard_wait_for_load(timeout_ms),surfboard_press_key(key)
MCP tools
surfboard_search surfboard_browse surfboard_click surfboard_fill surfboard_hover surfboard_scroll_to surfboard_scroll_by surfboard_wait_for_load surfboard_get_page surfboard_back surfboard_forward surfboard_tab_new surfboard_tab_switch surfboard_refresh surfboard_status surfboard_evaluate surfboard_get_full_text surfboard_screenshot surfboard_fill_and_submit surfboard_press_key surfboard_clipboard_copy surfboard_clipboard_read surfboard_highlight
Disclaimer
Surfboard is designed for interaction, not bulk extraction. If an LLM only needs a one-shot context dump from a webpage, a traditional scraper is usually faster. When it needs to navigate, click, search within a site, or interact with dynamic content, Surfboard is superior.
Tricks & anti-blocking
- Reddit URLs auto-rewrite to the JSON API (no CAPTCHA)
- Twitter/X URLs auto-rewrite to Nitter (no JS wall)
- Medium URLs auto-rewrite to Scribe (no paywall)
- AMP URLs auto-strip the
/ampsuffix - DuckDuckGo/Google redirect links are unwrapped to real URLs
- Bot-block patterns (Cloudflare, CAPTCHA, etc.) are detected and reported
Install Surfboard in Claude Desktop, Claude Code & Cursor
unyly install surfboardInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add surfboard -- uvx --from git+https://github.com/jreiner16/surfboard surfboard-mcpStep-by-step: how to install Surfboard
FAQ
Is Surfboard MCP free?
Yes, Surfboard MCP is free — one-click install via Unyly at no cost.
Does Surfboard need an API key?
No, Surfboard runs without API keys or environment variables.
Is Surfboard hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Surfboard in Claude Desktop, Claude Code or Cursor?
Open Surfboard on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Surfboard with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
