everme-memory · v0.2.0 · 2026-05-29 · sha256 5d4f392abc0acc47

everme-memory v0.2.0A

Immutable. This exact content is served forever at /api/v1/blob/5d4f392abc0acc47.

---
name: everme-memory
description: Real-time access to EverMe memory from AI Agents (Claude Code, OpenClaw, …)
version: 0.2.0
---

# What it gives you

When this plugin is loaded, the host has these MCP tools available:

| tool                | input                              | output                                        |
|---------------------|------------------------------------|-----------------------------------------------|
| `mem_search`        | `{ query, topK? }`                 | raw markdown text in `content[0].text`        |
| `mem_context`       | `{ query }`                        | raw markdown text in `content[0].text`        |
| `mem_save_fact`     | `{ fact, sessionKey?, flush? }` or `{ messages[], sessionKey?, flush? }` | JSON text with `{ saved, status, messageCount, flushed, extracted }` |
| `mem_save_turn`     | `{ messages[], sessionKey?, flush? }` or legacy `{ role, text, ... }` | JSON text with `{ saved, status, messageCount, flushed }` |

# Recommended usage

## Before answering a user prompt

Call `mem_context` with the user's question. Splice the returned
markdown text into your reasoning context (or the system prompt
addition). This is the cheapest, server-assembled retrieval path.

```ts
const res = await tools.mem_context({ query: userPrompt });
const text = res.content?.[0]?.text || "";
if (text) systemAddition += "\n" + text;
```

## To save durable facts

When the user states a preference, habit, trait, or decision that should
survive future sessions, call `mem_save_fact`. This writes to the
personal/profile path. Do not use `mem_save_turn` for these facts; that
tool records conversation trajectories and does not update the profile.

## To capture conversation turns

For MCP hosts that don't support native lifecycle hooks, call
`mem_save_turn` to preserve the conversation trajectory. Prefer the
`messages[]` form so assistant tool calls and tool results stay in the
same saved trajectory. It writes synchronously through
`/mem/agent-memory` and does not create `/mem/sources`. `sessionKey`
becomes the conversation id; use a stable value for the whole chat.

# Error handling

Tools return `isError: true` with `content[0].text` carrying a short
description on failure. Common shapes:

- `auth` — `emk_*` / `evt_*` revoked or expired. Re-run `evercli auth login`
  and `evercli plugin install <agent>` to refresh.
- `network` — backend unreachable; retry with backoff.
- `upstream` — backend returned non-zero status. The error message
  includes the requestId for support correlation.

Cold-start memory (everything the user already had) is loaded by
`evercli import run`; you don't need to re-upload it from inside the
agent.