Chrome extension · MCPv1.5.0 · MIT

Your coding agents,in the Chrome you already use.

A Chrome extension and a small local MCP server. Claude Code, Codex, OpenCode or Cursor read your open tabs, click, fill forms, run scripts and take screenshots — with your sign-ins, not a separate headless browser. While they work, the page glows and tells you what is happening.

  • Runs on 127.0.0.1 only
  • No telemetry
  • Free and open source

A replay with sample data. The glow and the island are drawn with the extension’s own styles and words.

How it works

Agent → local server → your tabs.

Your agent starts the server as an ordinary MCP server over stdio. The extension connects to it on your own machine and does the work in the tab.

  1. Your agentClaude Code, Codex CLI, OpenCode, Cursor — any MCP client.
  2. Local MCP serverNode.js, started by the agent. Listens on 127.0.0.1:47615.
  3. Chrome extensionConnects to that port only. Shows the glow and the island.
  4. Your tabsThe pages you have open, with your cookies and sign-ins.

Many sessions, one browser

Each agent session starts its own server process. The first one becomes the hub, the rest join it as peers, and when the hub’s session ends another takes over within about a second.

You always see it

While an agent acts in a tab, its edges breathe green and an island at the bottom says what is happening. It never takes clicks and fades out a moment after the last call.

Clear failures

Chrome closed? Calls fail fast with a clear error. Every request has a 15-second timeout, and clicks or navigation are never retried behind your back.

Tools

Twelve browser tools.

They show up in your agent as browser_* (in Claude Code: mcp__webmcp__browser_*).

ReadSee what you see.
  • browser_list_tabsEvery open tab: id, title, url, which one is active.
  • browser_get_page_infoId, title and url of a tab.
  • browser_get_page_contentThe visible text or the full HTML of a page.
  • browser_query_selectorElements matching a CSS selector: tag, text, attributes.
  • browser_get_console_logsBuffered console.* output and uncaught errors of a tab.
ActDo what you would do.
  • browser_navigateOpen a URL in a tab.
  • browser_clickClick the first element matching a selector.
  • browser_fillSet an input, textarea or contenteditable and fire input/change.
  • browser_upload_filesPut local files into an <input type=file>.
Scripts, screenshots, statusThe rest of the toolbox.
  • browser_execute_scriptRun JavaScript in the page and return the result, even on strict-CSP sites.
  • browser_screenshotA PNG of the visible area, with the overlay hidden.
  • browser_connection_statusIs the extension connected; hub or peer; how many sessions.

Every tool takes an optional tabId; without it, the active tab of the last focused window is used.

Install

Install in three steps.

Get the code from GitHub, install the server, load the extension in Chrome.

Chrome Web Store: coming later.

Needs Node.js 22+ and Chrome (other Chromium browsers with extensions should work). Rather configure clients yourself? npm install --ignore-scripts.

  1. 1

    Install the server

    git clone https://github.com/glmn-ai/neurosquad-browser-mcp.gitcd neurosquad-browser-mcp/servernpm install

    npm install also adds a webmcp entry to every MCP client it finds — Claude Code, Codex CLI, OpenCode, Cursor. It never overwrites an existing entry and keeps a .bak copy. Restart those clients afterwards.

  2. 2

    Load the extension

    Until the Chrome Web Store listing is out, load it unpacked:

    • Open chrome://extensions
    • Turn on Developer mode (top right)
    • Click Load unpacked and pick the extension/ folder
    • Pin NeuroSquad Browser MCP to the toolbar
  3. 3

    Ask your agent

    With a page open in Chrome, try:

    • > use the browser tools to tell me what’s on the current page
    • > click the "Submit" button
    • > fill the search box with "hello" and show me the console errors
Works with

Any agent that speaks MCP.

The installer sets up the four clients below. To do it by hand, add a stdio server named webmcp that runs the server’s src/index.js with Node.

Config file:~/.claude.json
claude mcp add --scope user webmcp -- node /path/to/neurosquad-browser-mcp/server/src/index.js

Replace the path with where you cloned the repository.

Privacy & safety

It acts in your real browser. Here is exactly how.

That is the point of it, and the reason to know what it can do before you connect an agent.

An agent can do anything you can do in your signed-in tabs

Read your mail, press buttons, submit forms. Only connect agents you trust, and watch for the green glow.

What stays on your machine

  • The extension connects to one place: ws://127.0.0.1:47615. No analytics, no telemetry, no remote code; fonts and icons are bundled.
  • The hub listens on 127.0.0.1 only. Web pages are refused (only chrome-extension:// origins get in); other sessions need a random 256-bit token from ~/.webmcp/peer-token.
  • Console logs stay in the hub’s memory, per tab and bounded.

What it does not protect against

  • What your agent does with page text and screenshots — including sending them to its model provider — is up to that agent.
  • The extension does not authenticate the server: any program running as your user could start one on that port. Set WEBMCP_EXTENSION_IDS to accept only your copy of the extension.

How to stop it

  • End the agent session: its server exits when the client closes, and the glow fades.
  • Turn the extension off in chrome://extensions — nothing can reach your tabs then.
  • Remove the webmcp entry from your client’s config to stop agents starting the server.

Every permission, and why

From the extension’s manifest.
<all_urls>
Agents work on whatever page you have open, so it must be able to read and script any site.
scripting
Reading the page, clicking, filling, running scripts, drawing the glow and the island.
debugger
Only for scripts on pages whose CSP forbids eval, and for file inputs. Attached to one tab for that call, then detached; Chrome shows its bar meanwhile.
tabs
Listing tabs, navigating, switching to a tab for a screenshot.
activeTab
Capturing the visible tab for screenshots.
storage
Remembering the port you set in the popup.
alarms
Waking the service worker every 30 s to reconnect to the server.

Questions

Is it on the Chrome Web Store?

Not yet — the listing is coming later. For now you load the extension/ folder unpacked from chrome://extensions with Developer mode on. After pulling a new version, press the reload button on its card and restart your agent sessions.

Does anything leave my computer?

The extension only talks to the server on 127.0.0.1, and the server only to the agent that started it. There is no telemetry. Your agent may send what it reads to its model provider — that part is up to the agent you use.

Which agents does it work with?

Any MCP client that can run a stdio server. The installer sets up Claude Code, Codex CLI, OpenCode and Cursor for you; agents in NeuroSquad and nsq use those same configs.

Why my real Chrome and not a headless browser?

Because the work is often behind your sign-ins: a staging dashboard, an admin panel, a web app you are debugging. The agent sees the page you see, including its console errors, and you watch it happen.

Can I run several agents at once?

Yes. Every session starts its own server process; they share one connection to the extension through the hub, and the island shows in whichever tab is being worked on.

It used to be called WebMCP?

Yes, renamed in 1.4.0. The config key is still webmcp, and the tool names, port 47615, the WEBMCP_* variables and the token file are unchanged, so existing installs keep working.

Let your agent see the page you’re looking at.

Free and open source under MIT. Local only.

Run several agents side by side in NeuroSquad or in your terminal with nsq