# amem (npm · @iamem/amem)

Local, private memory for coding agents: facts, skills and tasks that persist across sessions.

- Trust score: 67/100 (medium)
- Change this week: +5
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- npm · `@iamem/amem`: 67/100 (this document), [markdown](https://verifymcp.io/servers/sslugic-amem/iamem-amem.md), [page](https://verifymcp.io/servers/sslugic-amem/iamem-amem)

## Channel facts

- Registry: `npm`
- Package: `@iamem/amem`
- Version: `0.7.5`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Supply Chain Security**: 90/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - Declares code that runs automatically (postinstall) and that we could not recognise. It may be perfectly ordinary, but we have not established what it does.
  - 24 of 38 dependencies flagged as unhealthy (1 deprecated).
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 4 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 72/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1734 tokens (~108/item across 16 items; 16 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 33/100
  - Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 87/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 62% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 16 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 20/100
  - Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28.

## Install

### How do I install the amem MCP server?

amem runs locally as an npm package, launched with npx -y @iamem/amem. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add sslugic-amem -- npx -y @iamem/amem
```

### Cursor

```json
{
  "mcpServers": {
    "sslugic-amem": {
      "command": "npx",
      "args": [
        "-y",
        "@iamem/amem"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "sslugic-amem": {
      "command": "npx",
      "args": [
        "-y",
        "@iamem/amem"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add sslugic-amem -- npx -y @iamem/amem
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sslugic-amem": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@iamem/amem"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add sslugic-amem --command npx --arg -y --arg @iamem/amem
```

### Hermes

```yaml
mcp_servers:
  sslugic-amem:
    command: "npx"
    args: ["-y", "@iamem/amem"]
```

### Netclaw

```json
{
  "McpServers": {
    "sslugic-amem": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@iamem/amem"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add sslugic-amem -t stdio -c npx -a -y @iamem/amem
```

### Other

```json
{
  "mcpServers": {
    "sslugic-amem": {
      "command": "npx",
      "args": [
        "-y",
        "@iamem/amem"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-03 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-01 (score 66, +26)

- [security improvement] Malware scan: unverified → pass
- [security improvement] Known CVEs: unverified → pass
- [functional improvement] Dependency health: unverified → 0.68

### 2026-10-31 (score 40, −10)

- [security regression] Known CVEs: pass → unverified
- [security improvement] Malware scan: unverified → pass
- [functional regression] Dependency health: 0.68 → unverified
- [functional regression] Schema quality: pass → fail
- [functional] Package version: 0.7.3 → 0.7.5
- [functional] Package version: 0.7.3 → 0.7.4

### 2026-10-30 (score 50, −12)

- [security regression] Known CVEs: pass → unverified
- [security regression] Malware scan: pass → unverified
- [functional regression] Schema quality: 92 → 106
- [functional regression] Dependency health: 0.68 → unverified
- [functional improvement] Tool coverage: 45% → 62%
- [functional improvement] Stability: unverified → 0.13
- [functional] Package version: 0.4.3 → 0.7.3
- [functional] Package version: 0.4.3 → 0.6.0
- [functional] Package version: 0.4.3 → 0.5.0
- [functional] Package version: 0.4.3 → 0.4.4

### 2026-10-27 (score 62, +25)

- [security improvement] Malware scan: unverified → pass
- [security improvement] Known CVEs: unverified → pass
- [functional improvement] Dependency health: unverified → 0.68

### 2026-10-26 (score 37)

First indexed and scored.

## MCP tools (16)

### `amem_context` (~82 tokens)

Retrieve compact local amem memory for a query. Use before exploring files or calling a remote LLM with a large prompt. Pass workspace for named app memory, not only git repos.

Input parameters:

- `platform` (string)
- `query` (string, required)
- `sessionId` (string)
- `workspace` (string): Named workspace (not a git repo)

### `amem_recipe` (~52 tokens)

Return the generic amem remember contract: when to call amem_context vs amem_remember. Use if you are unsure whether to read or write memory. Same recipe for every MCP host. Takes no arguments.

### `amem_remember` (~159 tokens)

Store a durable local fact in amem (stays on this machine). Use kind `private` (or anchor `private`) for personal, non-work facts so they never appear in work repositories' context. When the fact replaces an older one (a newer status, a fixed bug, a changed decision), pass the old claim ids in `supersedes` so the outdated memory stops being served. The response lists `possiblySupersedes`: older look-alikes to retire with amem_supersede if they are now wrong.

Input parameters:

- `anchors` (array)
- `kind` (string)
- `supersedes` (array): Claim ids this fact replaces
- `text` (string, required)
- `workspace` (string)

### `amem_supersede` (~79 tokens)

Retire outdated claims so they stop appearing in context: marks them superseded (kept for history, not served). Pass `by` with the claim id that replaces them, if any.

Input parameters:

- `by` (string): Claim id of the newer fact (optional)
- `ids` (array, required)
- `workspace` (string)

### `amem_repos` (~79 tokens)

List what amem is monitoring. Each item has kind git or workspace. Workspaces also have a stable slug (MCP id); the display name can differ. Use when asked which projects, workspaces, or repos amem knows about. All arguments are optional.

Input parameters:

- `kind` (string): all (default), git, or workspace

### `amem_stats` (~102 tokens)

Usage and savings stats (local lookup time, estimated tokens/ms saved, hit rate) for one workspace/repo or everything. Use when asked how much amem helped, how often it hit, or usage over time. All arguments are optional.

Input parameters:

- `days` (number): Lookback window (default 30)
- `scope` (string): all (every tracked repo/workspace) or current (the given workspace / cwd)
- `workspace` (string)

### `amem_graph` (~79 tokens)

Dump stored facts for a workspace or git repo: claims, components, flows, and recent activity. Use when asked what amem remembers about a project. Prefer amem_context for a ranked packet for the current question. All arguments are optional.

Input parameters:

- `days` (number): Activity lookback (default 30)
- `workspace` (string)

### `amem_status` (~48 tokens)

Binding, policy, and counts for one workspace/repo, plus the full monitored inventory. Omit workspace for a machine-wide overview. All arguments are optional.

Input parameters:

- `workspace` (string)

### `amem_skill_list` (~82 tokens)

List stored skills (procedures the agent learned) as an index of names and descriptions only. Cheap — call this first, then amem_skill_view to load the one you need. Skills are longer procedures; use amem_context for small durable facts. All arguments are optional.

Input parameters:

- `query` (string): Optional: rank the index against this task description

### `amem_skill_view` (~110 tokens)

Load the full body of one skill by name, or a supporting file inside it. Call this only after amem_skill_list (or the 'Relevant skills' section of an amem context packet) shows a skill worth following.

Input parameters:

- `file` (string): Optional supporting file, e.g. references/api.md
- `name` (string, required): Skill name from amem_skill_list
- `sessionId` (string): Optional conversation id, so amem can tell whether this procedure actually worked out

### `amem_skill_save` (~142 tokens)

Save a non-trivial multi-step procedure you just worked out as a reusable skill. Use after solving something worth repeating — a workflow, a dead end you found the way past, or a correction the user gave you. Provide a full SKILL.md in `content`, or a description plus body.

Input parameters:

- `content` (string): Full SKILL.md, or the markdown body to wrap
- `description` (string): One line on when to use this skill
- `name` (string, required): Short slug, e.g. deploy-staging
- `sessionId` (string): Optional conversation id, so amem can clear the nudge that prompted this

### `amem_task_list` (~84 tokens)

List deferred agent tasks (Kanban) for a workspace/repo. Use for work to do later — not durable facts (use amem_remember for those). Default excludes done tasks. All arguments are optional.

Input parameters:

- `include_done` (boolean)
- `status` (string): backlog | next | doing | blocked | done
- `workspace` (string)

### `amem_task_add` (~92 tokens)

Create a deferred agent task on the project Kanban (default backlog). Use for work that should not get lost in chat. Durable facts still go through amem_remember.

Input parameters:

- `anchors` (array)
- `body` (string): Why / notes
- `status` (string): backlog | next | doing | blocked | done
- `title` (string, required)
- `workspace` (string)

### `amem_task_update` (~203 tokens)

Change an existing Kanban task: move it between columns (set status to doing when you start it, blocked when it waits on someone), rename it, or replace its notes or file anchors. Only the fields you pass change. Use amem_task_complete to finish a task and amem_task_add for new work. Returns the updated task as JSON; an unknown id returns an error.

Input parameters:

- `anchors` (array): Repo-relative files the task touches; replaces the old list.
- `body` (string): New notes; replaces the old notes entirely.
- `id` (string, required): Task id from amem_task_list or amem_task_add (task_…).
- `status` (string): Kanban column. doing = being worked on now; blocked = waiting on someone or something.
- `title` (string): New one-line title.
- `workspace` (string): Workspace or repo name. Omit to use the repository the agent is running in.

### `amem_task_complete` (~128 tokens)

Mark a Kanban task done as soon as its work is finished and verified, so the next session does not pick it up again. Records the completion time and keeps the task in history (amem_task_list with include_done shows it). Same as amem_task_update with status done. Returns the completed task as JSON; an unknown id returns an error.

Input parameters:

- `id` (string, required): Task id from amem_task_list or amem_task_add (task_…).
- `workspace` (string): Workspace or repo name. Omit to use the repository the agent is running in.

### `amem_usage_report` (~213 tokens)

Report what you actually did with the last amem context packet, so its savings estimate becomes a measurement instead of a guess. Call this once after you have finished acting on a packet. Do NOT estimate tokens — just list which of the anchors amem gave you you ended up opening anyway (anchors_opened), and whether the packet answered the question without further exploration (answered). amem computes the saving from the real size of the files you did not have to open. Reporting that you opened everything is a useful and expected answer.

Input parameters:

- `anchors_opened` (array, required): File paths from the packet's Anchors lines that you actually read. Empty array if the claims alone were enough. Paths not in the packet are ignored.
- `answered` (boolean, required): True if the packet answered the question without broad exploration. False if you had to grep or read widely anyway.
- `event_id` (string): Specific usage event. Omit to attest the most recent packet for this repo.
- `workspace` (string)

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/sslugic-amem/iamem-amem#diagnostics

## Score history

- 2026-11-05: 67
- 2026-11-04: 67
- 2026-11-03: 67
- 2026-11-02: 66
- 2026-11-01: 66
- 2026-10-31: 40
- 2026-10-30: 50
- 2026-10-29: 62
- 2026-10-28: 62
- 2026-10-27: 62
- 2026-10-26: 37

## Common questions

### What is the amem MCP server?

amem is an MCP server listed in the public MCP registry as io.github.sslugic/amem. Local, private memory for coding agents: facts, skills and tasks that persist across sessions. This page covers its npm package (@iamem/amem).

### Is the amem MCP server safe to use?

amem scores 67 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the amem MCP server expose?

amem exposes 16 tools: amem_context, amem_recipe, amem_remember, amem_supersede, amem_repos, and 11 more. Their descriptions and schemas cost roughly 1,734 tokens of context every time the server is loaded.

### Is the amem MCP server still maintained?

amem is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the amem MCP server under?

amem declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/@iamem/amem
- Socket report: https://socket.dev/npm/package/@iamem/amem
- Repository: https://github.com/sslugic/amem
- Website: https://getamem.com/
- Changelog RSS feed: https://verifymcp.io/servers/sslugic-amem/iamem-amem.xml
- Changelog JSON feed: https://verifymcp.io/servers/sslugic-amem/iamem-amem.json
- HTML version of this page: https://verifymcp.io/servers/sslugic-amem/iamem-amem
