Sharpwave
Sharpwave is an MCP server providing AI agents with persistent long-term memory using a graph-based system with forgetting curves, spaced repetition, consolidation, and hybrid retrieval.
Store memories (
brain_write) with types (identity, semantic, episodic, pattern, skill, goal, emotion, procedural, schema), importance scores, and emotional weight. New memories are auto-queued for embedding and auto-linking.Search and recall (
brain_query) using hybrid full-text search, vector similarity (optional), and graph spreading activation, with results ranked by retrievability and salience. Filter by memory type.Link memories (
brain_link) with typed directional edges (e.g.,caused_by,supports,contradicts,supersedes,instance_of,drives) to build a knowledge graph.Replace outdated memories (
brain_supersede) to supersede stale nodes with updated content, preserving temporal integrity by closing old edges and writing asupersedeslink.Inspect memory details (
brain_expand) to view full content, FSRS spaced-repetition metrics, encoding context, and source episodes.Review memories (
brain_review) using FSRS-6 spaced repetition based on recall quality (0–5 scale), updating stability, retrievability, and calibration.Delete memories (
brain_forget) with safe checks that refuse deletion of nodes with active edges unless forced.Explore connections (
brain_edges) to retrieve all active incoming and outgoing edges for a node.Search episode history (
brain_history) by keyword with optional time-range filtering.Monitor brain statistics (
brain_stats) including node/edge/episode counts, neuromodulator state, consolidation status, and embedding coverage.Consolidate and synthesize memories automatically in the background, promoting patterns, synthesizing schemas, and downscaling noise (generative consolidation requires an LLM).
Isolate agent memories via
SHARPWAVE_AGENT_IDfor different agents or projects.Configurable persistence using a local SQLite database, a configurable data directory, and optional remote embedding providers or local Ollama embeddings.
Receive update notifications about new Sharpwave versions (can be disabled).
Provides local embedding generation for semantic similarity searches using models like qwen3-embedding.
Click on "Install 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., "@Sharpwaveremember that I like rainy days"
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.
Sharpwave
Long-term memory for AI agents. An MCP server that remembers across sessions, forgets what stops mattering, and consolidates the rest.
npx -y sharpwaveWorks with Claude Code, Claude Desktop, Cursor, and any other MCP client.
The problem
Your agent forgets everything the moment a session ends. The usual fix is to dump conversation history into a vector store and retrieve the nearest chunks — which works until it doesn't:
It never forgets. Every note lives forever at equal weight, so a throwaway remark from March competes with something that actually matters.
It has no structure. A pile of embeddings can tell you what's similar. It can't tell you what caused what, or that one fact replaced another.
Recall degrades as it grows. More memories means more near-matches, and precision falls off exactly when the memory becomes worth having.
Human memory doesn't work that way. It decays on a curve, strengthens what gets used, consolidates related things into concepts, and lets the rest fade. Sharpwave models that.
The name comes from sharp-wave ripples — the hippocampal events that replay and consolidate memories during rest. That's the mechanism this is built around, not a metaphor bolted on afterward.
Related MCP server: cell-mem
What makes it different
A real forgetting curve. Every memory carries FSRS-6 stability and retrievability. Unused memories decay on a power-law curve and drop out of recall; reviewed ones strengthen. Importance and emotional weight scale how durable a memory starts out.
Consolidation, not just storage. A background pass replays recent episodes, promotes recurring patterns into durable semantic nodes, synthesizes clusters into higher-level schemas, and downscales the noise — modeled on slow-wave and REM sleep.
A graph, not a bag. Memories connect through typed edges — caused_by, supports, contradicts, supersedes, instance_of and more. Retrieval spreads activation across those edges, so recalling one thing surfaces what's genuinely related, not merely similar.
Memories can be replaced. brain_supersede closes out a stale memory and links the replacement, so the graph keeps its temporal integrity instead of accumulating contradictions.
Hybrid retrieval. Full-text search fused with vector similarity via reciprocal rank fusion, then spread across the graph. Vector search is optional — full-text and graph retrieval work with no embedding provider at all.
Install
Claude Code
claude mcp add sharpwave -- npx -y sharpwaveClaude Desktop / Cursor
Add to your MCP config (claude_desktop_config.json, or Cursor's mcp.json):
{
"mcpServers": {
"sharpwave": {
"command": "npx",
"args": ["-y", "sharpwave"]
}
}
}That's the whole setup. Memory lands in ~/.sharpwave/ as a SQLite database. Nothing leaves your machine unless you configure a remote embedding provider.
Tools
Tool | What it does |
| Search and recall memories using hybrid FTS + vector + spreading activation. Returns ranked nodes with retrievability and salience scores. |
| Store a new memory node. Automatically queues for embedding and PRISM/NEXUS auto-linking. |
| Create a typed edge between two existing nodes. |
| Replace an outdated node with updated content. Closes old edges, writes a supersedes edge, preserving the memory graph's temporal integrity. |
| Return brain statistics: node/edge/episode counts, neuromodulator state, consolidation status, embedding coverage. |
| Search episode history (raw conversation turns) by keyword. |
| Get full detail for a specific node: content, FSRS metrics, encoding context, and source episodes. |
| Apply an FSRS-6 spaced-repetition review to a node. Updates stability, retrievability, and SIGMA calibration. |
| Physically delete a node from the brain. Refuses to delete nodes with active edges unless |
| Get all active incoming and outgoing edges for a node. |
Memory types
Every node is typed, and the type affects how it's consolidated and retrieved:
identity · semantic · episodic · pattern · skill · goal · emotion · procedural · schema
Configuration
All optional. Sharpwave runs with zero configuration.
Variable | Default | Purpose |
|
| Where the database lives |
| — | Full path to a specific database file, overriding |
|
| Namespace for separate, isolated memories |
| — | e.g. |
|
| Local embedding endpoint |
| — | Enables remote embeddings and generative consolidation |
| — | Set to disable the update check entirely |
Update notifications
Once a day, Sharpwave asks the npm registry for its own latest version number and prints a single line to stderr if you are behind. It sends no identifiers and uploads nothing, runs after the server is already serving, and stays silent on failure — offline, blocked, or slow all resolve to no output.
To turn it off, set SHARPWAVE_NO_UPDATE_CHECK=1. It is also off automatically
when CI or NO_UPDATE_NOTIFIER is set. With any of those, no request is made
at all.
Enabling vector search
Full-text and graph retrieval work out of the box. Semantic similarity needs an embedding provider — the local option keeps everything on your machine:
ollama pull qwen3-embedding:0.6b{
"mcpServers": {
"sharpwave": {
"command": "npx",
"args": ["-y", "sharpwave"],
"env": {
"SHARPWAVE_EMBEDDING_MODEL": "ollama/qwen3-embedding:0.6b"
}
}
}
}Multiple isolated memories — one per project, say — are just separate SHARPWAVE_AGENT_ID values.
Requirements
Node.js 22 or newer
macOS, Linux, or Windows (x64 and arm64; prebuilt native binaries, no compiler needed)
How retrieval works
Seed — full-text search over labels and content. Exact phrase first, then prefix-matched terms.
Fuse — if embeddings are available, vector search runs in parallel and the two rankings merge via reciprocal rank fusion. A 2-second cap means a slow or missing embedding provider degrades to full-text instead of hanging.
Spread — activation propagates across graph edges with lateral inhibition, so strongly-related memories surface and weak associations don't crowd the results.
Rank — final ordering weighs activation, salience, and FSRS retrievability, so a memory that's decayed past usefulness stays out of the way.
Touch — retrieved memories are marked as accessed, which strengthens them. Recall is itself a form of review.
Limitations
Worth knowing before you install:
Generative consolidation needs an LLM. REM-style schema synthesis and contradiction detection call OpenRouter. Without
OPENROUTER_API_KEYthe deterministic consolidation passes still run, but the generative ones are skipped.Semantic similarity needs embeddings. Without a provider you get full-text plus graph retrieval — good, but not synonym-aware.
Single-writer. SQLite with WAL. One server process per database; pointing two at the same file is not supported.
Consolidation is time-based. Memory quality improves as passes accumulate. A brand-new database is a plain store until it has history to work with.
License
MIT — see LICENSE.
Built by Enlightened Republic.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
Alicense-qualityAmaintenanceMCP server providing cognitive memory tools (remember, recall, think, etc.) for AI agents, enabling forgetting, consolidation, and contradiction detection.Last updated168AGPL 3.0- Alicense-qualityBmaintenanceAn MCP server that provides AI agents with persistent, multi-layered memory inspired by the human brain, including consolidation, self-reflection, and generative replay.Last updated1MIT
- AlicenseAqualityDmaintenanceMCP server for long-term agent memory, providing persistent memory, searchable knowledge, and evolving identity for AI agents.Last updated53Apache 2.0
- Flicense-qualityBmaintenanceMCP server that gives AI agents and teams persistent, shared memory using a knowledge graph with vector embeddings, automatic consolidation of related facts, and hybrid search.Last updated2
Related MCP Connectors
Cloud-hosted MCP server for durable AI memory
Shared long-term memory vault for AI agents with 20 MCP tools.
User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/EnlightenedRepublic/sharpwave'
If you have feedback or need assistance with the MCP directory API, please join our Discord server