SkillAgentSearch skills...

mem

A portable, self-hosted memory plane for AI agents — one core across API, MCP, CLI, and UI.

Install / Use

claude mcp add bytefolk -- npx -y github:bytefolk/mem

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

81/100

Category

Operations

Supported Platforms

Claude Code
Claude Desktop

Tags

Our assessment of mem

mem scores 81/100 on our quality scale, 646th of 755 Operations skills we index.

Its MCP Server is 12 KB long, well organised into 13 sections with 9 code examples: a thorough specification that gives an agent plenty to work with.

It has 10 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
30/30
Structure
20/20
Description
12/15
Adoption
4/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated today, so mem is actively maintained.
  • Our last check on 2026-09-29 found the source still online.
  • It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.

AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

mem compared with similar skills

All 4 of these similar skills score higher than mem; compare them before choosing.

SkillScoreStarsUpdatedFormat
mem (this skill)by bytefolk8110todayMCP Server
Agent-Reachby Panniantong100106.6k5d agoCLAUDE.md
headroomby headroomlabs-ai10078.3ktodayCLAUDE.md
CowAgentby zhayujie10047.7ktodayCLAUDE.md
Scraplingby D4Vinci10090.4ktodayMCP Server

Frequently asked questions

How do I install mem?
Run claude mcp add bytefolk -- npx -y github:bytefolk/mem. The install tabs above show the steps for each supported agent.
Which AI agents does mem work with?
It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
Is mem safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is Apache-2.0-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is mem still maintained?
The repository was last updated today, so mem is actively maintained.
<!-- markdownlint-disable MD013 MD033 MD041 --> <div align="center"> <img src="web/public/favicon.svg" width="72" alt="mem logo"> <h1>mem</h1> <p><strong>Your agents change. Their memory should not.</strong></p> <p><strong>Agent 会更换,记忆不该重来。</strong></p> <p>A portable, self-hosted memory plane for AI agents, with one core across API, MCP, CLI, and Web.</p> <p>面向 AI Agent 的可迁移、自托管记忆平面;API、MCP、CLI 与 Web 共用同一内核。</p> <p> <a href="https://github.com/bytefolk/mem/actions/workflows/ci.yml"><img src="https://github.com/bytefolk/mem/actions/workflows/ci.yml/badge.svg?branch=main" alt="CI"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-blue.svg" alt="Apache 2.0 license"></a> <a href="https://github.com/bytefolk/mem/releases"><img src="https://img.shields.io/github/v/release/bytefolk/mem?display_name=tag&sort=semver" alt="Latest release"></a> <a href="docs/mcp.md"><img src="https://img.shields.io/badge/MCP-26_tools-5A67D8" alt="26 MCP tools"></a> <a href="https://smithery.ai/server/@bytefolk/mem-mcp"><img src="https://smithery.ai/badge/@bytefolk/mem-mcp" alt="Smithery"></a> </p> <p> <a href="#quickstart">Quickstart</a> · <a href="#connect-an-agent-over-mcp">MCP setup</a> · <a href="docs/DEPLOYMENT.md">Deployment</a> · <a href="SPEC.md">Specification</a> · <a href="docs/DEVELOPMENT.md">Contributing</a> </p> </div> <!-- markdownlint-enable MD013 MD033 MD041 --> <!-- markdownlint-disable MD013 -->

mem gives agents a durable place to write decisions, evidence, task state, and files, then recall them in a later session or from another agent. You keep the data and choose where it runs. mem does not run the agent or generate its answer.

mem 为 Agent 提供一块由用户掌控的长期记忆空间:保存决定、证据、任务状态和原始文件,并让另一段会话、另一个 Agent 或另一台设备继续使用。数据由你持有,部署位置由你决定;mem 不负责运行 Agent,也不替 Agent 生成答案。

Use it when you need to:

  • hand work from Claude Code to Codex, another host, or another machine;
  • resume a task from an immutable checkpoint instead of reconstructing chat history;
  • recall a decision together with its source and scope;
  • keep files and structured memory behind the same authorization boundary;
  • export a workspace and restore it into another mem deployment.

[!WARNING] mem is in active experimental development. Interfaces, storage schemas, and release artifacts can change. Do not use it as the only copy of important data. The current deployment profiles are for private self-hosting, not an Internet-facing multi-tenant service.

