Long-term memory for AI agents

Your agent forgets
everything. We don't.

Brainfeather is the memory layer that sits under Claude Code, Cursor and your own agents — recording the facts that matter and handing them back on the next run.

Every new session starts your assistant from zero. Brainfeather keeps the context that outlives the chat window.

RAM
vs disk

A context window is RAM — fast, and wiped when the session closes. Brainfeather is the disk beside it: what your project actually is, written as you work and read back before the next answer.

One store, every client

Write once. Recall everywhere.

Facts captured in one tool are available in all of them. Change a decision in Cursor and Claude Code knows about it on its next run.

CLAUDE CODECURSOROPENCODEANTIGRAVITYYOUR AGENTSMCP CLIENTSBRAINFEATHERTHE SHARED MEMORY STOREEVERY CLIENT WRITES AND RECALLS
In the prompt

What the model sees

Same model, same question, same day's work — the only difference is whether it already knows your project. The Supabase stack below is just an example; Brainfeather records whichever one you chose.

claude — ~/projects/my-appno mcp
i'm creating a new app — set up the backend

Before I scaffold anything — a few questions:

Which backend — Supabase, Firebase, something custom?
Managed auth, or your own?
Where should generated files live?
…you re-type your whole stack. Again.

Glob(pattern: "**/*.config.*")

No files found

Write(src/data/repository.ts)

Added 47 lines

1import { Orm } from '@orm/client'
2
3export class DataRepositoryService {
4 private orm = new Orm()

… +43 lines (ctrl+o to expand)

an ORM, a service class, a folder you don't use

Done(5.2s · ↓ 1.5k tokens)4 turns
38% context used
claude — ~/projects/my-appmcp: brainfeather
i'm creating a new app — set up the backend

brainfeather - search_memory(query: "backend setup")

Found 4 facts

backend
Supabase · Postgres
auth
Supabase Auth + RLS
testing
Vitest · colocated *.test.ts
convention
thin repositories, no ORM

Your Supabase client, thin repository:

Write(src/repositories/user.ts)

Added 24 lines

1import { supabase } from '@/lib/supabase'
2
3export const userRepo = {
4 findById: (id: string) =>
5 supabase.from('users')
6 .select().eq('id', id).single(),
7}

… +17 lines (ctrl+o to expand)

your provider, your conventions, your file layout

Done(2.6s · ↓ 489 tokens)1 turn
12% context used

Built to stay correct

Storing everything is easy. Storing only what still holds true is the hard part.

01

Captures in the background

Conversation logs hit a queue instantly — zero added latency. A worker extracts the durable facts while your agent keeps answering.

02

Replaces stale facts, cleanly

Change a decision and the old fact is marked invalid, not merely outranked. Later searches return only what still holds.

03

Filters out the small talk

Greetings, jokes and thinking-out-loud never reach the store. Project rules, tech choices and preferences do.

04

Shared across your swarm

When several agents work the same problem, state updates broadcast in real time so none of them drift out of sync.

Stop re-explaining your project.

Brainfeather is in early development. Leave your email and help shape what it remembers.

One email when there's something to try. No other mail, and no sharing.