Chrome extension that personalizes web pages based on your preferences, interests, and browsing history.
- Extension captures page content and sends to local server via WebSocket
- Server searches mem0 (Qdrant vector DB) for relevant user memories
- Gemini analyzes content against memories, returns personalized modifications
- Extension applies highlights, warnings, and tooltips to the page
Chrome Extension (content.js)
↕ WebSocket
Python Server (server.py)
↓
┌────┴────┐
↓ ↓
mem0 Gemini
(Qdrant) (analysis)
Stack: Python, FastMCP, mem0, Qdrant (local), Gemini, Chrome Extension (Manifest V3)
uv sync
cp .env.example .env
# Edit .env with your API keys
cd server && uv run python server.pyEnvironment variables (.env):
GEMINI_API_KEY=xxx # Required
GOOGLE_MAPS_API_KEY=xxx # Optional, for place enrichment
Load extension/ as unpacked extension in Chrome.
Connect to mem0 from MCP-compatible clients to seed preferences, add memories, or query what the system knows about you:
{
"mcpServers": {
"mem0": {
"command": "/path/to/uv",
"args": ["run", "--directory", "/path/to/humanize", "python", "mcp_server.py"]
}
}
}Tools: add_memory_tool, search_memories, list_all_memories, delete_memory