plugins marketplace
← All plugins

claude-mem

v13.14.0

Memory compression system for Claude Code - persist context across sessions

CodexClaude Code1 MCP serverstdio

by Alex NewmanApache-2.090.2kupdated 3 hours ago

Source

git clone https://github.com/thedotmack/claude-mem

Clone the source, then follow the repository's marketplace instructions for your runtime. The repository root is the plugin root.

Layout

claude-mem/
├── .codex-plugin/plugin.json
├── .claude-plugin/plugin.json
└── .mcp.json

MCP servers1

mcp-searchstdio
command
node
args
-e const f=require('fs'),p=require('path'),o=require('os'),c=require('child_process');const h=o.homedir();const C=process.env.CLAUDE_CONFIG_DIR||p.join(h,'.claude');const E=process.env.CLAUDE_PLUGIN_ROOT||process.env.PLUGIN_ROOT||'';const d=process.cwd();const S=n=>{const q=n.split('-')[0].split('.');return[parseInt(q[0],10)||0,parseInt(q[1],10)||0,parseInt(q[2],10)||0]};const W=(a,b)=>{const x=S(a),y=S(b);return(y[0]-x[0])||(y[1]-x[1])||(y[2]-x[2])||((a.indexOf('-')<0?0:1)-(b.indexOf('-')<0?0:1))||(a<b?1:a>b?-1:0)};const L=x=>{try{return f.readdirSync(x).filter(n=>/^\d/.test(n)).map(n=>p.join(x,n)).filter(z=>{try{return f.statSync(z).isDirectory()&&!f.existsSync(p.join(z,'.orphaned_at'))}catch{return false}}).sort((a,b)=>W(p.basename(a),p.basename(b)))}catch{return[]}};const K=[E,p.join(d,"plugin"),d,...L(p.join(h,".codex/plugins/cache/claude-mem-local/claude-mem")),...L(p.join(h,".codex/plugins/cache/thedotmack/claude-mem")),...L(p.join(C,"plugins/cache/thedotmack/claude-mem")),p.join(C,"plugins/marketplaces/thedotmack/plugin")].filter(Boolean);let R=null;for(const k of K){const r=f.existsSync(p.join(k,'plugin','scripts'))?p.join(k,'plugin'):k;if(f.existsSync(p.join(r,'scripts',"mcp-server.cjs"))){R=r;break}}if(!R){process.stderr.write("claude-mem: mcp server not found\n");process.exit(1)}const ch=c.spawn(process.execPath,[p.join(R,'scripts',"mcp-server.cjs")],{stdio:'inherit',windowsHide:true});for(const s of ['SIGTERM','SIGINT','SIGHUP'])process.on(s,()=>{try{ch.kill(s)}catch{}});ch.on('exit',(code,sig)=>{if(sig){process.removeAllListeners(sig);try{process.kill(process.pid,sig)}catch{process.exit(1)}}else process.exit(code==null?0:code)})

Manifests2

.codex-plugin/plugin.json
{
  "name": "claude-mem",
  "version": "13.14.0",
  "description": "Memory compression system for Claude Code - persist context across sessions",
  "author": {
    "name": "Alex Newman",
    "url": "https://github.com/thedotmack"
  },
  "homepage": "https://github.com/thedotmack/claude-mem#readme",
  "repository": "https://github.com/thedotmack/claude-mem",
  "license": "Apache-2.0",
  "keywords": [
    "claude",
    "claude-code",
    "claude-agent-sdk",
    "mcp",
    "plugin",
    "memory",
    "compression",
    "knowledge-graph",
    "transcript",
    "typescript",
    "nodejs"
  ],
  "skills": "./plugin/skills/",
  "mcpServers": "./plugin/.mcp.json",
  "hooks": "./plugin/hooks/codex-hooks.json",
  "interface": {
    "displayName": "claude-mem",
    "shortDescription": "Persistent memory and context compression across coding sessions.",
    "longDescription": "claude-mem captures coding-session activity, compresses it into reusable observations, and injects relevant context back into future Claude Code and Codex-compatible sessions.",
    "developerName": "Alex Newman",
    "category": "Productivity",
    "capabilities": [
      "Interactive",
      "Write"
    ],
    "websiteURL": "https://github.com/thedotmack/claude-mem",
    "defaultPrompt": [
      "Find what I already learned about this codebase before I start a new task.",
      "Show recent observations related to the files I am editing right now.",
      "Summarize the last session and inject the most relevant context into this one."
    ],
    "brandColor": "#1F6FEB"
  }
}
.claude-plugin/plugin.json
{
  "name": "claude-mem",
  "version": "13.14.0",
  "description": "Memory compression system for Claude Code - persist context across sessions",
  "author": {
    "name": "Alex Newman"
  },
  "repository": "https://github.com/thedotmack/claude-mem",
  "license": "Apache-2.0",
  "keywords": [
    "claude",
    "claude-code",
    "claude-agent-sdk",
    "mcp",
    "plugin",
    "memory",
    "compression",
    "knowledge-graph",
    "transcript",
    "typescript",
    "nodejs"
  ],
  "homepage": "https://github.com/thedotmack/claude-mem#readme"
}