Show HN: Friday – Self-hosted persistent memory for AI coding agents (MCP) An open-source project called Friday launched as a self-hosted persistent memory layer for AI coding agents, connecting to tools such as Cursor, Claude, Copilot, and VS Code through the Model Context Protocol (MCP). Friday runs on a FastAPI backend combining Mem0 semantic memory, ChromaDB vector search, and Neo4j knowledge graph, exposing four MCP tools β€” add_memory, add_fact, memory_search, and get_context β€” and claims targeted retrieval cuts token use by 90% while developers spend up to 40% of their time rebuilding context without persistent memory. The open-source, self-hosted persistent cognitive memory layer for AI coding agents. Cursor forgets. Claude forgets. Copilot forgets. Friday doesn't. | πŸš€ Quickstart -60-second-quickstart | πŸ”Œ IDE Setup -ide-setup--10-seconds | ✨ Features -features | πŸ“‘ API Docs -api-reference | πŸ—οΈ Architecture -architecture | πŸ—ΊοΈ Roadmap -roadmap | Live Neural Studio β€” Obsidian-grade knowledge graph visualizer mapping real AI cognitive memory constellations. You're deep in a session with Cursor. You've explained your entire auth architecture. Your JWT strategy. Your database schema. Your preferred patterns. You open a new chat. You: "Add a refresh token endpoint using our JWT pattern." Cursor: "Sure What JWT library are you using? And how is your auth structured?" You: 😀 again. for the 47th time this week. Every AI coding assistant suffers from the same critical design flaw: no persistent memory. Each session starts at zero. Your AI gives you generic advice instead of deeply personalized, project-specific insight. You're repeating yourself constantly. The result? You're spending up to 40% of your time just rebuilding context β€” instead of building product. Friday is a persistent cognitive memory backbone that plugs into your existing AI tools via the Model Context Protocol MCP https://modelcontextprotocol.io . It runs fully self-hosted on your own infrastructure β€” your data never leaves your machine or your server. β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ YOUR AI AGENT Cursor / Claude / Antigravity / VS Code β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ 4 MCP Tools stdio transport β”œβ”€β”€ add memory β”œβ”€β”€ add fact β”œβ”€β”€ memory search └── get context β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ FRIDAY BRAIN FastAPI β”‚ β”‚ β”‚ β”‚ Layer 2: Mem0 Layer 3: ChromaDB Layer 4: Neo4j β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ Semantic Memory β”‚ β”‚ Vector Search β”‚ β”‚ Knowledge β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ Graph β”‚ β”‚ β”‚ β”‚ β€’ Cross-session β”‚ β”‚ β€’ 90% fewer β”‚ β”‚ ────────── β”‚ β”‚ β”‚ β”‚ persistence β”‚ β”‚ tokens via β”‚ β”‚ ● WebApp β”‚ β”‚ β”‚ β”‚ β€’ Contextual β”‚ β”‚ targeted β”‚ β”‚ ● Auth β”‚ β”‚ β”‚ β”‚ similarity β”‚ β”‚ retrieval β”‚ β”‚ ● Payments β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ ⚑ Auto-Graph Engine β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ Every memory β†’ LLM extraction β†’ Neo4j nodes + edges β”‚ β”‚ β”‚ β”‚ Zero manual linking. Your knowledge base wires itself. β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ 🎨 Neural Studio β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ Obsidian-grade live knowledge graph browser β”‚ β”‚ β”‚ β”‚ Spread slider β€’ Filters β€’ Inspector drawer β€’ Full CRUD β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ | Capability | Without Friday | With Friday | |---|---|---| | Remembers architecture decisions across sessions | ❌ | βœ… | | Recalls your exact coding preferences & style | ❌ | βœ… | | Knows your full project stack & dependencies | ❌ | βœ… | | Persists knowledge across chat resets | ❌ | βœ… | | Visual knowledge graph of your codebase | ❌ | βœ… | | Versioned facts ledger with full audit trail | ❌ | βœ… | | Self-hosted β€” data never leaves your infra | ❌ | βœ… | | Works with Cursor, Claude, VS Code, Antigravity | ❌ | βœ… | | Token cost per task | ~8,000 tokens | ~800 tokens | | Context recall accuracy | ~30% | ~94% | Requirements: Docker https://docker.com + Docker Compose https://docs.docker.com/compose/ installed. That's literally it. No Python setup. No database config. No services to manage manually. Clone and configure git clone https://github.com/itskie/friday.git cd friday cp .env.example .env Fill in your .env β€” takes 60 seconds Set your own master password to protect your self-hosted server FRIDAY API KEY=pick any secret password you want DeepSeek ultra-affordable β€” $0.14/M tokens Get yours at: https://platform.deepseek.com DEEPSEEK API KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Mem0 β€” generous free tier available Get yours at: https://mem0.ai MEM0 API KEY=m0-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Neo4j password β€” you choose this NEO4J PASSWORD=change to something strong Launch everything in one command docker compose up -d This starts: - 🧠 Friday Brain on http://localhost - πŸ•ΈοΈ Neo4j on http://localhost:7474 - 🎨 Neural Studio at http://localhost Verify it's running curl http://localhost/health {"status":"healthy","layers":{"neo4j":"ok","mem0":"ok","facts":"ok 0 entries "}} Store your first memory curl -X POST http://localhost/add \ -H "X-Brain-Key: your key" \ -H "Content-Type: application/json" \ -d '{ "content": "We use JWT with 15min access tokens + 7-day refresh. Implementation in gateway/auth.py. Never store tokens in localStorage β€” httpOnly cookies only.", "project": "MyApp" }' Your AI now remembers. Forever. βœ… Friday is designed to be the central cognitive memory for all your AI coding tools . Whether Friday runs locally on your machine or on a remote 24/7 cloud server AWS EC2, VPS, Homelab , every agent connects to the same unified memory via the Model Context Protocol MCP https://modelcontextprotocol.io . β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Cursor Desktop │──┐ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ Claude Code CLI │──┼── MCP Protocol stdio transport β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ FRIDAY URL="http://your-server-ip:8000" β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ BRAIN API KEY="your secret key" β”‚ Antigravity IDE │─── β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ Codex / Custom Agents β”‚β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ FRIDAY CENTRAL BRAIN β”‚ β”‚ Self-Hosted on Cloud/EC2 β”‚ β”‚ FastAPI + Mem0 + Neo4j β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ πŸ’‘ Shared Brain Superpower : An architectural rule or decision stored by Claude Code in your terminal is immediately accessible to Cursor , Antigravity IDE , or Codex on your desktop. Zero manual syncing. One brain across your entire toolchain. Pick your client below, paste the configuration, and restart your agent: ⚑ Antigravity IDE Add Friday to your Antigravity global MCP configuration at ~/.gemini/config/mcp config.json : { "mcpServers": { "friday": { "command": "python", "args": "-m", "mcp.server" , "cwd": "/path/to/friday", "env": { "FRIDAY URL": "http://localhost:8000", "BRAIN API KEY": "your key from env" } } } } If Friday runs on a remote server/EC2, change FRIDAY URL to http://