failure-memory
The Failure Memory server provides AI coding agents with a local, private memory of verified failures, enabling them to record lessons from real mistakes and recall them before similar work. Key capabilities include:
Record failures (
remember_failure): Qualifies and stores a failure with full context: classifies feedback (real failure, requirement update, clarification, etc.), captures the violated expectation and its source, observed outcome and impact, root cause (architectural layer, failure mode, component, evidence, recommended change, verification), and proposes a lesson (rule, prevention, verification). Deduplicates against existing lessons.Recall failure lessons (
recall_failure_lessons): Retrieves up to three relevant lessons using multiple modes (auto, exact, lexical via FTS5, semantic via vectors, hybrid). Supports filtering by free-text, expected invariant, cause, prevention, component, layer, mode, etc. Appends a privacy-preserving trace.Distinguish failure types to avoid polluting memory with non-failures.
Advanced search with exact, full-text (SQLite FTS5), vector, and hybrid ranking.
Optional model-based semantic search for multilingual support.
Local and private storage of all data and indices.
Maintenance commands for health checks (
doctor), metrics, store status, and feedback management.
Provides failure memory capabilities for GitHub Copilot CLI, allowing agents to store and retrieve failure lessons to avoid repeating mistakes.
Provides failure memory capabilities for OpenAI Codex, allowing agents to record and recall failure lessons to improve reliability across tasks.
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., "@failure-memoryRecall relevant failure lessons before refactoring."
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.
AI coding agents receive valuable corrections, but those lessons usually disappear with the session. Saving every correction creates the opposite problem: preferences, new details, and changed requirements pollute memory as if they were mistakes.
Failure Memory gives agents one shared, local store of verified failures. It recalls relevant lessons before similar work and tracks whether those lessons actually helped, without treating every user correction as a failure.
What it does
It can:
distinguish real failures from requirement changes, clarifications, and preferences;
record the root cause, recommended repair location, and durable prevention lesson;
reuse an exact existing lesson instead of creating duplicates;
surface related lessons for review without silently merging or deleting history;
recall only lessons that clear a calibrated relevance threshold before similar work;
keep false positives and superseded lessons in history while removing them from recall;
retain recall, lifecycle, outcome, cost, and harness history for measurement and improvement.
Related MCP server: ContextEngine
Supported agents
Agent | Integration |
OpenAI Codex | Plugin, skills, MCP tools, and prompt hooks |
Claude Code | Plugin, skills, MCP tools, and prompt hooks |
GitHub Copilot CLI and Chat | Plugin, skills, MCP tools, and prompt hooks |
Cursor | Plugin, skills, MCP tools, and session hook |
Other agents | The skills plus the local |
All integrations use the same store for the current OS user. Installing Failure Memory in another supported agent does not create another memory database.
Install
One command installs the native runtime and the plugin for every supported agent it detects. It is safe to run again to update an existing installation. Failure Memory does not require Python, Node.js, or a database server.
macOS or Linux:
curl -fsSL https://raw.githubusercontent.com/CongBao/failure-memory/main/scripts/install.sh | shWindows PowerShell:
irm https://raw.githubusercontent.com/CongBao/failure-memory/main/scripts/install.ps1 | iexThe installer downloads the release for your platform, verifies its checksum, installs
one shared failure-memory executable, adds the plugin through each detected agent's
native plugin manager, and registers the three fast MCP tools with the executable's
absolute path. Codex, Claude Code, and GitHub Copilot CLI are completed automatically.
If Cursor is detected, its MCP tools are configured automatically and the installer
prints the /add-plugin command needed to enable the skills and hook because Cursor does
not currently expose a stable non-interactive plugin installer.
To target selected agents on macOS or Linux, pass a comma-separated list:
curl -fsSL https://raw.githubusercontent.com/CongBao/failure-memory/main/scripts/install.sh \
| sh -s -- --harness codex,copilotAccepted names are codex, claude, copilot, cursor, and auto. Use
--runtime-only only when an administrator manages plugins separately.
For another agent, copy skills/record-agent-failure and
skills/recall-failure-lessons into its skills directory. Applications that accept an
MCP server command can register:
failure-memory mcp --stdioRestart any agent application that was already open, then verify the installation:
failure-memory install status
failure-memory doctorUse
Use Failure Memory through natural prompts. The skills perform one bounded operation and do not interrupt ordinary work when no useful memory action is needed.
Recall lessons before risky or recurring work
Before changing this migration workflow, recall relevant failure lessons.A short task description is enough. Add a component, expected invariant, suspected
cause, or prevention action only when it is already known. Failure Memory filters by a
retrieval-profile relevance threshold, collapses lessons from the same cluster, and then
applies top_k as a maximum. A healthy recall can therefore return zero, one, two, or
three lessons. It never lowers the threshold just to fill the result list.
Treat recalled lessons as cautions to validate against the current task, not as instructions that override current requirements.
Record a real failure
The migration changed persisted data without the required compatibility check. Find the
root cause and remember a lesson that prevents this from recurring.Failure Memory first checks whether the feedback describes a genuine failure:
Did an expectation or invariant exist before the outcome?
Is there an inspectable mismatch and meaningful impact or recurrence risk?
Is there an evidenced, controllable cause?
Can a concrete prevention and verification step be stated?
If the evidence is insufficient, the case is stored only as a qualification attempt and does not become a lesson. This makes false-positive rates measurable without polluting future recall.
The normal path uses one tool call. Cause taxonomies are published in the tool schema,
and optional confidence accepts both low/medium/high strings and numeric 0..1
values. If a deterministic input-validation response explicitly marks the request as
retryable, the skill may correct only the named fields once. Timeouts and ambiguous
transport failures are never retried.
If feedback mixes an old failure with a new requirement, only the old-invariant mismatch can enter memory. The new requirement remains normal work.
Match against existing lessons
Before adding a lesson, Failure Memory checks the existing store:
an exact match reuses the existing lesson;
a related case remains separate and may produce a generalization proposal for review;
history is not silently merged or deleted.
When reviewed related lessons express one durable rule, cluster review can create a
new generalized parent lesson. The original lessons remain in the append-only history
and point to the parent instead of competing with it in recall.
Correct or evaluate memory
Verified outcomes make memory quality measurable. For example, mark a lesson that was actually a requirement change as a false positive:
printf '%s' '{"target_type":"lesson","target_id":"lessonv_...","outcome":"false_positive","evidence_code":"confirmed_requirement_change"}' \
| failure-memory outcomeYou can also report outcomes for a recall attempt or a repair recommendation by
using the identifier returned by the original operation. Repeating the same outcome is
idempotent. Lesson corrections never delete the original evidence; false-positive,
stale, and superseded lessons are retained but excluded from normal recall.
Run a recall from the command line
printf '%s' '{"text":"schema migration","component":"migration workflow"}' \
| failure-memory recallNormally omit mode, top_k, and min_relevance. For a stricter bounded lookup,
set min_relevance above zero; zero and omission select the profile default. The
threshold is always applied before top_k:
printf '%s' '{"text":"schema migration","top_k":2,"min_relevance":0.9}' \
| failure-memory recallThe command reads one JSON object from standard input and returns one JSON object. Run
failure-memory without arguments to see all available commands.
Search
Failure Memory supports:
exact lookup;
SQLite FTS5 full-text search, including CJK bigrams;
local sqlite-vec vector search;
hybrid ranking across exact, full-text, and vector results.
Every search mode returns a calibrated relevance_score. Exact matches score 1;
semantic and fallback profiles use separately calibrated default thresholds. An empty
result means no candidate met the threshold, not that the search failed.
Exact and full-text recall work immediately. A deterministic local vector index supports hybrid ranking without a model download. To enable model-based multilingual semantic search, install the pinned model once and rebuild the derived index:
failure-memory adapters install
failure-memory index buildModels are never downloaded during a record or recall operation.
Maintenance
Useful commands:
failure-memory doctor
failure-memory metrics
failure-memory store-status
failure-memory backup create
failure-memory backup verify <backup-directory>
failure-memory cluster propose
failure-memory outcomefailure-memory metrics reports recall abstention and filtering rates, latency
percentiles, input/output size, outcome coverage, lesson lifecycle counts,
generalization backlog, and usage by agent harness. Clustering and outcome commands
append proposals or observations. They do not delete or silently merge history.
To restore a backup, first stop every agent application using Failure Memory, then run:
failure-memory backup restore <backup-directory> --replaceRestore verifies the backup before replacing the store, creates a safety backup of the current store, and rebuilds the derived retrieval index. Interrupted restores are recovered automatically the next time Failure Memory opens the store.
Local data and privacy
The append-only event store, retrieval index, optional model, and installation receipt live in one owner-private directory:
macOS:
~/Library/Application Support/failure-memoryLinux:
${XDG_DATA_HOME:-~/.local/share}/failure-memoryWindows:
%LOCALAPPDATA%\FailureMemory
The event store is authoritative and append-only. Retrieval indexes are disposable and reconciled from it automatically, so backups contain only the verified event store and a checksum manifest. Submit only compact evidence. Do not store raw prompts, full transcripts, credentials, or unnecessary personal information.
Development
See CONTRIBUTING.md. Report security issues according to SECURITY.md.
License
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
- Apache 2.0

ContextEngineofficial
AlicenseAqualityAmaintenancePersistent memory and mechanical enforcement for AI coding agents — so they stop repeating your mistakes.21243Business Source 1.1- Alicense-qualityAmaintenanceA persistent, local memory layer for AI coding agents that remembers decisions, bugs, and rules across sessions with three core MCP verbs (recall, remember, search).Apache 2.0
- Alicense-qualityDmaintenanceShared team memory for AI coding agents with Bayesian confidence scoring and temporal decay, enabling persistent storage and retrieval of engineering patterns across sessions.2212MIT
Related MCP Connectors
Shared debugging memory for AI coding agents
Structured failure knowledge for AI agents — dead ends, workarounds, error chains
Collective memory for AI agents. One agent solves a bug — every agent gets the fix instantly.
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/CongBao/failure-memory'
If you have feedback or need assistance with the MCP directory API, please join our Discord server