Give your AI agents a shared memory that lasts. Deploy once, connect any MCP-compatible AI tool โ Hermes, Trae, Cursor, Claude Desktop โ they all share the same memory.
Most AI tools suffer from "goldfish memory" โ refresh the page, start a new session, switch to another app, and everything's gone. You keep reintroducing yourself, re-explaining your preferences, re-stating context.
MemoryBuddy fixes this with a shared memory layer that any AI tool can read from and write to:
- ๐ง Long-term memory โ facts, preferences, decisions persist across sessions
- ๐ Semantic search โ find relevant memories by meaning, not just keywords
- ๐ค Auto fact extraction โ LLM automatically distills what's worth remembering
- ๐ Smart summarization โ long conversations get compressed, key points retained
- ๐๏ธ One-click forget โ
DELETEwipes everything, GDPR compliant - ๐ MCP protocol โ any MCP-compatible client can connect, zero integration code
- ๐ธ $0/month โ runs entirely on Cloudflare's free tier
| ๐ฃ Without MemoryBuddy | โ With MemoryBuddy |
|---|---|
| Every AI tool starts fresh โ you re-explain yourself constantly | All your AI tools share one memory โ tell one, they all know |
| Switching from Hermes to Trae means losing all context | Switch freely โ memory lives in the cloud, not in the tool |
| AI forgets your preferences between sessions | Preferences persist forever, across all sessions and all tools |
| Long conversations hit context limits | Auto-summarization keeps things compact |
| Privacy concerns โ can't delete what it remembers | One API call wipes everything, fully GDPR compliant |
โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ
โ Hermes โ โ Trae โ โ Cursor โ โ Claude โ
โโโโโโฌโโโโโ โโโโโโฌโโโโโ โโโโโโฌโโโโโ โโโโโโฌโโโโโ
โ MCP โ MCP โ MCP โ MCP
โผ โผ โผ โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ MemoryBuddy Worker (Cloudflare) โ
โ โ
โ /mcp โ MCP Server (5 tools, Streamable HTTP) โ
โ /chat โ HTTP API (SSE streaming + auto-extract)โ
โ /memory/:userId โ REST API โ
โโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโ
โ โ
โโโโโโโผโโโโโโ โโโโโโโโผโโโโโโโ
โ D1 (facts)โ โ Vectorize โ
โ SQLite DB โ โ (embeddings)โ
โโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
Three-tier memory:
- Short-term (Durable Object) โ current conversation context
- Long-term (D1 database) โ structured facts: name, preferences, key entities
- Semantic (Vectorize) โ vector embeddings for meaning-based recall
- Cloudflare account (free is fine)
- Node.js 18+
git clone https://github.com/Trainspotting31/memory-buddy.git
cd memory-buddy
npm installnpx wrangler login
# Create D1 database
npx wrangler d1 create memory-buddy-db
# Create Vectorize index
npx wrangler vectorize create memory-buddy-index --dimensions 768 --metric cosine
# Initialize database schema
npx wrangler d1 execute memory-buddy-db --remote --file=schema.sqlCopy the generated database_id into wrangler.toml (rename from wrangler.toml.example).
npx wrangler deployDone! Your memory server is live at https://memory-buddy.<your-subdomain>.workers.dev ๐
MemoryBuddy speaks MCP (Model Context Protocol). Any MCP-compatible tool can connect โ they all share the same memory.
hermes mcp add memory-buddy --url https://memory-buddy.<your-subdomain>.workers.dev/mcp- Settings โ MCP โ Add Manually
- Type: Streamable HTTP
- URL:
https://memory-buddy.<your-subdomain>.workers.dev/mcp
Or create .trae/mcp.json in your project:
{
"mcpServers": {
"memory-buddy": {
"type": "streamable-http",
"url": "https://memory-buddy.<your-subdomain>.workers.dev/mcp"
}
}
}Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"memory-buddy": {
"url": "https://memory-buddy.<your-subdomain>.workers.dev/mcp"
}
}
}Add to claude_desktop_config.json:
{
"mcpServers": {
"memory-buddy": {
"type": "streamable-http",
"url": "https://memory-buddy.<your-subdomain>.workers.dev/mcp"
}
}
}Endpoint: https://memory-buddy.<your-subdomain>.workers.dev/mcp
Transport: Streamable HTTP
Auth: None (or add your own)
Once connected, the AI gets 5 tools:
| Tool | What it does | When AI calls it |
|---|---|---|
recall_memory |
Load all memory for a user | Start of conversation |
search_memory |
Semantic search by meaning | "What did I say about X?" |
store_memory |
Save a new fact | User shares preferences, decisions |
forget_memory |
Delete all memory | User says "forget everything" |
list_memory_users |
List all memory spaces | Checking what exists |
Shared memory: All tools default to userId: "hermes-shared". Use different userIds to isolate memory per project/persona.
curl -N -X POST https://your-worker.workers.dev/chat \
-H "Content-Type: application/json" \
-d '{"userId":"user123","message":"Hi! I'm John and I love espresso."}'curl https://your-worker.workers.dev/memory/user123curl -X DELETE https://your-worker.workers.dev/memory/user123curl https://your-worker.workers.dev/healthEdit wrangler.toml:
[vars]
LLM_MODEL = "@cf/meta/llama-3.2-3b-instruct" # Default: Workers AI (free)
# Optional: use external LLM instead of Workers AI
LLM_API_KEY = "sk-your-key"
LLM_API_BASE = "https://api.openai.com/v1"
LLM_MODEL = "gpt-4o-mini"| Component | Free Tier | Self-Hosted Equivalent |
|---|---|---|
| Compute (Workers) | 100K req/day | $5โ$50/mo (VPS) |
| Database (D1) | 1GB storage | $10โ$100/mo (Postgres) |
| Vector DB (Vectorize) | 256K vectors | $70+/mo (Pinecone) |
| LLM (Workers AI) | 10K neurons/day | $10+/mo (API) |
| Total | $0 | ~$100+/mo |
memory-buddy/
โโโ src/
โ โโโ index.ts # Hono router: /mcp + /chat + /memory + /health
โ โโโ mcp.ts # MCP Server factory (5 tools, stateless)
โ โโโ agent-do.ts # Durable Object: chat session + memory orchestration
โ โโโ llm.ts # LLM abstraction (Workers AI / OpenAI-compatible)
โ โโโ memory/
โ โโโ extract.ts # LLM-powered fact extraction
โ โโโ retrieve.ts # Hybrid retrieval (D1 + Vectorize)
โ โโโ summarize.ts # Conversation summarization
โโโ public/index.html # Built-in demo chat UI
โโโ schema.sql # D1 database schema
โโโ wrangler.toml.example # Cloudflare config template
โโโ package.json
Open your Worker URL in a browser โ you'll see a built-in chat interface.
- Tell the agent your name and a preference ("I'm Sarah, I'm allergic to peanuts")
- Refresh the page
- Ask: "What do you know about me?"
It remembers everything. That's MemoryBuddy.
- MCP Server (Streamable HTTP)
- Multi-agent shared memory
- Semantic search
- Auto fact extraction
- Memory categories & filtering
- User authentication
- Batch memory import/export
- Multi-language support
- Hermes plugin (auto-inject memory at conversation start)
- Fork โ 2. Branch โ 3. Commit โ 4. Push โ 5. PR
MIT โ see LICENSE