websense
Enables browser automation of GitHub, allowing AI agents to navigate repositories, click, fill forms, and read state changes through the Semantic Action Graph.
Enables automation of the Gmail web interface for reading, composing, and managing mail via the browser extension.
Supports automation of Google web properties, including search and other Google pages, with structured actions and before/after diffs.
Supports automation of Telegram Web through the accessibility-tree ax tool, covering canvas/WebGL-heavy interfaces.
Supports automation of TradingView charts and the web app via the accessibility-tree ax tool, especially for canvas/WebGL content.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@websenseOpen Hacker News and show me the top 3 stories"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
WebSense MCP
Non-vision, AI-native web automation via the Semantic Action Graph. Drive a real Chrome from any MCP client — no screenshots, no CDP, no bot detection, no headless.
Built to be the browser tool an AI agent actually wants: every element is classified by action type with a predicted effect, every form is fully introspected, every click returns a before/after state diff. Works on LinkedIn, GitHub, Google, Gmail — any strict-CSP site, including React/Vue/Angular SPAs.
Why WebSense
WebSense | CDP / Puppeteer | Vision-based (computer-use) | |
Bot detection | None (real profile) | Often flagged | None |
Screenshots / vision model | No — pure structured JSON | No | Yes (expensive, error-prone) |
CSP-strict sites | ✅ Native setters in isolated world | ✅ | ✅ |
React controlled inputs | ✅ Native prototype setters + event dispatch | Partial | ✅ |
| Never set | Set | Never |
What the agent sees | Typed actions, forms, states, diffs | Raw DOM/JS | Pixels |
Cost per read | ~0 tokens (summarized, incremental) | Full DOM dump | 1 vision call |
Related MCP server: agent-browser-mcp
How it works
MCP Client (Claude / Cline / Cursor / any MCP host)
↔ stdio or HTTP (StreamableHTTP)
WebSense MCP Server (src/server.js)
↔ WebSocket localhost:38401
Chrome Extension (extension/)
├── background.js service worker, tab management, binding
├── offscreen.js WebSocket client, auto-reconnect
└── websense-cs.js Semantic Action Graph extraction + native DOM interaction
↔ chrome.runtime.sendMessage
Live DOMThe content script extracts a Semantic Action Graph (SAG) — every interactive element with a
stable ref (E0, E1, …), action type (navigation, form_input, form_submit, toggle, …),
predicted effect, and live state (value, checked, disabled, expanded, …). The agent
plans against the graph, then acts by ref. No coordinates, no pixels, no eval.
Quick start
Prerequisites
Node.js 18+
Chrome / Edge / Opera (the extension is MV3)
1. Install & load the extension
npm installOpen chrome://extensions → Developer mode → Load unpacked → select the
extension/ folder. The extension auto-connects to the WebSocket hub — no launcher page needed.
2. Register the MCP server in your client
Claude Desktop (claude_desktop_config.json):
{ "mcpServers": { "websense": { "command": "node", "args": ["/path/to/websense-mcp/src/server.js"], "env": { "PORT": "38401" } } } }Cline / Cursor / any stdio MCP client: same shape — point args at
src/server.js with PORT=38401.
Multiple clients at once (Hermes + Cline + Cursor simultaneously):
node src/server.js --http --http-port 9222then point each client at http://localhost:9222/mcp (StreamableHTTP, multi-session).
3. Call any tool
Start with websense_guide — it returns the full usage guide. The core loop:
explore_page → pick a ref → click/type/form by ref → read the before/after diff → repeatTools
websense_guide first. 24 consolidated tools covering the whole surface:
Area | Tools |
Guide & Status |
|
Exploration |
|
Read |
|
Interact |
|
Element Intel |
|
Tabs & Navigation |
|
Wait |
|
Page Control |
|
Clipboard & AX |
|
Highlights
explore_page {incremental:true}— after any action, returns only what changed (added/changed/removed with per-field diffs) instead of re-dumping the whole page. Refs stay stable across incremental calls.clickauto-climb — if a synthetic click produces no state change (stubborn React submits), it can escalate to a genuine OS-level click. Windows-only enhancement, off by default (WEBSENSE_AUTOCLIMB=1env orautoClimb:true).read {format:"diff"}— only the text that changed since the last read.
Platform support
Feature | Windows | macOS / Linux |
Core browsing (explore/read/click/type/form/tabs/wait) | ✅ | ✅ |
OS-level dialog keystroke ( | ✅ (PowerShell SendKeys) | ❌ (graceful error) |
Auto-climb real-click | ✅ (PowerShell user32) | ❌ (graceful error) |
| ✅ (pywinauto + cua-driver) | ❌ |
Everything marked ❌ degrades gracefully — the tool returns an honest error message, never crashes. Core browsing is fully cross-platform.
Security & privacy
Runs in YOUR Chrome profile — your cookies, sessions, and fingerprint. It never leaves your machine: everything is localhost.
Manifest permissions:
tabs,offscreen,scripting,webNavigation,downloads,clipboardRead/Write,cookies,activeTab,debugger(used only by the optionalaxtool for canvas SPAs), plus<all_urls>host access.cookiestool can read/clear cookie values for the current tab — treat it as sensitive; it exists for session-transplant workflows.No telemetry. No network calls from the server other than the localhost WebSocket hub.
Known limitations
Logged-in sites must already be authenticated in the Chrome profile the extension runs in (
navigateopens a fresh tab that uses existing session cookies).evaluateusesnew Function(eval) → blocked by strict page CSP (LinkedIn, HN). It's a power-user utility; the rest of the surface is CSP-safe.Canvas / WebGL content (Telegram web, TradingView): use the
axtool (native accessibility tree viachrome.debugger) orscreenshot+ vision.Native OS dialogs (basic-auth, print):
dialog keystroke:true(Windows) or your platform's native automation.
Development
# Regression suite (hub-level, no Chrome needed)
node test-regressions.mjs
# Full end-to-end live test (needs Chrome + extension loaded)
node test/mcp-client-test.jsFile structure
websense-mcp/
├── src/
│ ├── server.js # MCP server, 24 consolidated tools
│ ├── hub.js # WebSocket hub (multi-slot, latch-proof)
│ ├── session.js # Exploration map + task state machine
│ ├── incr.js # Incremental explore diff engine
│ ├── climb.js # Auto-climb decision logic (pure)
│ ├── summarize.js # Goal-aware read summarization (pure)
│ ├── upload.js # Upload verdict logic (pure)
│ └── mermaid.js # Mermaid journey export
├── extension/
│ ├── manifest.json # Chrome MV3
│ ├── background.js # Service worker
│ ├── offscreen.js # WS client, auto-reconnect, watchdog
│ └── websense-cs.js # SAG extraction + native interaction
├── scripts/
│ ├── native_upload.py # Windows native-file-picker helper (optional)
│ └── kill-server.ps1 # Windows dev utility (optional)
└── test/ # Regression + E2E + fixture pagesLicense & support
MIT — use it, fork it, ship it. If WebSense saves you hours, a coffee is appreciated ☕
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceA semantic browser runtime for AI agents that replaces raw HTML with structured data and dynamic, page-specific tools. It features built-in site memory and automated bot detection bypass to enable efficient, self-healing web automation.1
- AlicenseBqualityFmaintenanceEnables AI agents to directly control your real Chrome browser with full context including login sessions, cookies, and open tabs. It provides tools for page scanning, JavaScript execution, CDP control, screenshots, and physical mouse/keyboard input for authentic browser automation.20239MIT
- AlicenseAqualityAmaintenanceGives AI agents a compact, semantic interface to the browser, returning structured page snapshots with stable element IDs instead of raw DOM. Enables agents to navigate, interact, and extract information from web pages efficiently.261815MIT
Related MCP Connectors
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
E2LLM gives your AI eyes and hands in a real browser: structured perception (SiFR) plus action.
Reliable web access for AI agents: smart HTTP, rotating proxies, and full-browser rendering.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/spliffspliff70-wq/websense-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server