MemLayer
Agent learning infrastructure that captures experience, surfaces what works, and builds reusable capabilities. MCP-native with 94.4% LongMemEval accuracy.
README
MemLayer Plugins
A self-learning memory system for Claude Code, the Gemini CLI, and Codex CLI that enables persistent learning across task executions. Must be used with MemLayer.
Overview
MemLayer provides your AI agents with episodic memory capabilities, allowing them to:
- Log task executions as episodes with outcomes, errors, and context
- Extract patterns from past experiences, especially failures
- Promote proven strategies into reusable skills
- Retrieve relevant context before starting new tasks
- Learn from mistakes to avoid repeating them
Installation
One-Command Installers (curl)
Use these from the target project directory.
Gemini CLI
curl -fsSL https://raw.githubusercontent.com/shafty023/MemLayer-Plugin/main/install-gemini.sh | bash
This installs the Gemini plugin and configures memlayer MCP in .gemini/settings.json.
Then run /mcp auth memlayer in Gemini to complete MCP login.
By default, installer checkout ref is main (override with MEMLAYER_REPO_REF).
Claude Code
curl -fsSL https://raw.githubusercontent.com/shafty023/MemLayer-Plugin/main/install-claude.sh | bash
This adds the plugin marketplace, installs memory@ProcIQ, and configures the memlayer MCP server in Claude.
Codex CLI
curl -fsSL https://raw.githubusercontent.com/shafty023/MemLayer-Plugin/main/install-codex.sh | bash
This installs the memory-usage skill into ${CODEX_HOME:-~/.codex}/skills, updates the current repo's AGENTS.md, configures MCP, and prints the codex mcp login memlayer step for you to run explicitly.
By default, installer checkout ref is main (override with MEMLAYER_REPO_REF).
Claude Code
-
Add the marketplace to Claude Code:
/plugin marketplace add shafty023/MemLayer-Plugin -
Install the memory plugin:
/plugin install memory@ProcIQ -
Configure the prociq MCP server with your API key (see prociq.ai for setup)
For more details on plugin installation, see the official documentation.
Gemini CLI
See the Gemini Plugin Documentation for installation and setup instructions.
Codex CLI
See the Codex Plugin Documentation for installation and setup instructions.
Project Structure
MemLayer-Plugin/
├── .claude-plugin/ # Claude marketplace registration
├── codex/ # Codex CLI installer and policy template
│ ├── setup.sh
│ └── templates/
├── gemini/ # Gemini CLI installer and manifest
│ ├── manifest.json
│ └── setup.sh
└── plugins/
└── memory/ # Claude Code plugin and shared skill source
├── .claude-plugin/
│ └── plugin.json # Plugin manifest
├── commands/ # CLI commands
│ ├── audit.md # /memory:audit - inspect memory state
│ ├── teach.md # /memory:teach - inject knowledge manually
│ └── forget.md # /memory:forget - remove episodes
├── hooks/ # Integration hooks
│ ├── hooks.json
│ └── scripts/
│ ├── session-start.sh
│ └── user-prompt.sh
└── skills/
└── memory-usage/
└── SKILL.md # Canonical memory system usage guide
Commands
/memory:audit [episodes|patterns|skills]
Inspect the current state of the memory system. Shows statistics, recent episodes, high-confidence patterns, and skill inventory.
/memory:teach <lesson>
Manually inject knowledge into the memory system without task execution.
/memory:teach When using Detox with animations, always add explicit waitFor timeouts of at least 5000ms
/memory:forget <episode-id|query>
Remove specific episodes from memory. Can search by query or delete by ID.
Core Concepts
Episodes
Records of task execution containing:
- Task goal and approach taken
- Outcome (success/partial/failure)
- Error details if applicable
- Tools used and file patterns involved
- Importance score (0.0–1.0)
Patterns
Derived learnings extracted from multiple episodes:
- Root cause analysis
- Recommended strategy
- Trigger conditions (errors, keywords, tools)
Skills
Mature, high-confidence patterns promoted to reusable knowledge that gets surfaced when relevant tasks arise.
Notes
Persistent freeform knowledge entries that never decay (unlike episodes):
- Recording important discoveries that shouldn't fade
- Documenting project-specific knowledge
- Manual teaching via
/memory:teachcommand - Reference material that should always be findable
Consolidation
Automatic processing that:
- Clusters similar episodes
- Extracts patterns from failures
- Decays old/low-value episodes
- Promotes patterns to skills
Memory Tools (MCP)
Episode Tools
| Tool | Purpose |
|---|---|
prociq_log_episode |
Record task execution (async, non-blocking) |
prociq_retrieve_context |
Get relevant past experiences before a task |
prociq_search_episodes |
Search with filters (outcome, error_type, project) |
prociq_get_episode |
Retrieve full episode by ID |
prociq_search_episodes_full |
Semantic search returning full episodes |
prociq_forget_episodes |
Delete episodes permanently |
prociq_archive_episode |
Soft-delete episodes (reversible) |
Note Tools
| Tool | Purpose |
|---|---|
prociq_log_note |
Store persistent freeform knowledge |
prociq_update_note |
Modify existing note |
prociq_get_note |
Retrieve note by ID |
prociq_search_notes |
Search notes by content or tags |
prociq_delete_note |
Remove note from storage |
Pattern & Skill Tools
| Tool | Purpose |
|---|---|
prociq_search_patterns |
Search patterns with filters |
prociq_list_skills |
List all available skills |
prociq_get_skill_content |
Retrieve skill markdown by ID |
System Tools
| Tool | Purpose |
|---|---|
prociq_get_memory_stats |
View memory health and statistics |
prociq_trigger_consolidation |
Manually run memory maintenance |
Best Practices
When to Log
Do log:
- Failures (always, before retrying)
- Non-obvious solutions requiring investigation
- First-time task types
- Recurring problem categories (config, debugging, integration)
Don't log:
- Trivial fixes (typos, missing imports)
- Routine CRUD operations
- Pure research/exploration tasks
Importance Scoring
| Scenario | Score |
|---|---|
| Normal success | 0.2–0.3 |
| First-time task type | 0.5–0.6 |
| Learned something new | 0.7–0.8 |
| Critical discovery/failure | 0.9–1.0 |
Critical Rule: Log Failures First
Always log a failure before retrying. This captures the exact error context that would otherwise be lost after a successful retry.
How Hooks Work
- SessionStart — Reminds Claude about available memory tools
- UserPromptSubmit — Injects memory workflow into TodoWrite (check memory first, log outcome last)
- Stop — Reminds Claude to log failures and suggests reflection
License
MIT License — see LICENSE for details.
Author
Daniel Ochoa (@shafty023)
Links
- prociq.ai — Memory system backend
- Claude Code Documentation
- Gemini CLI Documentation
- Codex CLI Documentation
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.