A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
A lightweight, local-first persistent memory server for AI tools. Stores structured memory entries in SQLite and exposes
A lightweight, local-first persistent memory server for AI tools. Stores structured memory entries in SQLite and exposes them over both the Model Context Protocol (MCP) and a plain REST HTTP API. Comes with a React UI for browsing and managing memories in the browser.
namespace:value convention (e.g. project:myapp, lang:typescript)mini-memory-mcp/
├── server/
│ ├── index.ts # Entry point — stdio or HTTP mode
│ ├── db.ts # SQLite init, WAL, FTS5 schema & triggers
│ ├── memory-store.ts # CRUD + FTS search logic
│ ├── routes.ts # Express REST router (/api/memories)
│ └── mcp-tools.ts # MCP tool definitions (memory_list/create/read/update/delete/search)
├── ui/
│ └── src/
│ ├── api.ts # Typed fetch helpers
│ ├── hooks/useMemories.ts # State, debounced search, CRUD
│ └── components/ # MemoryList, MemoryCard, MemoryForm, SearchBar
├── data/
│ └── mini-memory.sqlite # Auto-created on first run
└── package.json
# Install server dependencies
npm install
# Install UI dependencies
cd ui && npm install
npm start
Server starts on port 5172.
GET http://localhost:5172/http://localhost:5172/api/memorieshttp://localhost:5172/mcpnpm run start:mcp
The process speaks the MCP protocol over stdin/stdout. No HTTP server is started.
With the HTTP server already running:
cd ui
npm run dev
UI starts on port 5173 and proxies /api requests to the server on port 5172.
Open http://localhost:5173 in your browser.
Add to your claude_desktop_config.json:
{
"mcpServers": {
"mini-memory-mcp": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/mini-memory-mcp/server/index.ts", "--stdio"]
}
}
}
Or with npm run start:mcp:
{
"mcpServers": {
"mini-memory-mcp": {
"command": "npm",
"args": ["run", "start:mcp"],
"cwd": "/absolute/path/to/mini-memory-mcp"
}
}
}
claude mcp add mini-memory-mcp -- npx tsx /absolute/path/to/mini-memory-mcp/server/index.ts --stdio
Add to .vscode/mcp.json:
{
"servers": {
"mini-memory-mcp": {
"type": "stdio",
"command": "npx",
"args": ["tsx", "/absolute/path/to/mini-memory-mcp/server/index.ts", "--stdio"]
}
}
}
First start the server in HTTP mode (npm start), then point your MCP client at:
http://localhost:5172/mcp
The server follows the MCP Streamable HTTP spec: send a POST with no mcp-session-id header to initialize a session, then include the returned session ID in all subsequent POST/GET/DELETE requests.
| Tool | Description |
|---|---|
memory_list | List all memories, newest first. Filter by tags. Call at session start. |
memory_create | Create a new memory (title, content, optional tags) |
memory_read | Read full content of a single memory by ID |
memory_update | Partially update a memory — only changed fields needed |
memory_delete | Permanently delete a memory by ID |
memory_search | Full-text search across titles and content |
Memory content is stored in compressed shorthand (≤100 words). The tools guide the AI to drop filler words and use symbols/abbreviations so more context fits in less space.
Base path: http://localhost:5172/api/memories
| Method | Path | Description |
|---|---|---|
GET | /api/memories | List all memories. Query params: search=<text>, tags=<tag1,tag2> |
GET | /api/memories/:id | Get a single memory by UUID |
POST | /api/memories | Create a memory. Body: { title, content, tags? } |
PUT | /api/memories/:id | Update a memory. Body: { title?, content?, tags? } |
DELETE | /api/memories/:id | Delete a memory |
curl -X POST http://localhost:5172/api/memories \
-H "Content-Type: application/json" \
-d '{"title": "My note", "content": "important context here", "tags": ["project:myapp"]}'
curl "http://localhost:5172/api/memories?search=typescript"
curl "http://localhost:5172/api/memories?tags=project:myapp,lang:typescript"
The search query parameter and the memory_search MCP tool support:
| Syntax | Example | Meaning |
|---|---|---|
| Bare term | typescript | Prefix match — finds typescript, typescripts, etc. |
| Quoted phrase | "exact phrase" | Exact phrase match |
| Negation | -react | Exclude results containing react |
| Combined | "auth flow" typescript -react | All conditions applied |
{
"id": "uuid-v4",
"title": "Short descriptive title",
"content": "Memory body text",
"tags": ["namespace:value"],
"createdAt": "2026-04-12T10:00:00.000Z",
"updatedAt": "2026-04-12T10:00:00.000Z"
}
Tags follow a namespace:value convention to make filtering meaningful, e.g. project:myapp, lang:typescript, pref:style.
MCP server integration for DaVinci Resolve Studio
mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnos
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots