Chrome extension · Manifest V3

Your agent always knows where it is.

ID Bridge IA exposes the active tab’s full identity — ids, a stable synthetic session, url, title and profile user — to you and to the AI agents driving your browser. Locally. Nothing ever leaves the machine.

zero data collection · no remote code · no accounts

ID Bridge IA popup showing the active tab identifiers in dark mode

Works with your AI stack

any assistant that speaks chrome-devtools-mcp

  • Claude
  • OpenAI · ChatGPT
  • Gemini
  • OpenCode
  • Ollama
  • Copilot
  • Cursor
  • Perplexity
  • Mistral

The identity payload

One object, every identifier that matters. The same shape whether it is read from the popup, over runtime messaging, or straight from the service worker.

fieldtypedescription
tabIdnumberIdentifier of the tab the agent is operating on
windowIdnumberIdentifier of the window that contains the tab
groupIdnumber | nullTab group id, or null when ungrouped
sessionIdstringSynthetic per-tab UUID, stable for the browser session
urlstringURL of the active tab
titlestringTitle of the active tab
incognitobooleanWhether the tab is in incognito mode
user.emailstring | nullChrome profile account email (local only)
user.gaiaIdstring | nullChrome profile account id (local only)

Small surface, sharp purpose

01

Stable session identity

A synthetic per-tab UUID that survives service-worker restarts and stays stable for the whole browser session — the id Chrome never gave you.

02

One-click copy

Every field has its own copy button, and Copy JSON exports the exact payload agents receive — pretty-printed, ready to paste.

03

Two consumption paths

Runtime messaging from the extension’s own popup and content scripts, plus service-worker globals for chrome-devtools-mcp’s evaluate_script.

04

Make it yours

Show, hide and drag to reorder fields. Preferences sync across your devices through your Chrome profile.

05

Light & dark

The popup follows your system theme with a palette designed for both — the same palette this site is built on.

06

Private by design

No servers, no analytics, no remote code. The extension never makes a network request; nothing ever leaves your browser.

Built for agents

Two local consumption paths. No servers involved — the agent talks to the extension inside your own browser.

1 · Runtime messaging

From the extension’s own popup or content scripts — one message, the full payload back.

const ids = await chrome.runtime.sendMessage({
  type: 'GET_IDS',
  tabId,          // optional from content scripts
});

2 · chrome-devtools-mcp

Helpers live on the service worker’s global scope — evaluate and go.

// evaluate_script on the extension's worker
async () => await self.getIdsForTab(123);

// or the tidy namespace
async () => await self.idBridge.getIdsForTab(123);
Customize fields: show, hide and drag to reorder
show · hide · drag to reorder
About ID Bridge IA, created by MAECLY
made by Maecly · support on Ko-fi

FAQ

What does ID Bridge IA actually do?

It exposes the identity of the active browser tab — tabId, windowId, groupId, a synthetic sessionId, url, title, incognito state and the Chrome profile account — both in a human-readable popup and through a local API that browser-driving AI agents can query.

Why do browser agents need it?

Chrome offers no reliable out-of-the-box answer to "which tab, window and session am I working in?". Agents that automate the browser can act on the wrong tab or lose context between steps. ID Bridge IA gives them stable identifiers to anchor to.

What is the synthetic sessionId?

Chrome has no session id for open tabs, so the extension generates a UUID per tab and keeps it stable for the whole browser session. It lives in the browser’s in-memory session storage and is wiped when the browser closes.

Does it collect or transmit any data?

No. Everything is computed locally in your browser. There are no servers, no analytics, no tracking and no network requests. Values are only shown in the popup or copied to your clipboard when you click.

How does an agent read the identifiers?

Two local paths: from the extension’s own contexts, send a { type: "GET_IDS", tabId } runtime message; or call the helpers exposed on the extension’s service worker (self.getIdsForTab or self.idBridge.*) via chrome-devtools-mcp’s evaluate_script — the path external agents use.

Can I customize what the popup shows?

Yes. From the popup’s settings you can hide fields and drag to reorder them; preferences sync with your Chrome profile. Copy JSON always exports the complete payload regardless of what is visible.

Which AI assistants does it work with?

Any assistant or agent that can drive Chrome through chrome-devtools-mcp or read extension messages: Claude and Claude Code, OpenAI / ChatGPT agents, Gemini, OpenCode, local models via Ollama, Cursor, GitHub Copilot, Perplexity, Mistral and more. If it speaks MCP or CDP, it can read the payload.

Free, local, no strings.

ID Bridge IA has no servers to pay for and nothing to sell you — and it will stay that way. If it saves your agents (or you) some headaches, a coffee keeps the updates coming.

Support me on Ko-fi

Give your agent a sense of place.

Add to Chrome — free

v0.1.0 · Manifest V3