.stashpad
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., "@.stashpadsearch my memories for the database decision we made"
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.
Stashpad
Memory for AI agents that you can read, edit and trust.
Stashpad keeps what an agent learns as plain Markdown files. Every memory has a source, dates and a trust level. Agents propose, a person accepts. Old facts are ended, never overwritten.
Plain files. Open them in any editor, diff them, keep them in git.
Safe by default. Agent and web writes wait in a review queue. Secrets are refused.
Works with any agent. Plain commands, an open MCP server and a plain
AGENTS.mdblock. No model or company is required.Optional encryption.
stashpad encryptseals every file with AES-256-GCM, snapshots included. Off by default.No dependencies. Node 20 or newer is all it needs.
npm install -g stashpad # or run without installing: npx stashpad --help
stashpad save db-choice --kind decision --source-type user --source-ref "chat" --text "We keep data in SQLite."
stashpad search sqlite
stashpad setup # print the MCP settings for your agentAgents: read AGENT-GUIDE.md.
Start of a session, for any agent:
node bin/stashpad.mjs doctor # check the setup; says what to fix
node bin/stashpad.mjs brief # short summary, newest handover first
node bin/stashpad.mjs handover --text "Half done: auth. Next: tests." # note for the next session
node bin/stashpad.mjs sync-agents AGENTS.md # put the brief in a file agents already readInstall and run
Requires Node 20 or newer. No other dependencies.
npm test # run the tests
npm run build # build dist/
node bin/stashpad.mjs --helpMemories live in ./.stashpad/memories by default. Set STASHPAD_DIR or pass --dir.
Related MCP server: MCP Memory Server
Use it
stashpad save db-choice --kind decision --source-type user --source-ref "statement in chat" --text "We keep data in SQLite."
stashpad search "sqlite" --json
stashpad save db-choice-v2 --kind decision --source-type user --source-ref "later statement" --text "We keep data in Postgres." --supersedes db-choice
stashpad history db-choice-v2
stashpad search database --kind decision --as-of 2026-03-01 --explain # what was decided on that day, and why it matched
stashpad entities # names, tools and files the memories talk about
stashpad about Postgres # every memory about it, and what is mentioned with it
stashpad confirm db-choice-v2 # still true; doctor flags agent memories nobody confirmed for 180 days
stashpad handoff leave --text "Half done: auth. Next: tests." # a note the next session reads once
stashpad handoff claim # take it (a person's notes first); listing never takes one
stashpad feedback db-choice --signal stale # helpful, stale or wrong; wrong also asks for it to end
stashpad lint # what deserves a look; changes nothingThe command line, the MCP server and the review page can run at the same time: every write takes a short lock on the store.
Writes from agents, tools and the web wait in review:
stashpad review
stashpad accept <id>
stashpad reject <id> --reason "not verified"
stashpad auditUse it from an MCP client
{
"mcpServers": {
"stashpad": {
"command": "node",
"args": ["/path/to/stashpad/bin/stashpad.mjs", "mcp", "--dir", "/path/to/your/memories"]
}
}
}Eight tools: stashpad_search, stashpad_get, stashpad_recent, stashpad_about, stashpad_save, stashpad_forget, stashpad_handoff, stashpad_feedback.
Check it, import into it
stashpad eval # 40 notes, 33 queries (English and Dutch), safety checks; no language model is called. Paraphrased questions are measured too (about 2 of 3 found): word search misses some rewordings, and that is reported openly.
stashpad import notes.jsonl # queue memories from an export; they wait for review
stashpad export --out memories.jsonl # back up current memories as JSON Lines (--all adds ended ones)
stashpad save <id> --kind fact --source-type user --source-file notes.txt --text "..." # keeps a copy of the raw sourcestashpad review also shows when a waiting memory may conflict with a current one, and whether accepting it would end that one.
Review in a page
stashpad ui # opens http://127.0.0.1:4317/ to review, search and read the audit log
stashpad ui --open # the same, and opens the page in your browserOnly this computer can reach the page. It is a small local page with no outside resources. See the decision.
Imports come in as JSON Lines (id, kind, text, optional valid_from, source_ref) or as plain text, one fact per paragraph.
Principles
Plain files first. The files are the source of truth.
Nothing from an agent, tool or web page is stored until a person accepts it.
Secrets are refused at write time (keys, tokens, JWTs, Bearer tokens, passwords in connection strings).
Invisible characters are refused, and look-alike or split-up words cannot hide an instruction or a secret.
Instruction-like text (English and Dutch) is flagged for the reviewer.
A gatekeeper refuses agent notes that are too short or near-copies of an existing or waiting memory, and logs the refusal in the audit log. Notes a person writes are never blocked.
Limits: 4000 characters per memory, 200 writes waiting for review.
Recalled text is labelled as data, not instructions.
Docs
Third-party notices. Code is ported with
npm run port, which refuses any license except MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause and ISC.
License
MIT. See LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Universal memory for AI agents and tools. Save, organize and search context anywhere.
- memnodeOAuthdev.memnode
Persistent, inspectable memory for AI agents with lineage, correction, and a hosted MCP endpoint.
Persistent memory for AI agents. EU-hosted, privacy-first, hybrid recall, contradiction detection.
Persistent memory and knowledge graphs for AI agents. Hybrid search, context checkpoints, and more.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides AI agents with persistent, searchable memory that survives across conversations using semantic search, temporal versioning, and smart organization. Enables long-term context retention and cross-session continuity for AI assistants.14-
- AlicenseNot gradedqualityBmaintenanceProvides persistent long-term memory, knowledge base, and audit trail for AI agents, with intelligent recall, salience tracking, and CJK-aware context management.3MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to track session lifecycles, persist context notes and transcripts, and manage a human-gated memory-promotion pipeline with an append-only audit trail.1 npm1MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to search and read Markdown notes by keyword, meaning and links, with cited recall and honest no-match results. It also supports guarded, evidence-checked memory writes with receipts, conflict handling and lifecycle-aware filtering.MIT