hypermnesia-mcp
v4.23.1Cortex — persistent memory for Claude Code that remembers across sessions automatically. Install and forget. Scientific retrieval backed by 97 published references. (Renamed from the 'cortex' plugin to match the PyPI/MCP-registry identity.)
By Clement DeustLicense: MIT73 GitHub starsUpdated yesterday
Directory evidence
- Runtimes
- Claude Code
- Parsed components
- 14 skill or MCP entries
- Source updated
- Sep 22, 2026
- Manifest status
- Canonical path parsed
The directory validates manifest shape and source location. It does not execute the plugin or provide a security endorsement. Review the indexing methodology →
Install hypermnesia-mcp for Claude Code
claude plugin marketplace add IchenDEV/agent-plugin-mkt
claude plugin marketplace update agent-plugin-marketplace
claude plugin install hypermnesia-mcp@agent-plugin-marketplacePaste and run these commands in a terminal with Claude Code. They add and refresh the PluginsMP catalog, then install this plugin.
The installer fetches third-party code from the source repository shown on this page. This directory validates manifest structure and source location, but does not perform a security audit; review the manifest, components, and source before installing.
Get the source manually
git clone https://github.com/cdeust/CortexClone the source repository, then follow its setup instructions to add the plugin to a compatible client. The repository root is the plugin root.
Plugin files
├── .claude-plugin/plugin.json├── skills/cortex-automate/SKILL.md├── skills/cortex-consolidate/SKILL.md├── skills/cortex-debug-memory/SKILL.md├── skills/cortex-explore-memory/SKILL.md├── skills/cortex-import/SKILL.md├── skills/cortex-navigate-knowledge/SKILL.md├── skills/cortex-profile/SKILL.md├── skills/cortex-recall/SKILL.md├── skills/cortex-recall-global/SKILL.md├── skills/cortex-remember/SKILL.md├── skills/cortex-remember-global/SKILL.md├── skills/cortex-setup-project/SKILL.md├── skills/cortex-wiki-author/SKILL.md└── .mcp.json
Included Skills13
Set up automation — prospective memory triggers, neuro-symbolic rules, and CLAUDE.md sync. Use when the user says 'remind me when', 'trigger when', 'create a rule', 'auto-remember', 'sync to CLAUDE.md', 'push insights', 'set up trigger', 'when I open this file', 'when this keyword appears', or when you want to automate memory behavior based on conditions.
Run memory maintenance — decay old memories, compress stale content, consolidate episodic memories into semantic knowledge, and run sleep-like replay. Use when the user says 'clean up memories', 'consolidate', 'run maintenance', 'compress old memories', 'memory cleanup', or periodically to keep the memory system healthy. Also use after importing many memories or at the end of a long session.
Debug and fix memory system issues — validate memories, rate quality, manage protection, forget bad memories, and restore from checkpoints. Use when the user says 'fix memory', 'bad memory', 'wrong memory', 'delete this', 'protect this', 'this memory is wrong', 'memory quality', 'rate this memory', 'restore checkpoint', 'undo', or when memories are returning incorrect or stale results.
Explore the memory system's state, find gaps in knowledge, assess coverage, and get diagnostic information. Use when the user asks 'what does my memory look like', 'show me memory stats', 'what am I missing', 'how good is my knowledge', 'memory health', 'show coverage', 'find gaps', 'what topics are weak', or when you need to understand the state of stored knowledge before a task.
Import memories from other AI memory systems into Cortex. Supports claude-mem (SQLite), Claude Desktop sessions, ChatGPT web export (JSON), Gemini Takeout (JSON), Cursor conversations, and Claude Code JSONL. Use when the user says 'import from claude-mem', 'migrate memories', 'import ChatGPT history', 'import from Gemini', 'transfer memories', or when Cortex detects another memory system is installed.
Navigate the knowledge graph — trace entity relationships, explore causal chains, drill into memory clusters, and traverse co-access paths. Use when the user asks 'how are these related', 'what connects X to Y', 'show me the knowledge graph', 'trace the relationship', 'what caused X', 'drill down into', 'explore connections', or when you need to understand the web of relationships between concepts, entities, and memories.
View and manage your cognitive profile — how you think, work patterns, blind spots, and cross-domain connections. Use when the user says 'show my profile', 'how do I work', 'what are my patterns', 'cognitive style', 'blind spots', 'methodology', or at the start of a session to load context. Also use 'rebuild profile' to rescan all session history, or 'list domains' to see all tracked project domains.
Search and retrieve memories from Cortex persistent memory. Use when the user asks 'what did we decide about X', 'do you remember', 'what was the fix for', 'find that thing about', 'search memories', 'what do we know about', 'have we seen this before', or when you need context about past decisions, patterns, bugs, or architecture choices. Also use proactively when working on something that likely has relevant historical context.
Search and retrieve global memories — knowledge that applies across all projects. Use when the user asks 'what are our coding standards', 'what conventions do we follow', 'what's our infrastructure setup', 'do we have a rule about', 'what applies to all projects', 'shared knowledge', 'global rules', or when you need cross-project context like architecture decisions, server configs, or team policies.
Store important decisions, patterns, errors, lessons, and context into Cortex persistent memory. Use when the user says 'remember this', 'save this', 'store this for later', 'note this down', 'don't forget', 'this is important', 'bookmark this', or when a significant decision, bug fix, architecture choice, or lesson learned occurs during a session. Also use after resolving tricky bugs, making technology choices, or discovering important patterns.
Store a global memory that is visible across all projects. Use when the user shares architecture rules, coding conventions, infrastructure facts, security policies, team agreements, or any knowledge that applies beyond a single project. Triggers on 'remember this everywhere', 'this applies to all projects', 'global rule', 'shared convention', 'infrastructure note', 'cross-project', or when the content is clearly universal (clean architecture, SOLID, deployment configs, server addresses).
Bootstrap Cortex for a new project or import existing session history. Use when the user says 'set up Cortex', 'seed this project', 'import my history', 'backfill memories', 'bootstrap memory', 'initialize Cortex for this project', or when starting to use Cortex on an existing codebase that already has Claude Code conversation history.
Author first-class wiki pages (ADRs, specs, file docs, notes) that live alongside Cortex memory. Use when the user says 'this is an ADR', 'document this decision', 'write an ADR', 'add a spec', 'spec this out', 'document this file', 'add a note about', 'link these pages', 'bookmark this as a spec', or when finalizing a design decision that should persist as a human-readable document.
MCP servers1
- command
- python3
- args
- ${CLAUDE_PLUGIN_ROOT}/scripts/launcher.py mcp_server
- env.DATABASE_URL
- ${user_config.database_url}
- env.CORTEX_RUNTIME
- env.CORTEX_MEMORY_AP_ENABLED
- 1
MCP configuration uses runtime-provided plugin path placeholders such as ${PLUGIN_ROOT} or ${CLAUDE_PLUGIN_ROOT}. Review the manifest for the runtime-specific expansion rules.
Plugin manifests1
{
"name": "hypermnesia-mcp",
"description": "Cortex — persistent memory for Claude Code that remembers across sessions automatically. Install and forget. Scientific retrieval backed by 97 published references. (Renamed from the 'cortex' plugin to match the PyPI/MCP-registry identity.)",
"version": "4.23.1",
"author": {
"name": "Clement Deust",
"email": "[email protected]"
},
"homepage": "https://github.com/cdeust/Cortex",
"repository": "https://github.com/cdeust/Cortex",
"license": "MIT",
"keywords": [
"memory",
"persistent",
"mcp",
"claude-code",
"neuroscience",
"agents"
],
"agents": [
"./claude-agents/cortex-wiki-groomer.md"
],
"userConfig": {
"database_url": {
"type": "string",
"title": "Cortex database URL (optional — PostgreSQL only)",
"description": "Leave empty for the default zero-config SQLite store (~/.claude/methodology/memory.db). To use PostgreSQL instead, set a connection string (postgresql://[user[:pass]@]host[:port]/dbname) — a non-empty value here always wins over the SQLite default and is never silently downgraded. Your value persists across plugin updates.",
"default": ""
}
},
"mcpServers": {
"cortex": {
"command": "python3",
"args": [
"${CLAUDE_PLUGIN_ROOT}/scripts/launcher.py",
"mcp_server"
],
"env": {
"DATABASE_URL": "${user_config.database_url}",
"CORTEX_RUNTIME": "",
"CORTEX_MEMORY_AP_ENABLED": "1"
}
}
},
"postInstall": {
"command": "bash ${CLAUDE_PLUGIN_ROOT}/scripts/install-plugin.sh",
"message": "Installing Cortex (Python deps + zero-config SQLite memory; existing PostgreSQL installs are detected and kept). Upgrade anytime: bash <plugin>/scripts/install-plugin.sh --postgres"
},
"hooks": {
"PreToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "bash -c 'PY=$(command -v python3 || command -v python) && if [ -z \"${CLAUDE_PLUGIN_ROOT:-}\" ]; then echo \"cortex hook: CLAUDE_PLUGIN_ROOT is unset; refusing to guess the plugin root\" >&2; exit 1; fi; ROOT=\"$CLAUDE_PLUGIN_ROOT\" && \"$PY\" \"$ROOT/scripts/launcher.py\" mcp_server.hooks.decision_gate'"
},
{
"type": "command",
"command": "bash -c 'PY=$(command -v python3 || command -v python) && if [ -z \"${CLAUDE_PLUGIN_ROOT:-}\" ]; then echo \"cortex hook: CLAUDE_PLUGIN_ROOT is unset; refusing to guess the plugin root\" >&2; exit 1; fi; ROOT=\"$CLAUDE_PLUGIN_ROOT\" && \"$PY\" \"$ROOT/scripts/launcher.py\" mcp_server.hooks.no_deps_gate'"
}
]
}
],
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "bash -c 'PY=$(command -v python3 || command -v python) && if [ -z \"${CLAUDE_PLUGIN_ROOT:-}\" ]; then echo \"cortex hook: CLAUDE_PLUGIN_ROOT is unset; refusing to guess the plugin root\" >&2; exit 1; fi; ROOT=\"$CLAUDE_PLUGIN_ROOT\" && \"$PY\" \"$ROOT/scripts/launcher.py\" mcp_server.hooks.session_start'",
"timeout": 30
}
]
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "bash -c 'PY=$(command -v python3 || command -v python) && if [ -z \"${CLAUDE_PLUGIN_ROOT:-}\" ]; then echo \"cortex hook: CLAUDE_PLUGIN_ROOT is unset; refusing to guess the plugin root\" >&2; exit 1; fi; ROOT=\"$CLAUDE_PLUGIN_ROOT\" && \"$PY\" \"$ROOT/scripts/launcher.py\" mcp_server.hooks.auto_recall'",
"timeout": 5
}
]
}
],
"PostToolUse": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "bash -c 'PY=$(command -v python3 || command -v python) && if [ -z \"${CLAUDE_PLUGIN_ROOT:-}\" ]; then echo \"cortex hook: CLAUDE_PLUGIN_ROOT is unset; refusing to guess the plugin root\" >&2; exit 1; fi; ROOT=\"$CLAUDE_PLUGIN_ROOT\" && \"$PY\" \"$ROOT/scripts/launcher.py\" mcp_server.hooks.post_tool_capture'",
"timeout": 10
}
]
},
{
"matcher": "Edit|Write|Read",
"hooks": [
{
"type": "command",
"command": "bash -c 'PY=$(command -v python3 || command -v python) && if [ -z \"${CLAUDE_PLUGIN_ROOT:-}\" ]; then echo \"cortex hook: CLAUDE_PLUGIN_ROOT is unset; refusing to guess the plugin root\" >&2; exit 1; fi; ROOT=\"$CLAUDE_PLUGIN_ROOT\" && \"$PY\" \"$ROOT/scripts/launcher.py\" mcp_server.hooks.preemptive_context'",
"timeout": 5
}
]
},
{
"matcher": "Edit|Write|MultiEdit",
"hooks": [
{
"type": "command",
"command": "bash -c 'PY=$(command -v python3 || command -v python) && if [ -z \"${CLAUDE_PLUGIN_ROOT:-}\" ]; then echo \"cortex hook: CLAUDE_PLUGIN_ROOT is unset; refusing to guess the plugin root\" >&2; exit 1; fi; ROOT=\"$CLAUDE_PLUGIN_ROOT\" && \"$PY\" \"$ROOT/scripts/launcher.py\" mcp_server.hooks.pipeline_impact_bump'",
"timeout": 5
}
]
},
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "bash -c 'PY=$(command -v python3 || command -v python) && if [ -z \"${CLAUDE_PLUGIN_ROOT:-}\" ]; then echo \"cortex hook: CLAUDE_PLUGIN_ROOT is unset; refusing to guess the plugin root\" >&2; exit 1; fi; ROOT=\"$CLAUDE_PLUGIN_ROOT\" && \"$PY\" \"$ROOT/scripts/launcher.py\" mcp_server.hooks.post_commit_reindex'",
"timeout": 10
}
]
}
],
"SessionEnd": [
{
"hooks": [
{
"type": "command",
"command": "bash -c 'PY=$(command -v python3 || command -v python) && if [ -z \"${CLAUDE_PLUGIN_ROOT:-}\" ]; then echo \"cortex hook: CLAUDE_PLUGIN_ROOT is unset; refusing to guess the plugin root\" >&2; exit 1; fi; ROOT=\"$CLAUDE_PLUGIN_ROOT\" && \"$PY\" \"$ROOT/scripts/launcher.py\" mcp_server.hooks.session_lifecycle'",
"timeout": 30
}
]
}
],
"Notification": [
{
"matcher": "compacted",
"hooks": [
{
"type": "command",
"command": "bash -c 'PY=$(command -v python3 || command -v python) && if [ -z \"${CLAUDE_PLUGIN_ROOT:-}\" ]; then echo \"cortex hook: CLAUDE_PLUGIN_ROOT is unset; refusing to guess the plugin root\" >&2; exit 1; fi; ROOT=\"$CLAUDE_PLUGIN_ROOT\" && \"$PY\" \"$ROOT/scripts/launcher.py\" mcp_server.hooks.compaction_checkpoint'",
"timeout": 10
}
]
}
],
"SubagentStart": [
{
"hooks": [
{
"type": "command",
"command": "bash -c 'PY=$(command -v python3 || command -v python) && if [ -z \"${CLAUDE_PLUGIN_ROOT:-}\" ]; then echo \"cortex hook: CLAUDE_PLUGIN_ROOT is unset; refusing to guess the plugin root\" >&2; exit 1; fi; ROOT=\"$CLAUDE_PLUGIN_ROOT\" && \"$PY\" \"$ROOT/scripts/launcher.py\" mcp_server.hooks.agent_briefing'",
"timeout": 5
}
]
}
]
}
}For maintainers
If you maintain this plugin, link to this source-backed listing from your README so users can review its manifest and indexed components.
[hypermnesia-mcp on Agent Plugins Marketplace](https://pluginsmp.com/plugins/hypermnesia-mcp)