Skip to content

The Kadmo extension ​

The Kadmo extension lets the Kadmo runtime on your computer drive Chrome: open a page, read it, click, type and fill in forms, take a screenshot, and hand the result back to the workflow or the MCP client that asked. Pages open with the sessions you are already signed in to, so nothing needs your passwords.

Its only peer is the runtime on your own computer, at localhost:9876. Install the runtime first: Install the runtime.

Install it ​

  1. Open the extension in the Chrome Web Store: Kadmo.
  2. Click Add to Chrome and confirm the permissions (each one is explained below).
  3. Pin it: click the puzzle icon in the toolbar, then the pin next to Kadmo.
  4. Start the runtime (kadmo serve, or let your MCP client start kadmo mcp). The extension connects by itself; the popup says Connected and Ready for automation.

The extension drives the browser for either process. The dashboard, the workflow count in the popup and embed buttons come from kadmo serve only: while a client's kadmo mcp holds the extension, Open Dashboard opens a page that is not found, the count reads -- Actions, and no page buttons appear.

The store listing ​

What the Chrome Web Store shows for the extension:

FieldValue
TitleKadmo
SummaryLets the Kadmo runtime on your computer drive this browser: navigate, read and act on pages for the workflows you run.
CategoryDeveloper Tools
Homepagehttps://kadmo.ai
Supporthttps://docs.kadmo.ai
Privacy policyhttps://kadmo.ai/privacy

The description:

Kadmo lets the Kadmo runtime on your computer drive this browser.

The runtime is the part of Kadmo that runs on your own machine. With this extension installed, the workflows you run there can use the browser you already work in: open a page, read it, click, type and fill in forms, take a screenshot, and hand the result back to the workflow. Pages open with the sessions you are already signed in to, so nothing needs your passwords.

WHAT IT DOES

  • Opens and drives a tab for the runtime: navigation, clicks and key presses, typing and form filling, scrolling
  • Reads a page for the workflow: its structure, its text, a screenshot
  • Answers a site's sign-in prompt with credentials your runtime hands it for that one site, for that session
  • Records what you do on a page, when you ask it to, so the runtime can turn it into a workflow
  • Shows a button for a workflow on the pages it is meant for, and runs it on that page with one click

