Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. PipePipe: NewPipe hard fork implementing SponsorBlock (github.com/infinityloop1308)
    85comments
  2. Drawgent: Coding agent on a live Excalidraw canvas (tangled.org)
    17comments
  3. Fifteen years later, the Apple Cards origin story (lexontech.org)
    56comments
  4. The Lost Atomic Update on Loongson CPU (jia.je)
    4comments
  5. Show HN: Reladraw – A diagram language where you decide where to place things (github.com/reladraw)
    —discuss
  6. A searchable library of forgotten public-domain film clips from 1915 onward (movingimagearchive.com)
    7comments
  7. Modern Object Pascal Introduction for Programmers (castle-engine.io)
    33comments
  8. Revealing the details of how OpenAI agents hacked Hugging Face (swarmtraces.org)
    414comments
  9. Reflections on 1,000 Days of Math (gmays.com)
    25comments
  10. Breaking Up with Google Play: Why Conversations Is Now Free (gultsch.de)
    218comments
  11. Analyzing Frontier Model Progress with My Favourite Game: Prince of Persia (blog.priyan.in)
    24comments
  12. We're gonna need a lot more mathematicians (terrytao.wordpress.com)
    404comments
  13. Plunging test scores are a slow-moving catastrophe (economist.com)
    187comments
  14. Banks and Credit Unions to Team Up Against Apple Pay Fees (macrumors.com)
    32comments
  15. Plan mode is dead (aymannadeem.com)
    442comments
  16. The Murky History of Soviet-Born Tetris (mitpress.mit.edu)
    20comments
  17. Show HN: A Claude Code skill to analyze your chess games (github.com/brumar)
    41comments
  18. US jury says Apple owes record $5.7B in haptic technology patent case (reuters.com)
    37comments
  19. How to keep enjoying programming in a world of LLMs (haskell.org)
    138comments
  20. Ollaya – Ollama for open-source, Jev-style decision models (ollaya.dev)
    137comments
  21. OpenAI bots meddled with multiple US Government agency sites (bbc.com)
    71comments
  22. Experiencing writing at our recent Chinese calligraphy workshop (viewsproject.wordpress.com)
    1comments
  23. Automattic has a new board after failed attempt to put CEO on leave (techcrunch.com)
    64comments
  24. Is your Postgres migration safe or not safe? (safenotsafe.dev)
    38comments
  25. Show HN: Jev Plays Pokémon Red (jev-pokemon.vercel.app)
    99comments
  26. Floci: Locally emulating any cloud service (floci.io)
    25comments
  27. A single function Jev-like wrapper for LLMs, including vision models (allanrbo.blogspot.com)
    40comments
  28. What even is an OS now? (sockpuppet.org)
    401comments
  29. I'm the mom in that viral Giants clip. Let me tell you about my husband (themomoftheyear.substack.com)
    120comments
  30. Parsing Expression Grammar vs. Regexes: Building Org Parser in Lisp, Export HTML (jointhefreeworld.org)
    15comments

Show HN: We packaged an MCP server inside Chromium

46 pointsby 11mo agogithub.com
17 comments
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!

11mo agoHN ↗

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!

11mo agoHN ↗

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

11mo agoHN ↗

In what way is this different than Playwright MCP?

11mo agoHN ↗

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.

11mo agoHN ↗

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

11mo agoHN ↗

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. ```

11mo agoHN ↗

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!

11mo agoHN ↗

I personally wasn't a fan of having something so similar to chrome. I hate chrome so chrome + ai just wasn't what I was looking for. Currently using orion on mac, and despite it's buggyness, its still got features/layout/design/extensions that I prefer to run currently. (Specific extension support being a big one)

11mo agoHN ↗

I see. Let me know if I got it correctly: if the UI of our browser looked different than Chrome, you would use that?

We kept the UI same because we felt people tend to have affinity towards using something they are familiar with.

11mo agoHN ↗

Congrats on the launch! The embedded MCP server approach is clever.

Quick question about session handling: how do you manage auth state conflicts when multiple agents interact with the same logged-in session simultaneously? We're building an AI agent for Django development and ran into similar challenges with managing concurrent operations in a sandbox environment.

Also curious about your anti-bot detection implementation at the C++ level. Are you modifying specific Chromium fingerprinting APIs or taking a different approach?

Checking out the repo now — love that it's open source!

11mo agoHN ↗

Thank you!

curious about your anti-bot detection implementation at the C++ level. Are you modifying specific Chromium fingerprinting.

TLDR basically most browser automation platforms use CDP or CDP based APIs and websites are able to detect it as bots. We built new C++ APIs into rendering engine for type, click, extract which are not CDP based and surprisingly don't get detected by most websites.

auth states I'm not fully sure I understand the issue here. Are you referring to same web app but tasks require different user-logins?

11mo agoHN ↗

Thanks for the quick response!

Non-CDP APIs at rendering engine level

That's brilliant - bypassing CDP entirely is the right call. Most anti-bot systems specifically look for navigator.webdriver and CDP artifacts. Building click/type primitives directly into the rendering pipeline is much cleaner.

auth state question

Sorry, I wasn't clear! I was thinking about the scenario where you have multiple MCP clients (say Claude Desktop + another agent) both trying to control the same BrowserOS session. Do requests get queued, or can they interleave?

For our Django agent sandbox, we handle it by serializing operations - only one agent action at a time. Curious if you do something similar or if the HTTP/WebSocket layer handles concurrency differently.

The architecture diagram showing WebSocket → Extension → Browser makes sense now. Will definitely be trying this for testing our Django apps - the logged-in session persistence would save tons of auth setup time.

Excited to see where you take this!