MCP and browser tools
How Lumo exposes the browser as a typed tool surface, and where the trust boundary sits.
On this page
Lumo does not hard-wire a list of commands into the model prompt. It runs one or more Model Context Protocol servers and lets the agent discover their tools at runtime. The same protocol works for built-in browser tools and remote servers.
Built-in servers#
| Server | Capability |
|---|---|
| Browser Core | Tabs, windows, navigation, bookmarks, history, cookies, downloads. |
| Page Interaction | Page reading, accessibility snapshots, clicks, form fills, keyboard, screenshots. |
| Network Monitor | Request capture, URL blocking, redirects, header rewriting. |
| DevTools Advanced | CDP sessions, trusted input, device/network emulation, console capture. |
| File Manager | Read, write, patch, preview and download files stored in IndexedDB. |
Transports#
- HTTP Streamable — preferred for remote servers with a request/response shape.
- SSE — supported for servers that stream events over a long-lived connection.
- Built-in servers are registered in-process; they do not leave the extension.
Extension providers and WebMCP#
A sibling extension can serve MCP over a chrome.runtime.Port. Lumo discovers it with a single L0 probe, checks enabled / authorized / ready, then opens a standard MCP session. Pages that declare WebMCP tools contribute a per-tab surface instead. Both appear in the same registry as remote servers, so the model sees one tool list.
- Remote servers use HTTP Streamable or SSE; extension providers use the runtime port.
- Disabling a source removes its tools on the next step, with no prompt rebuild.
- Tool names are namespaced; a collision never silently overwrites another server.
The security boundary#
- Every tool call is explicit in the transcript; the agent loop can be stopped mid-step.
- External servers are disabled by default and must be added by the user.
- Tool results are treated as untrusted content; page text cannot silently expand permissions.
- The extension requests only the Chrome permissions a feature needs, and documents each one.
Remote tools are code you did not write
Only connect MCP servers you trust. A server can return instructions as well as data; Lumo keeps tool calls visible, but it cannot audit a third-party implementation.
Adding a server#
- 1
Open MCP settings
Settings → MCP → Add external server.
- 2
Choose a transport
Provide an HTTP Streamable or SSE endpoint. Authentication headers are stored locally.
- 3
Inspect the tools
Lumo discovers the tool list and shows connection status before you enable it in a conversation.