HOW IT WORKS

  1. Install the Kadmo runtime on your computer (see https://docs.kadmo.ai).
  2. Install this extension. It connects to the runtime on your computer by itself.
  3. The toolbar button shows whether the runtime is connected, lets you record, and switches the page buttons on or off.

PRIVACY

The extension talks to one place only: the Kadmo runtime on your own computer, over a local connection. It sends nothing to Kadmo or to anyone else, keeps no history, and contains no analytics or error reporting. What it reads from a page goes to your runtime, because a workflow you started asked for it. To show page buttons, it asks your runtime which buttons a site has, by the site's name; switch page buttons off in the toolbar to stop that.

Privacy policy: https://kadmo.ai/privacy

Turning a recording into a workflow is not part of this release of the runtime: see Record.

How it connects ​

  • The extension connects to the runtime at ws://localhost:9876/ws as soon as Chrome starts, and tries again every 3 seconds while the runtime is not running. The port is fixed: a runtime on another port has no browser.
  • Once connected, it attaches to the first regular tab it finds (not a restricted page), or to the next one that finishes loading. That tab is the driven tab: every browser tool and workflow step acts on it.
  • It attaches with Chrome's debugger, so Chrome shows the bar "Kadmo" started debugging this browser while a tab is driven.
  • The runtime accepts one extension at a time. A second copy, for example in another Chrome profile, is turned away and tries again every 30 seconds.

The popup ​

Click the Kadmo icon in the toolbar. The popup has three states.

StateShowsButtons
Connecting...Reaching the Kadmo runtimenone
ConnectedReady for automation, or Recording actions... while recordingOpen Dashboard, the workflow count, Disconnect, Focus Tab, Record
Not ConnectedNo tab is attached. The text is fixed, Kadmo runtime not reachable and Start the Kadmo runtime on this computer. with a How to link to this site, whether the runtime runs or notConnect

Disconnect, Focus Tab and Record are the three round icons under the workflow count; hover one to see its name.

When a tab is attached but the runtime is not reachable, the popup shows the Connected state with Kadmo runtime not reachable and the same instructions, and Record is disabled. Opening the popup attaches the tab you are looking at when it can, so with the runtime stopped this is what you usually see.

ButtonWhat it does
Open DashboardOpens the runtime's dashboard at http://localhost:9876 in a new tab
N Actions · ViewThe number of workflows the runtime has; click it to open the dashboard's Skills view
DisconnectDetaches the driven tab. The connection to the runtime stays, and the extension attaches a tab again when the next page finishes loading.
Focus TabBrings the driven tab to the front
Record / Stop RecordingStarts and stops recording on the driven tab (see Record)
ConnectAttaches the tab you are looking at; it fails on a restricted page

Under Features, the Embed Buttons switch (Show action buttons on sites) turns page buttons on and off. It is on by default.

Embed buttons ​

A workflow can put a button on the pages it is meant for; clicking it runs the workflow on that page. While Embed Buttons is on, the extension asks the runtime which buttons a site has, by the site's host name, once per site. How to give a workflow a button: Embed buttons.

Record ​

Record makes the extension record what you do on the driven tab (clicks, typing, scrolling, page changes) and send it to the runtime. Typing is recorded as the field's value, password fields included, so record only what you mean to.

In this release the runtime does not turn these recordings into workflows: a recording started from the popup reaches the runtime and is not saved. Write workflows in YAML instead (Workflows).

HTTP sign-in ​

A site that asks for HTTP sign-in (the browser's own user name and password dialog) would stop a workflow. The runtime can hand the extension credentials for the site it names (the set_basic_auth tool); the extension answers that site's prompt in the driven tab with them, keeps them only for the browser session, and never answers twice after a rejected password. A prompt with no matching credentials is dismissed so the page never hangs.

Permissions ​

PermissionWhy the extension needs it
debuggerDrives the tab the runtime works in the way a user would: real mouse and key input, screenshots of the page, closing the page's own alert and confirm dialogs that would otherwise stop the workflow, and evaluating a script in the page when a workflow step asks for it. It attaches only to the one tab the runtime drives.
tabsFinds and focuses the tab the runtime drives, navigates it, reads its URL and title to report where the workflow is, and keeps the connection when the tab reloads or closes.
scriptingInjects the extension's own content script into a tab where it is not running yet (a tab opened before the extension was installed). Only the packaged file is injected.
storageKeeps your on/off choice for page buttons and, for the browsing session only, the sign-in credentials the runtime hands over for a site (cleared when the browser closes).
webRequestNotes when a request that was answered with sign-in credentials completes or fails, so a rejected password is never sent again in a loop.
webRequestAuthProviderAnswers a site's HTTP sign-in prompt in the driven tab with the credentials the runtime set for that one site.
Access to all sitesThe runtime's workflows open whatever site you automate, so the extension must work on any page. On other pages it only asks the runtime whether a workflow has a page button for that site (while Embed Buttons is on); nothing else is done on a page unless the runtime asks for it.

Privacy ​

  • The extension talks only to the Kadmo runtime on your own computer (localhost:9876). It sends nothing to Kadmo GmbH or anyone else, and has no analytics or error reporting. Its pages may connect to nothing but the runtime.
  • What it reads from a page goes to your runtime, because a workflow or MCP client you started asked for it.
  • No web page can use it: it answers only the runtime and its own popup, and offers no door to pages.
  • The full policy: kadmo.ai/privacy.

Restricted pages ​

Chrome does not let extensions drive its own pages, so the extension neither attaches to nor acts on:

PagesExamples
Browser pageschrome://, chrome-extension://, chrome-search://, chrome-untrusted://, chrome-distiller://, devtools://, edge://
Special pagesabout: (about:blank included), view-source:
The Chrome Web Storehttps://chromewebstore.google.com, https://chrome.google.com/webstore

Open a regular web page in a tab and the extension attaches to it.

Troubleshooting ​

SymptomFix
The popup says Connected with Kadmo runtime not reachableStart the runtime: kadmo serve, or your MCP client's kadmo mcp. Check curl http://localhost:9876/health.
The popup says Not ConnectedNo tab is attached, usually because the tab shows a restricted page. Open a regular web page and click Connect.
Connect failsThe tab shows a restricted page: open a regular web page and try again.
Connected, but the browser tools say Browser not connected.Another runtime process holds port 9876, and your client's kadmo mcp has no browser: see One runtime holds the browser.
Two Chrome profiles have the extensionOnly one copy connects; the other retries every 30 seconds. Disable it in the profile you do not automate.
Actions happen in an unexpected tabThe extension drives the tab it attached first. Click Focus Tab to see it, or Disconnect and then Connect on the tab you want.
Page buttons do not appearCheck that Embed Buttons is on; see Embed buttons.

More on Troubleshooting.

On agents ​

A Kadmo agent's Chrome gets the extension by policy, installed from the store by its ID; nothing on this page is needed for an agent.