Tabhand
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Assistant Navigation
Let AI agents use your real, logged-in Chrome. No debugger banner, no tab to keep open.
Part of Assistant, the AI assistant by Ciro Cesar Maciel that works in your tools: it is how Assistant's agents use your browser. It is also free and open source, for any agent: Claude Code, Cursor or your own app.
Your agent needs a dashboard, an inbox or an account that only opens logged in as you. Assistant Navigation gives it your own Chrome: it reads pages, clicks, types and takes pictures in a tab group of its own (named Assistant), in the window you are using. It works from anywhere: Claude Code on your laptop, or an agent running in the cloud.
Why another browser tool
Most tools drive Chrome through its debugger (the Chrome DevTools Protocol). That is powerful, but Chrome shows "… started debugging this browser" on top of every window while it is on, and many tools need a tab or a window held open, or a new id to paste every time.
Assistant Navigation uses only plain extension APIs (tabs, scripting, captureVisibleTab, userScripts), so:
no banner, ever;
no tab to keep open: the extension's service worker holds the connection, and turns itself back on with Chrome;
one connection code, made once: paste it into your agent's settings and forget it;
your window, your tabs: the agents' tabs open in the background, in their own tab group, never in another window.
Related MCP server: chrome-agent-mcp
Install the extension
Download
assistant-navigation-extension.zipfrom the latest release and unzip it into a folder you will keep.Open
chrome://extensions, turn on Developer mode, click Load unpacked and pick that folder.Assistant Navigation opens its page with your connection code. Copy it.
Optional: in the extension's Details, turn on Allow user scripts so agents can run code in pages (
browser_script).
The Chrome Web Store listing is on the way.
Connect your agent
Claude Code
claude mcp add assistant-navigation --scope user --env ASSISTANT_NAVIGATION_CODE="<your connection code>" -- npx -y github:ciro-maciel/assistant-navigationCursor, Claude Desktop and other MCP clients
{
"mcpServers": {
"assistant-navigation": {
"command": "npx",
"args": ["-y", "github:ciro-maciel/assistant-navigation"],
"env": { "ASSISTANT_NAVIGATION_CODE": "<your connection code>" }
}
}
}Instead of the environment variable, you can save { "code": "<your connection code>" } in ~/.config/assistant-navigation/config.json. The server needs Node 22+ (or Bun) and has no dependencies.
Your own app
import { call } from 'assistant-navigation/client'
import { functionTools, toolOf } from 'assistant-navigation/tools'
const tools = functionTools() // OpenAI-style tool definitions for your model
const result = await call(code, toolOf('browser_read').method, { tabId: 123 })npm install github:ciro-maciel/assistant-navigation. Each tool has a risk: read only looks or moves around, act changes something; if your app asks a person before acting, weigh the act ones.
The tools
Tool | What it does | Risk |
| Lists your open tabs | read |
| Opens a tab in your window, in the agents' group, and waits for it | act |
| Goes to an address, or back | act, read |
| The page's text and its elements, numbered, including iframes and shadow DOM | read |
| Acts on a numbered element | act |
| Hovers an element, CSS | read |
| Down, up, top, bottom | read |
| A picture of a tab; you are taken back to the tab you were on | read |
| Runs JavaScript in the page and returns the result | act |
| Closes a tab | read |
How it works
your agent ──(MCP or assistant-navigation/client)──▶ tunnel server ◀──(WebSocket, held by the service worker)── Assistant Navigation in your Chrome
wss://…/tunnel/<id>/extension wss://…/tunnel/<id>/upstreamThe extension makes a random 128-bit id once and keeps one WebSocket open to the tunnel server. Your connection code is that id's address on the server; each request your agent sends travels through the tunnel to the extension, which answers it with extension APIs. The public server, wss://navigation.myagents.click, is free; it relays messages and stores nothing.
Run your own tunnel server
It is one Cloudflare Worker with a Durable Object, on the free plan:
git clone https://github.com/ciro-maciel/assistant-navigation && cd assistant-navigation
bunx wrangler deploy --config tunnel/wrangler.tomlThen, in the extension's popup, open Advanced and set the server to wss://<your worker's host>. Your connection code changes with it.
Security
The connection code is a key to your browser, logged in as you: whoever holds it can read and act in your tabs. Keep it like a password. If it leaks, open the popup and click Make a new code: the old one stops working at once. Turn off in the popup, or the icon's badge OFF, cuts every agent off.
Agents are told never to type passwords or card numbers, but that is an instruction, not a wall: give the code only to agents and apps you trust. See SECURITY.md to report a vulnerability.
Limits
Chrome only photographs the tab on view: a screenshot shows the agent's tab for an instant.
Clicks and typing are synthetic events; a few heavily protected pages ignore them.
No console or network inspection: that needs the debugger, which is what Assistant Navigation avoids.
Assistant
Assistant Navigation is the browser part of Assistant: agents that work in your tools, with your connections, files and approvals in one place. In Assistant, paste your connection code once in Settings › My Chrome and every agent of your account can use your browser.
More from Ciro Cesar Maciel
Free, open-source Mac apps and tools at ciromaciel.click.
License
MIT. The tunnel server is ported from Playwriter (MIT); see NOTICE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect AI agents to your own Chrome with scoped access, approvals, and verified task results.
Control a real browser from AI agents: navigate, click, type, screenshot, read the page.
Give AI agents a real cloud Chrome: open sessions, navigate, read pages, click, type and screenshot.
Let your AI agent operate any website through a real, logged-in browser session.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to control and automate your Chrome browser directly, leveraging existing login states and configurations for tasks like content analysis, semantic search across tabs, screenshots, network monitoring, and interactive operations.12MIT
- AlicenseBqualityDmaintenanceEnables AI agents to fully control Google Chrome: navigate, click, fill forms, inspect DevTools, and manage tabs with parallel execution and session isolation.246 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to create, read, and operate granted background tabs in Chrome via a local stdio MCP server, preserving the human's front tab. Supports tab groups, navigation, clicking/typing, screenshots, and human-priority permissions.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to control Chrome, Edge, Brave and other Chromium browsers through an extension and native messaging host, exposing a Claude-in-Chrome-compatible tool set for real clicks, typing, screenshots, accessibility-tree reading, page text, form filling, JavaScript execution, console and network inspection, file uploads and GIF recording. Agent sessions run in isolated tab groups with per-site permission prompts, activity logging and a global stop control.Apache 2.0