Skip to main content
Glama

site-sense

CI Chrome Web Store License: Apache-2.0

Give your AI coding CLI eyes into web portals. No cloud. No storage. Read-only.

You're in a conversation with your AI assistant. It says "go to the Azure Portal and check the NSG rules." You alt-tab, navigate, screenshot, describe what you see, paste it back. You are the human middleware.

site-sense eliminates this. The AI calls an MCP tool → your browser extension captures the active tab → the AI sees what you see.

Quick Start

  1. Install site-sense from the Chrome Web Store

  2. Clone the repo and run setup:

git clone https://github.com/NordmanLive/site-sense.git
cd site-sense
npm install && npm run build
npm run setup -- --browser chrome    # or edge

Option B: Load unpacked (development)

git clone https://github.com/NordmanLive/site-sense.git
cd site-sense
npm install && npm run build
npm run setup -- --browser chrome    # or edge

Then load the extension manually:

  1. Open edge://extensions (or chrome://extensions)

  2. Enable Developer mode

  3. Click Load unpacked → select dist/extension/

Add to your CLI's MCP config:

{
  "mcpServers": {
    "site-sense": {
      "command": "node",
      "args": ["/path/to/site-sense/dist/bridge/src/index.js"]
    }
  }
}

Then ask your AI: "What's on my browser tab?"

First time → popup appears → click Allow → done. All subsequent captures are automatic until you close the terminal.

Related MCP server: Chrome MCP Server

How It Works

CLI (Claude Code / Copilot CLI)
    ↕ stdin/stdout (MCP protocol)
MCP Server (TypeScript)
    ↕ Unix domain socket (no network)
Native Host (thin relay)
    ↕ Chrome native messaging (stdio)
Extension (TypeScript, Manifest V3)
    ↕ inject → content → background
Browser Tab → accessibility tree + screenshot

Two MCP tools:

Tool

What it does

site_sense_capture

Accessibility tree + screenshot of active tab

site_sense_status

Check connection and session approval

Permission Modes

Mode

What happens

Install warning

Default

Click extension icon per page to grant access

None

All-sites

Toggle in popup → captures work on any page

One-time prompt

All-sites permission is revoked when the CLI session ends.

Security

Principle

How

No network

Native messaging (stdio) — invisible to DLP

No storage

Memory only — gone when CLI disconnects

No write ops

Never clicks, types, or modifies pages

No broad perms

activeTab + scripting + nativeMessaging

No secrets captured

Skips form values, strips URL tokens

Session-scoped

Permission resets every CLI session

See SECURITY.md for threat model and DLP compliance.

Architecture

Three-layer extension pipeline:

Layer

Context

Role

Inject

Page (world: MAIN)

Walks DOM, builds compact accessibility tree

Content

Isolated

Relays capture via postMessage (origin-validated)

Background

Service worker

Native messaging, session state, screenshot

Tech Stack

Component

Technology

Extension

TypeScript + Vite

MCP Server

TypeScript + @modelcontextprotocol/sdk + zod

Tests

vitest — 10 tests, <1s

Bundle

9KB extension, 7 total deps

Troubleshooting

Symptom

Fix

connected: false

Extension not loaded, or ID mismatch. Check edge://extensions.

Cannot capture

Navigate to an http:// or https:// page.

Content script not responding

Click the extension icon on the page, or enable all-sites mode.

Extension icon grayed out

Reload the extension at edge://extensions.

Docs

Doc

Purpose

SECURITY.md

Threat model, DLP compliance

License

Apache-2.0

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/YotamNordman/site-sense'

If you have feedback or need assistance with the MCP directory API, please join our Discord server