[HN Gopher] Show HN: We packaged an MCP server inside Chromium
___________________________________________________________________
Show HN: We packaged an MCP server inside Chromium
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!
Author : felarof
Score : 22 points
Date : 2025-10-17 16:22 UTC (6 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| shadowfax92 wrote:
| 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 wrote:
| 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 wrote:
| haha fair point. but here you can clone any website's design
| as inspiration to build on top of it
| etwigg wrote:
| In what way is this different than Playwright MCP?
| felarof wrote:
| 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_ wrote:
| You can load use profiles, cookies and more during startup
| and get the logged in sessions.
| xnx wrote:
| > 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 wrote:
| 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:14578
| 5320:1017/131556.797325:INFO:components/enterprise/browser/cont
| roller/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. ```
| esafak wrote:
| 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 wrote:
| 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!
___________________________________________________________________
(page generated 2025-10-17 23:01 UTC)