← Discover MCPs and Agents
E
MCPAI & MLMCP Registry

Exnos

Read-only live state of your Chrome tabs for AI agents: fields, console errors, network, storage.

Links

README

From the repo.

Exnos

Live browser-state verification for AI coding agents.

Your AI says "done." Exnos is how it knows.

One tool call returns the full state of the Chrome tab you're looking at: every field, every button, every console error, network requests, storage, performance—in milliseconds. Read-only. Local. Free and open source.

By GOL Productions.


The Problem

AI coding agents edit files and hope for the best. When something breaks:

You: "The button doesn't work"
AI:  "Can you check the console for errors?"
You: "It says TypeError something something"
AI:  "Can you paste the full error?"

Back and forth. Slow. Frustrating.

The Solution

You: "The button doesn't work"
AI:  [calls exnos_verify]
AI:  "Console shows 'TypeError: handleClick is not defined' at line 47.
      The handler was renamed to onClick. Fixing now."

Exnos gives your AI eyes. It sees what you see—instantly.


Install

npx @golproductions/exnos@latest setup

That's it. Detects Claude Code, Cursor, and Windsurf—registers with all of them, opens the extension folder, tells you to load it in Chrome. Takes 30 seconds.

Manual install

1. Connect your agent

{ "mcpServers": { "exnos": { "command": "npx", "args": ["@golproductions/exnos"] } } }

Or for Claude Code:

claude mcp add --scope user exnos -- npx @golproductions/exnos

2. Load the extension

npx @golproductions/exnos@latest path

Open chrome://extensions → Developer mode → Load unpacked → select that folder.

Badge reads ON when connected.


What It Sees

CategoryData
IdentityURL, title, ready state
FormsEvery visible field with live value (passwords masked)
ButtonsText and disabled state
CheckboxesChecked state with labels
AlertsVisible error/success/warning UI
ConsoleErrors and uncaught exceptions since page load
NetworkEvery fetch/XHR: URL, status, response body. Failures first.
WebSocketSent and received frames
StoragelocalStorage, sessionStorage, cookies
PerformancePage load, TTFB, paint timing, long tasks, heap
FocusWhich element has focus
Shadow DOMPierces web component boundaries
IframesSame-origin content + cross-origin count
App Statewindow.__* values
ScreenshotOptional PNG capture

Tools

ToolPurpose
exnos_verifyFull live state. The main tool.
exnos_tabsList all open tabs.
exnos_screenshotPNG screenshot of visible tab.
exnos_fetch_tabsVerify multiple tabs at once.

exnos_verify parameters

ParameterDescription
tabMatch tab by URL or title substring. Default: active tab.
selectorCSS selector for deep-dive: text, bounds, computed styles, HTML.
includeHiddenInclude off-screen elements. Default: false.
screenshotAlso capture PNG. Returns data URL.

Selector deep-dive

Pass selector to get:

  • selectorText — inner text content
  • selectorVisible — actually visible?
  • selectorBounds{top, left, width, height}
  • selectorHTML — outer HTML
  • selectorStyles — computed: color, backgroundColor, fontSize, fontWeight, fontFamily, padding, margin, border, zIndex, overflow, transform, transition

CLI

npx @golproductions/exnos@latest setup       # configure everything
npx @golproductions/exnos@latest uninstall   # remove everything Exnos added (run it in each project where you ran init)
npx @golproductions/exnos@latest path        # extension folder path
npx @golproductions/exnos@latest init        # write rules to agent config
npx @golproductions/exnos@latest rules       # print rule text

Architecture

┌─────────────┐     MCP/stdio      ┌─────────────┐    WebSocket     ┌─────────────┐
│  AI Agent   │ ◄────────────────► │ MCP Server  │ ◄──────────────► │  Extension  │
│             │                    │ :17872      │                  │             │
└─────────────┘                    └─────────────┘                  └──────┬──────┘
                                                                           │
                                                                    Chrome APIs
                                                                           │
                                                                    ┌──────▼──────┐
                                                                    │   Your Tab  │
                                                                    └─────────────┘

Smart Features

  • State change detection: Reports changed: true/false on repeated calls
  • Proxy mode: Multiple agents share one extension connection
  • Auto-reconnect: Extension reconnects after Chrome/server restart
  • Failures first: Network errors surface before successful requests
  • Cross-origin awareness: Reports iframe count even when content isn't readable

Privacy

Exnos sends nothing to GOL Productions. No account, no telemetry, and no GOL server. Traffic goes from the extension to a local server on 127.0.0.1, which only accepts the Exnos extension and requests from this machine: a web page cannot connect to it.

However: What Exnos returns goes to your AI agent, which forwards it to its model provider. Cookies, storage, and response bodies can carry session tokens.

Point it at what you're debugging, not your banking tab.


Notes

  • Server: 127.0.0.1:17872. The Chrome extension always connects on this port, so keep it free.
  • GET / returns {"exnos":true,"extension":true|false}
  • Console/network taps run from document_start—pages open before extension load need one refresh
  • Internal pages (chrome://) cannot be inspected

License

Free, under the GOL Open License: use, modify and redistribute it, with attribution to GOL Productions kept in every copy and fork. See LICENSE.

"Exnos" and "GOL Productions" are trademarks. Forks must use a different name and state that they are based on software by GOL Productions.


GOL Productions

Exnos is part of the GOL Productions toolchain.

  • Check — Anti-hallucination layer for Claude Code
  • Envie — AI video rendering with verification

Product page · GitHub

Config for your environment

Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.

Tool

OS

Config file: ~/.cursor/mcp.json

{
  "mcpServers": {
    "mcp-server": {
      "url": "{MCP_ENDPOINT_URL}"
    }
  }
}

Paste into mcpServers in the config file. Restart Cursor after saving.

If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.