How it works

flowchart LR
    A["Claude Code / Codex / Cursor / your agent"] -->|MCP| M["mem-mcp"]
    C["Scripts and operators"] -->|CLI / HTTP| API["memd"]
    U["People"] -->|Web| W["Web app"]
    M --> API
    W --> API
    API --> P[("PostgreSQL + pgvector")]
    API --> O[("S3-compatible objects")]
    API --> Q["Redis / indexing worker"]
    API --> R["Evidence-backed recall"]

The HTTP service owns the canonical behavior. MCP, CLI, and Web call the same API instead of maintaining separate memory models.

A typical agent loop looks like this:

  1. remember a sourced observation, decision, preference, task state, or artifact reference.
  2. checkpoint work under a stable task key before switching sessions or agents.
  3. context or resume later to retrieve bounded, evidence-backed state.
  4. Record feedback, archive stale memory, or explicitly forget content when policy allows it.

Model-independent structured memory and lexical recall work without an LLM or embedding provider. Optional indexing can add embeddings and extraction, but it is not a hidden dependency for remember, lifecycle control, checkpoint, or deterministic resume.

Quickstart

The supported first-run path uses Docker Compose. It starts the Web app, memd, the Worker, PostgreSQL, Redis, and MinIO on one machine.

Requirements: Docker Engine and Docker Compose v2.

git clone https://github.com/bytefolk/mem.git
cd mem/deploy/compose

./generate-env.sh
chmod 600 .env
docker compose --env-file .env -f compose.yaml up -d --build --wait
curl --fail http://127.0.0.1:8080/healthz

Open http://localhost:8080 and register the first user. The default first_user mode accepts one account, then disables registration.

For the CLI, build from source and sign in:

cd ../..
make build-mem
export PATH="$PWD/bin:$PATH"
export MEM_SERVER=http://localhost:8080

mem auth login
mem doctor

Now write and recall model-independent memory:

mem remember "Review auto-renewal before signing" \
  --kind decision \
  --path /Contracts \
  --idempotency-key contract-renewal-v1 \
  --agent-id claude-code

mem context "What should I check before signing?" \
  --source memory \
  --scope /Contracts

The detailed deployment guide covers TLS, secrets, backups, upgrades, production invariants, Helm, and the exact first-user/token flow: docs/DEPLOYMENT.md.

Connect an agent over MCP

mem-mcp is a stdio MCP adapter for the canonical memd API. Build it from the same revision as the server, then configure your host with the resulting executable:

make build-mem-mcp
{
  "mcpServers": {
    "mem": {
      "command": "/absolute/path/to/mem/bin/mem-mcp",
      "env": {
        "MEM_SERVER": "http://localhost:8080",
        "MEM_TOKEN": "mem_..."
      }
    }
  }
}

Claude Code users can register the same executable from the command line:

claude mcp add --scope project --transport stdio \
  --env MEM_SERVER=http://localhost:8080 \
  --env MEM_TOKEN=mem_... \
  mem -- /absolute/path/to/mem/bin/mem-mcp

The ByteFolk npm wrapper is not yet a supported installation path. Its release migration is tracked in issue #153.

The adapter currently exposes 26 tools. The main groups are:

| Need | MCP tools | | --- | --- | | Store and inspect files | mem_put, mem_get, mem_info, mem_list, mem_ls | | Write and recall memory | mem_remember, mem_search, mem_context, mem_related | | Resume work | mem_checkpoint, mem_task_list, mem_checkpoint_list, mem_checkpoint_get, mem_resume | | Control lifecycle | mem_feedback, mem_archive, mem_restore, mem_forget | | Manage file organization | mem_mkdir, mem_mv, mem_folder_tree |

See docs/mcp.md for every tool, permission requirement, response limit, and host-specific setup.

What ships today

