Skip to content(if available)orjump to list(if available)

Show HN: We packaged an MCP server inside Chromium

Show HN: We packaged an MCP server inside Chromium

11 comments

·October 17, 2025

Hey HN, we just shipped a browser with an inbuilt MCP server!

We're a YC startup (S24) building BrowserOS — an open‑source Chromium fork. We're a privacy‑first alternative to the new wave of AI browsers like Dia, Perplexity Comet. Since launching ~3 months ago, the #1 request has been to expose our browser as an MCP server.

-- Google beat us to launch with chrome-devtools-mcp (solid product btw), which lets you build/debug web apps by connecting Chrome to coding assistants. But we wanted to take this a step further: we packaged the MCP server directly into our browser binary. That gives three advantages:

1. MCP server setup is super simple — no npx install, no starting Chrome with CDP flags, you just download the BrowserOS binary.

2. with our browser's inbuilt MCP server, AI agents can interact using your logged‑in sessions (unlike chrome-devtools-mcp which starts a fresh headless instance each time)

3. our MCP server also exposes new APIs from Chromium's C++ core to click, type, and draw bounding boxes on a webpage. Our APIs are also not CDP-based (Chrome Debug Protocol) and have robust anti-bot detection.

-- Few example use cases for BrowserOS-mcp are:

a) *Frontend development with Claude Code*: instead of screenshot‑pasting, claude-code gets WYSIWYG access. It can write code, take a screenshot, check console logs, and fix issues in one agentic sweep. Since it has your sessions, it can do QA stuff like "test the auth flow with my Google Sign‑In." Here's a video of claude-code using browserOS to improve the css styling with back-and-forth checking: https://youtu.be/vcSxzIIkg_0

b) *Use as an agentic browser:* You can install BrowserOS-mcp in claude-code or Claude Desktop and do things like form-filling, extraction, multi-step agentic tasks, etc. It honestly works better than Perplexity Comet! Here's a video of claude-code opening top 5 hacker news posts and summarizing: https://youtu.be/rPFx_Btajj0

-- *How we packaged MCP server inside Chromium binary*: We package the server as a Bun binary and expose MCP tools over HTTP instead of stdio (to support multiple sessions). And we have a BrowserOS controller installed as an extension at the application layer which the MCP server connects to over WebSocket to control the browser. Here's a rough architecture diagram: https://dub.sh/browseros-mcp-diag

-- *How to install and use it:* We put together a short guide here: https://git.new/browseros-mcp

Our vision is to reimagine the browser as an operating system for AI agents, and packaging an MCP server directly into it is a big unlock for that!

I'll be hanging around all day, would love to get your feedback and answer any questions!

esafak

I went back to Chrome after suffering bugs in BrowserOS, and Chrome recently added a powerful Gemini feature that does what I suggested to your team when you announced your product. I just could not derive any value from BrowserOS.

https://gemini.google/overview/gemini-in-chrome/

felarof

Ohh man, this definitely hurts. We were a team of 2 until recently and we've been working hard to get through the backlog of feature requests as fast as possible.

I think we've definitely improved the product a lot since we launched, you should try it out!

The BrowserOS-as-MCP server we believe is a nice useful + differentiated feature that other browsers don't have. You can use BrowserOS with claude-code, claude-desktop or gemini-cli for many useful things!

xnx

> unlike chrome-devtools-mcp which starts a fresh headless instance each time

I'm pretty sure chrome-devtools-mcp can connect to a running instance: https://developer.chrome.com/docs/devtools/remote-debugging/...

felarof

Hmm I've tried. Google chrome doesn't allow starting `--remote-debugging-port` on main profiles. Logs below from my MacOS. not sure if it allows on other OSes.

``` [I] ~ /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-logging=stderr --remote-debugging-port=9445 (base) [27920:145785320:1017/131556.797325:INFO:components/enterprise/browser/controller/chrome_browser_cloud_management_controller.cc:206] No machine level policy manager exists.

DevTools remote debugging requires a non-default data directory. Specify this using --user-data-dir. ```

null

[deleted]

etwigg

In what way is this different than Playwright MCP?

felarof

good question. key difference is MCP server is built right into the browser and works with your logged sessions. One-click to connect, no CDP setup needed. Also supports multiple parallel connections via MCP http transport.

_boffin_

You can load use profiles, cookies and more during startup and get the logged in sessions.

shadowfax92

i vibe coded an HN clone in nextjs using this mcp server + claude code under 5 mins - https://dub.sh/yBOjNyL

was freaking cool

imcritic

No resulting code, just a page rendered similarly. I could save you those 5 mins: just open any site and hit Ctrl+u, Ctrl+a, ctrl-c - done, you now have vibecoded a clone of any site to your clipboard!

felarof

haha fair point. but here you can clone any website's design as inspiration to build on top of it