Claude can read my files, my terminal, even my screen. But it had no idea what I read in my browser yesterday.
That gap bugged me enough to build BraveMCP: a local-first "second brain" that gives Claude Desktop access to my browsing history, bookmarks, highlights, and notes through the Model Context Protocol (MCP). Everything stays on my machine. No cloud, no tracking.
This is the technical write-up: the architecture, the one constraint that shaped the whole design, and the bugs that cost me the most time.
The constraint that shaped everything
MCP servers talk to Claude Desktop over stdio, a JSON-RPC stream on stdin/stdout. A browser extension lives in a sandbox and cannot speak stdio. It can only make outbound HTTP requests.






