๐—œ ๐—š๐—”๐—ฉ๐—˜ ๐—–๐—Ÿ๐—”๐—จ๐——๐—˜ ๐—” ๐— ๐—˜๐— ๐—ข๐—ฅ๐—ฌ ๐—ข๐—™ ๐—˜๐—ฉ๐—˜๐—ฅ๐—ฌ๐—ง๐—›๐—œ๐—ก๐—š ๐—œ ๐—•๐—ฅ๐—ข๐—ช๐—ฆ๐—˜

Claude reads my files and my screen. It did not know what I read in my browser yesterday.

I built BraveMCP to fix this. It is a local-first second brain. It gives Claude Desktop access to your history, bookmarks, and notes using the Model Context Protocol (MCP).

Everything stays on your machine. There is no cloud and no tracking.

The Architecture

MCP servers talk to Claude Desktop over a JSON-RPC stream. A browser extension lives in a sandbox. It cannot use that stream. It can only make HTTP requests.

I solved this with an HTTP bridge. An Express server runs on port 3747 inside the MCP server process. The extension sends data to the server. The MCP server reads that data from a shared database when Claude asks for it.

The Search System

I use two search methods to ensure accuracy:

If you search for "MCP security," semantic search finds "Claude agent hardening." If ChromaDB is down, the system still works using only keywords.

How it handles data

When you visit a page, BraveMCP creates a summary and an embedding. It uses Ollama for local processing. If Ollama is not running, it uses the Anthropic API.

I learned a hard lesson with fallbacks. In the first version, the tool gave generic answers if the AI was offline. Now, the system extracts real data from SQLite. It groups pages by domain and shows real snippets. The tool stays useful even without an LLM.

The most useful tool is find_forgotten_content. It uses hybrid search and ranks results by time and how often you visit a page. A page you visited three times last week ranks higher than a page you saw once today.

Lessons Learned

The Stack

The project is open source under the MIT license.

Source: https://dev.to/kielltampubolon/i-gave-claude-a-memory-of-everything-i-browse-heres-the-architecture-3a7d

Optional learning community: https://t.me/GyaanSetuAi