| Capability | Current behavior | | --- | --- | | Structured memory | Idempotent writes for observations, decisions, preferences, task state, facts, notes, and artifact references, with source and producer provenance | | Recall | Lexical structured-memory recall; file lexical/vector routes where the selected profile and index support them; bounded context packs with evidence and explicit partial-result warnings | | Task continuity | Versioned immutable checkpoints, handoff payloads, task history, and deterministic resume | | Files | Upload, download, folders, metadata, annotations, search surfaces, and scoped access | | Memory lifecycle | Feedback, pin/unpin, archive, restore, and permissioned irreversible redaction after confirmation | | Portability | Validated workspace export and conflict-safe fresh import | | Interfaces | HTTP API, Go CLI, 26-tool MCP server, and React Web application over one service contract | | Deployment | Private single-node Compose and a Helm profile that expects external PostgreSQL, Redis, and S3-compatible storage |

The specification is the source of truth for API semantics. The changelog records what landed in each release.

Trust boundaries

Memory is useful only when callers can tell what it is, where it came from, and who may read it. mem therefore keeps these rules in the core service:

  • Tokens are workspace-bound and can restrict scopes and virtual paths.
  • Structured memory carries source and producer provenance.
  • Writes support idempotency keys; conflicting replay fails instead of silently changing history.
  • Recall reports partial results and warnings when one source degrades.
  • Checkpoints are immutable; resuming an older checkpoint does not rewrite the task history.
  • Workspace import fails on conflict in the current fresh mode rather than merging or overwriting silently.
  • Model stages are explicit. A profile does not silently fall back to another provider.
  • Production examples keep PostgreSQL, Redis, object storage, memd, and the Worker on private networks.

Read SECURITY.md before exposing a deployment, and use a private security advisory for vulnerabilities.

What mem is not

  • An agent runtime. Your agent still owns planning, tool use, reasoning, and final answers.
  • A chat product. The Web app is a file and memory control surface, not an assistant persona.
  • A hosted public SaaS you can expose without additional work. Current deployment profiles target private environments.
  • A claim that every modality or retrieval route is production-ready. Profiles advertise supported stages, and unsupported routes fail closed.
  • A bidirectional sync drive. mem put --watch is a one-way foreground watcher for new local files.

Current gaps and sequencing are documented in GOAL.md and docs/AGENT_MEMORY_DIRECTION.md. In particular, conservative merge restore, automatic consolidation and correction/supersede relationships, and fully evaluated versioned ranking remain follow-up work.

Choose your surface

| Surface | Best for | Start here | | --- | --- | --- | | MCP | Agents that need memory tools inside an existing host | MCP guide | | CLI | Imports, scripts, checkpoints, workspace transfer, and operations | make build-mem, then mem --help | | HTTP API | Applications that need the canonical contract directly | SPEC.md | | Web | Browsing files, reviewing memory, lifecycle controls, and workspace transfer | Compose quickstart |

Deployment options

| Profile | Shape | Intended use | | --- | --- | --- | | Single-node Compose | Web, memd, Worker, PostgreSQL, Redis, and MinIO on one Linux host | Personal, team, edge, and evaluation installations | | Multi-node Helm | Replicated Web and Worker, one memd, external stateful services | Private platforms that operate PostgreSQL, Redis, and S3 separately | | Bare-metal development | Local processes and data under .dev/ | Contributors changing Go, Python, or Web code |

Use docs/DEPLOYMENT.md for private deployment and docs/RUN_LOCAL.md only for source development.

Repository map

mem/
├── server/          Go HTTP service, CLI, and MCP server
├── worker/          Python extraction and embedding worker
├── web/             React/Vite control surface
├── deploy/          Compose and Helm deployment assets
├── benchmarks/      Offline recall fixtures and gates
├── docs/            Architecture, operations, acceptance, and integration docs
├── GOAL.md          Product direction and migration boundary
└── SPEC.md          Canonical product and interface contract

Develop and verify

Development requires Go 1.25, Python 3.11+ with uv, Node.js 24, Docker Compose, and the pinned protobuf toolchain when protobuf definitions change.

make bootstrap
make test
make lint
make build

Storage, authorization, migration, memory, handoff, and workspace-transfer changes also require the PostgreSQL integration and process-level acceptance suites. Use docs/TESTING.md for exact commands and disposable-database requirements.

Contributing

This repository uses an issue-first, pull-request-only workflow. A material change needs a ready issue with acceptance criteria before implementation. Every PR must link its tracking record, include a reproducible validation ledger, pass req

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars10
CategoryOperations
Updated14h ago
Forks5

Languages

Go

Trust signals

92/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 low1 info