phren
A persistent memory server for AI agents that stores findings, tasks, and patterns in Markdown files within a git repository, enabling context injection across multiple AI tools.
README
<p align="center"><img src="docs/phren-transparent.png" width="180" alt="phren"></p>
<h3 align="center">Your agents forget everything. Phren doesn't.</h3>
<p align="center"> <a href="https://www.npmjs.com/package/@phren/cli"><img src="https://img.shields.io/npm/v/%40phren%2Fcli?style=flat&labelColor=0D0D0D&color=7C3AED" alt="npm version"></a> <a href="https://github.com/alaarab/phren/blob/main/LICENSE"><img src="https://img.shields.io/github/license/alaarab/phren?style=flat&labelColor=0D0D0D&color=7C3AED" alt="license"></a> <a href="https://alaarab.github.io/phren/"><img src="https://img.shields.io/badge/docs-alaarab.github.io%2Fphren-7C3AED?style=flat&labelColor=0D0D0D" alt="docs"></a> <a href="https://alaarab.github.io/phren/whitepaper.pdf"><img src="https://img.shields.io/badge/whitepaper-PDF-7C3AED?style=flat&labelColor=0D0D0D" alt="whitepaper"></a> </p>
<p align="center"> Persistent memory for AI agents. Findings, tasks, and patterns live in markdown files in a git repo you control. No database, no vendor lock-in. Works with Claude, Copilot, Cursor, and Codex. </p>
Install
npx @phren/cli init
One command. Sets up ~/.phren, wires up MCP for your tools, installs hooks. Next time you open a project, context starts flowing automatically. On a new machine? Re-run init and you're back in sync.
What actually happens
When you open a prompt:
- Hooks extract keywords from your question
- Phren searches findings across projects (FTS5 full-text with semantic fallback)
- Relevant snippets inject into your prompt before you hit send
- You ask; Claude already knows the gotchas
When you discover something:
phren add-finding <project> "finding text"captures it with optional tags ([decision],[pattern],[pitfall],[bug])- Trust scores decay over time; decisions never do; observations expire in 14 days
- Findings link to fragments (named concepts like "auth" or "build") that connect knowledge across projects
Sessions:
- Mark boundaries with
session_start/session_end - Next session sees your prior summary, active tasks, recent findings, and where you left off
- Checkpoints track edited files and failing tests so you can resume exactly where you stopped
Tasks:
- Add with priority/section. Pin across sessions. Link to GitHub issues.
- Track completions and cross-project rollups.
Key features
Fragment graph
Explore connections visually. Drag nodes to reorganize; graph auto-settles. Click a fragment to see every finding linked to it across all projects.
Finding lifecycle
- Supersede: "Finding X is obsoleted by finding Y"
- Retract: "We were wrong about this; here's why"
- Contradict: "We have two findings that conflict; this is why"
Helps you reason about contradictions instead of hiding them.
Multi-agent support
Same store works with Claude Code, Copilot, Cursor, and Codex. Agents tag findings with their tool, so you see who discovered what.
Review queue
Mark findings as needing review ([Review] section). Phren surfaces review items on every session start. Approve, reject, or edit in place.
Governance & policies
Per-project retention policies. Confidence decay curves. Access control. Audit logs. Configure with phren config or the web UI.
Store subscriptions
Subscribe to specific projects in a team store — others stay hidden from search and context injection:
phren store subscribe team-store arc intranet
phren store unsubscribe team-store legacy-projects
Progressive disclosure
Enable PHREN_FEATURE_PROGRESSIVE_DISCLOSURE=1 to get compact memory indices instead of full snippets. Call get_memory_detail(id) to expand only what you need.
Semantic dedup & conflict detection
Optional: enable LLM-based duplicate detection and contradiction flagging on add_finding. Prevents near-duplicate entries and catches "always use X" vs "never use X" contradictions.
Skills & hooks
Drop custom slash commands into ~/.phren/global/skills/. Hooks run on user prompt, tool use, and session events — wire phren into your own workflows.
CLI quick reference
phren Interactive memory shell
phren search <query> Full-text search with FTS5
phren add-finding <project> "insight"
phren task add <project> "item" Add a task
phren session_start <project> Start a session
phren store list List personal + team stores
phren team init <name> --remote <url>
phren team join <url> Join a team store
phren web-ui [--port 3499] Launch the web UI
phren doctor Health check & auto-fix
See full CLI docs at alaarab.github.io/phren.
Team stores
Shared knowledge repos for teams. One person creates with phren team init, others join with phren team join. Findings, tasks, and skills sync across team members.
Each team store can be configured with per-project subscriptions so people only see what they care about.
Platforms
- Claude Code (VS Code, Web, Desktop) — MCP hooks + CLI
- Copilot (VS Code, GitHub.com) — MCP hooks
- Cursor (IDE) — MCP hooks + built-in skill system
- Codex (Claude Agent SDK) — MCP tools + hooks
All use the same phren store. No vendor lock-in.
Packages
| Package | Description |
|---|---|
@phren/cli |
CLI, MCP server, data layer (54 tools, FTS5, hooks) |
phren-vscode |
VS Code extension (sidebar, graph, onboarding) |
MIT License. Made by Ala Arab.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.