Show HN: We packaged an MCP server inside Chromium
Show HN (score: 7)Description
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!
More from Show
Show HN: Marten – Elegant Go web framework (nothing in the way)
Show HN: Marten – Elegant Go web framework (nothing in the way)
Show HN: I vibecoded an ARM64 operating system that boots on real hardware
Show HN: I vibecoded an ARM64 operating system that boots on real hardware VibeOS is a retro operating system that boots on qemu and Pi Zero 2W. I built this with Claude code in about 4 weeks.
Show HN: Seapie – a Python debugger where breakpoints drop into a REPL
Show HN: Seapie – a Python debugger where breakpoints drop into a REPL
Show HN: Memory Graph – Interactive Python execution and memory visualizer
Show HN: Memory Graph – Interactive Python execution and memory visualizer Hello everybody,<p>I built Memory Graph to help students (and myself) build a correct mental model of Python references, mutability, and copying, and to make debugging data structures less “print-driven”. It’s inspired by Python Tutor, but focuses on clearer graphs and on running locally in many different environments and debuggers. The Memory Graph Web Debugger quickly turns your web browser into a Python debugger where the whole program state is visualized in each step, clearly showing aliasing and the structure of the data, giving insight that is hard to get with just printing.<p>Some interesting examples:<p>- Recursion, decimal to binary conversion: <a href="https://memory-graph.com/#codeurl=https://raw.githubusercontent.com/bterwijn/memory_graph/refs/heads/main/src/binary_convert.py&timestep=1.0&play" rel="nofollow">https://memory-graph.com/#codeurl=https://raw.githubusercont...</a><p>- Binary Tree data structure: <a href="https://memory-graph.com/#codeurl=https://raw.githubusercontent.com/bterwijn/memory_graph/refs/heads/main/src/bin_tree.py&timestep=0.2&play" rel="nofollow">https://memory-graph.com/#codeurl=https://raw.githubusercont...</a><p>- Cocktail Shaker Sort: <a href="https://memory-graph.com/#codeurl=https://raw.githubusercontent.com/bterwijn/memory_graph/refs/heads/main/src/cocktail_sort.py&breakpoints=16,45&continues=1&timestep=0.2&play" rel="nofollow">https://memory-graph.com/#codeurl=https://raw.githubusercont...</a><p>Here you can find some difficult Python Data Model exercises for use in education where Memory Graph helps explain the correct answer:<p><pre><code> https://github.com/bterwijn/memory_graph_videos/blob/main/exercises/exercises.md</code></pre>
No other tools from this source yet.