mnemonic-mcp
This server gives AI assistants a persistent, markdown-based memory across MCP sessions.
Read memory:
read_memoryretrieves the full memory or a specific section;list_sectionsshows available section names.Save facts:
save_memoryexplicitly stores a fact, whileauto_savesilently saves preferences and details during conversations.Update and delete:
update_memoryfinds and replaces existing text;delete_memoryremoves entries by a unique fragment.Search:
search_memoryperforms keyword search across all memory entries.Manage sections:
save_to_sectionadds content to a named section (creating it if needed);replace_sectionoverwrites an entire section.Organize memory:
tidy_memorycategorizes orphaned dated entries into appropriate sections.Monitor context usage (with LM Studio):
context_statusreports token usage, limits, remaining tokens, and status levels to help manage long tasks.Storage is simple: one human-readable markdown file with automatic backups, configurable via
MEMORY_FILE_PATH.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mnemonic-mcp Remember that I prefer coffee and dark mode in my editor."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mnemonic-mcp
Persistent memory server for MCP clients — lets AI assistants remember things about you across sessions.
Simple: single markdown file, human-readable, easy to edit
Fast: stdio transport, no database required
Safe: auto-backups before every write, keeps last 10 backups by default
Tools
Tool | Description |
| Read all memory or a specific section by name |
| Silently save info during conversations (proactive/background). Automatically categorizes into sections. |
| Explicitly save a fact when asked directly. Auto-categorizes. |
| Find and replace existing content |
| Remove content by unique fragment |
| Keyword search across all entries |
| List section headers for navigation |
| Add info under a named section (creates if missing) |
| Overwrite an entire section at once |
| Organize orphaned dated entries into proper sections. Use when memory looks messy. |
| Check LM Studio context-window usage: exact tokens used (from LM Studio's own records), limit, remaining, percent, and NORMAL/WARNING/CRITICAL/EMERGENCY status. For self-managing long tasks — write checkpoints via this server before running low. Requires LM Studio on localhost:1234 with a conversation active. |
Smart categorization: When saving facts, the server automatically detects the right section:
Hardware/peripherals/devices → Tech Setup & Hardware
Food/drink/preferences/health → Personal Preferences
Games/hobbies/projects/skills → Interests & Projects
Communication style preferences → Communication Preferences
Unclassifiable facts become dated entries at the bottom. You can run tidy_memory anytime to clean those up.
Related MCP server: mem-persistence
Setup
1. Install dependencies
cd mnemonic-mcp
npm install
npm run build2. Configure your MCP client
LM Studio (recommended)
LM Studio supports MCP servers via its built-in configuration file.
Step 1: Locate or create the config file:
Platform | Config path |
Linux / macOS |
|
Windows |
|
Create the folder if needed. Example on Linux/macOS:
mkdir -p ~/.lmstudio
touch ~/.lmstudio/mcp.jsonStep 2: Add mnemonic-mcp:
Open mcp.json and add a "mnemonic" entry under "mcpServers". Replace the path with where you cloned this repo:
{
"mcpServers": {
"mnemonic": {
"command": "node",
"args": ["/full/path/to/mnemonic-mcp/dist/server.js"],
"cwd": "/full/path/to/mnemonic-mcp"
}
}
}Examples:
Linux/macOS:
/home/username/Projects/mnemonic-mcp/dist/server.jsWindows:
C:\Users\YourName\Projects\mnemonic-mcp\dist\server.js
Step 3: Restart LM Studio (or reload MCP from Settings → Tools).
Step 4: Test it:
Start a new chat and ask your model something like:
"Check what tools you have available. If you see memory-related tools, list the sections in my memory."
If working, it will call list_sections() or read_memory() automatically. You can also directly ask:
"Remember that I use Arch Linux with KDE Plasma and prefer direct answers."
The model should call save_memory or auto_save and add it to your memory file at ~/.mcp-memory/memory.md.
Any MCP client (stdio transport)
Use this as your server config:
{
"command": "node",
"args": ["/path/to/mnemonic-mcp/dist/server.js"],
"cwd": "/path/to/mnemonic-mcp"
}Troubleshooting LM Studio
Tools not showing up:
Make sure you're using the full absolute path to
dist/server.js— relative paths don't work.Restart LM Studio after editing
mcp.json. Changes aren't picked up live in some versions.Check the MCP server status: Settings → Tools → look for your mnemonic entry.
"Module not found" or crash:
Verify you ran
npm installandnpm run buildfirst.Ensure Node.js is installed (
node --version).Double-check the path has no typos — especially on Windows with backslashes vs forward slashes (JSON paths should use
/or double backslash\\).
Memory not persisting between chats:
Memory uses a shared file, so it persists by default. If it's not saving:
Check your memory file exists: open
~/.mcp-memory/memory.md(Linux/macOS) or%USERPROFILE%\.mcp-memory\memory.md(Windows).Ask the model explicitly: "What tools do you have? Use one of them to save something."
Storage
Memory is stored in a single markdown file. Auto-backups go into backups/ (keeps last 10). Works cross-platform without any configuration needed.
Default path
On first run, creates:
Platform | Path |
Linux / macOS |
|
Windows |
|
If an older-style file exists at ~/.local/share/mcp-memory/memory.md, it will be used automatically for backward compatibility.
Override via environment variable
Set MEMORY_FILE_PATH to use a custom location:
# Linux/macOS
export MEMORY_FILE_PATH="$HOME/Documents/my-memory.md"
node dist/server.js
# Windows (PowerShell)
$env:MEMORY_FILE_PATH="C:\Users\YourName\Documents\my-memory.md"
node dist\server.js
# Windows (CMD)
set MEMORY_FILE_PATH=C:\Users\YourName\Documents\my-memory.md
node dist\server.jsMemory file format
The memory file is plain markdown. Sections use standard ## Header syntax:
[2026-08-28] User prefers direct answers and copy-paste-ready commands.
## Health & Wellness
- Takes ibuprofen for headaches
## Tech Setup
- Arch Linux, KDE Plasma, WaylandYou can edit the file directly — it's just markdown. The server reads/writes atomically with backups.
Development
npm run build # TypeScript → dist/
npm run dev # Watch mode (uses tsx)
npm start # Run built versionLicense
MIT
Available Tools
10 toolsauto_saveAuto SaveA
Silently save information about me worth remembering long-term. Call this proactively during conversations when I reveal preferences, facts, corrections, or project state — don't announce you're doing it unless asked.
Inputs: fact (required).
delete_memoryDelete MemoryB
Delete something from memory. Provide a unique fragment.
Inputs: text (required).
list_sectionsList SectionsA
List all named sections in memory. Use this when you're unsure where info might be stored.
Inputs: no named parameters.
read_memoryRead MemoryA
Read persistent memory. Use list_sections first if unsure where info is stored, then read that section directly.
Inputs: section.
replace_sectionReplace SectionA
Replace ALL content in a named section.
Inputs: section (required), new_content (required).
save_memorySave MemoryA
Explicitly save a fact to memory when asked directly. Automatically categorizes into appropriate section.
Inputs: fact (required).
save_to_sectionSave to SectionA
Add info to a categorized section. Creates it if needed.
Inputs: content (required), section (required).
search_memorySearch MemoryA
Search for specific info in memory. Uses keyword matching across all entries.
Inputs: query (required).
tidy_memoryTidy MemoryA
Organize standalone dated entries into appropriate sections. Use this when memory.md has many orphaned entries that could be categorized.
Inputs: no named parameters.
update_memoryUpdate MemoryC
Find and replace existing memory. Pass exact text to find.
Inputs: find (required), replace.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Most tools target distinct actions, but save_memory, auto_save, and save_to_section overlap in purpose, and read_memory/search_memory/list_sections have fuzzy boundaries without clear parameter detail. Descriptions reduce but do not eliminate confusion.
The dominant pattern is verb_noun: read_memory, save_memory, update_memory, delete_memory, search_memory, list_sections. auto_save breaks the pattern slightly, and save_to_section/replace_section use prepositions, but the overall naming style is recognizable and consistent enough.
Ten tools is a reasonable size for a memory management server. Each tool covers a distinct facet of reading, writing, organizing, searching, or maintaining persistent memory without feeling padded.
The memory domain is well covered with CRUD operations, search, section management, and maintenance. Minor gaps include no explicit 'list all memory at once' tool and no dedicated 'delete section' operation, but these can be worked around.
Maintenance
Related MCP Connectors
One memory, every AI. A shared, user-owned markdown memory your AI clients read and write over MCP.
Persistent memory for AI assistants. Save once; recall from Claude, ChatGPT, or any MCP client.
Persistent personal memory for AI assistants — save, search, and recall across every MCP client.
Persistent, portable memory for AI assistants — your private memory graph, from any MCP client.
Related MCP Servers
- AlicenseAqualityBmaintenanceA portable memory server for MCP that stores durable memories as markdown files, enabling AI agents to create, search, and organize persistent knowledge.118MIT
- AlicenseNot gradedqualityDmaintenancePersistent memory MCP server that stores and retrieves memories in Markdown files, enabling shared context across multiple AI agents with hybrid search and deduplication.MIT
- AlicenseBqualityDmaintenanceLocal-first memory server for AI coding agents that stores work sessions, tasks, and durable memories in Markdown files, exposed through MCP tools for session management and memory retrieval.1011 npm1MIT
- AlicenseAqualityBmaintenanceMCP server for persistent, cross-session, local-first memory for AI agents, storing memories as Markdown files with SQLite indexing for hybrid search.24Apache 2.0