Agent Plugins Marketplace
← All plugins

neatmem

v0.2.0

Cross-session memory for coding agents, backed by a local NeatMem server.

Claude Code5 Skills1 MCP serverstdio

By NeatMemLicense: Apache-2.07 GitHub starsUpdated 1 hour ago

Directory evidence

Runtimes
Claude Code
Parsed components
6 skill or MCP entries
Source updated
Sep 27, 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 neatmem for Claude Code

Installs for the current user
claude plugin marketplace add IchenDEV/agent-plugin-mkt
claude plugin marketplace update agent-plugin-marketplace
claude plugin install neatmem@agent-plugin-marketplace

Paste 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/kanhaoning/NeatMem

Clone the source repository, then follow its setup instructions to add the plugin to a compatible client. The plugin root is claude-code/.

Plugin files

claude-code/
├── .claude-plugin/plugin.json
├── skills/pause/SKILL.md
├── skills/resume/SKILL.md
├── skills/search/SKILL.md
├── skills/status/SKILL.md
├── skills/unpause/SKILL.md
└── .mcp.json

Included Skills5

pauseskills/pause/SKILL.md

Pause NeatMem memory capture on this machine. Use when the user wants to stop memories being recorded, for example for private work or experiments.

resumeskills/resume/SKILL.md

Pick up where earlier sessions in this repository left off. Use when the user asks to resume, continue, or get briefed on recent work.

searchskills/search/SKILL.md

Search memories from earlier Claude Code sessions in this repository. Use it when earlier work may already explain the code, error, decision, or command you need, so you can avoid repeating file reads, searches, or experiments.

statusskills/status/SKILL.md

Show whether NeatMem memory is working in this repository, covering configuration, capture state, flush counts, and whether the NeatMem server is reachable. Use when the user asks whether memory is on, why a memory is missing, or anything looks broken.

unpauseskills/unpause/SKILL.md

Resume NeatMem memory capture after it was paused with /neatmem:pause.

MCP servers1

neatmemstdio
command
python3
args
${CLAUDE_PLUGIN_ROOT}/core/mcp_server.py
env.NEATMEM_CODE_DATA_DIR
${CLAUDE_PLUGIN_DATA}

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

claude-code/.claude-plugin/plugin.json
{
  "name": "neatmem",
  "version": "0.2.0",
  "description": "Cross-session memory for coding agents, backed by a local NeatMem server.",
  "author": {
    "name": "NeatMem"
  },
  "license": "Apache-2.0",
  "keywords": [
    "memory",
    "coding-agents",
    "continual-learning"
  ],
  "userConfig": {
    "api_url": {
      "type": "string",
      "title": "NeatMem server URL",
      "description": "Base URL of the NeatMem server (default http://127.0.0.1:8790).",
      "default": "http://127.0.0.1:8790",
      "required": false
    },
    "api_key": {
      "type": "string",
      "title": "NeatMem API Key",
      "description": "Optional. Only needed when the server sits behind an authenticating proxy.",
      "sensitive": true,
      "required": false
    },
    "user_id": {
      "type": "string",
      "title": "Memory user ID",
      "description": "Optional stable ID shared across machines. When omitted, your local account name is used.",
      "required": false
    },
    "top_k": {
      "type": "number",
      "title": "Manual search results",
      "description": "Maximum number of memories returned when Claude runs another search after the automatic first search.",
      "default": 3,
      "min": 1,
      "max": 20,
      "required": false
    },
    "max_context_chars": {
      "type": "number",
      "title": "Maximum retrieved context",
      "description": "Maximum number of memory characters returned for one search.",
      "default": 4000,
      "min": 1000,
      "max": 10000,
      "required": false
    },
    "search_scope": {
      "type": "string",
      "title": "Default search scope",
      "description": "How wide every search runs by default. 'repo' is the whole repository's shared memory plus your own memories, 'mine' narrows results to memories you saved.",
      "default": "repo",
      "required": false
    }
  }
}

If you maintain this plugin, link to this source-backed listing from your README so users can review its manifest and indexed components.

[neatmem on Agent Plugins Marketplace](https://pluginsmp.com/plugins/neatmem)