# memex (oci · ghcr.io/kioie/memex:0.6.0)

Local MCP memory for coding agents. SQLite on your machine — preferences persist across chats.

- Trust score: 41/100 (low)
- Change this week: −2
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- oci · `ghcr.io/kioie/memex:0.6.0`: 41/100 (this document), [markdown](https://verifymcp.io/servers/kioie-memex/ghcr-io-kioie-memex-0-6-0.md), [page](https://verifymcp.io/servers/kioie-memex/ghcr-io-kioie-memex-0-6-0)

## Channel facts

- Registry: `oci`
- Package: `ghcr.io/kioie/memex:0.6.0`
- 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-08-03.

- **Supply Chain Security**: 0/100
  - Malware scan not yet available for this package.
  - CVE data not yet available for this package.
  - Install-script risk not yet assessed.
  - Dependency-health data not yet available.
- **Provenance & Transparency**: 32/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: no license is declared.
  - Actively maintained (last published 69 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 81/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1423 tokens (~142/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add kioie-memex -- docker run --rm -i ghcr.io/kioie/memex:0.6.0
```

### Codex

```bash
codex mcp add kioie-memex -- docker run --rm -i ghcr.io/kioie/memex:0.6.0
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "kioie-memex": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "ghcr.io/kioie/memex:0.6.0"
      ],
      "enabled": true
    }
  }
}
```

### Hermes

```yaml
mcp_servers:
  kioie-memex:
    command: "docker"
    args: ["run", "--rm", "-i", "ghcr.io/kioie/memex:0.6.0"]
```

### Other

```json
{
  "mcpServers": {
    "kioie-memex": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/kioie/memex:0.6.0"
      ]
    }
  }
}
```

## 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-08-03 (score 41, +3)

- [functional improvement] Stability: unverified → 0.23

### 2026-07-31 (score 38, −5)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-27 (score 43, +35)

- [functional improvement] Schema quality: unverified → 100
- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Schema quality: excellent
- [functional] First check of Tool coverage: 100
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: fail

### 2026-07-26 (score 8)

First indexed and scored.

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

## MCP tools (10)

### `delete_all_memories` (~64 tokens)

Delete all memories for a user_id scope. Requires confirm=true. Destructive — use rarely.

Input parameters:

- `confirm` (boolean, required): Must be true to delete all memories in scope
- `user_id` (string): User scope to wipe (defaults to MEMEX_USER_ID)

### `delete_memories` (~48 tokens)

Delete multiple memories by ID list for a user scope.

Input parameters:

- `ids` (null|array, required): Memory IDs to delete (required)
- `user_id` (string): Scope deletes to user_id

### `forget` (~94 tokens)

Soft-delete one active memory by ID (sets valid_to; row kept for audit). Use delete_memories for batch; use delete_all_memories only with explicit user confirmation.

Input parameters:

- `agent_id` (string): Scope delete to agent_id when set
- `id` (string, required): Memory ID to delete (from remember or recall output)
- `user_id` (string): Scope delete to user_id (defaults to MEMEX_USER_ID)

### `get_memory` (~71 tokens)

Fetch one memory by exact ID. Use after recall/list returns an ID.

Input parameters:

- `agent_id` (string): Scope fetch to agent_id when set
- `id` (string, required): Memory ID to fetch (required)
- `user_id` (string): Scope fetch to user_id (defaults to MEMEX_USER_ID)

### `list_memories` (~171 tokens)

List memories with filters and pagination without a search query. Use when browsing recent context; use recall when you have keywords.

Input parameters:

- `agent_id` (string): Filter by agent_id
- `include_inactive` (boolean): Include superseded or deleted memories (default false)
- `limit` (integer): Maximum results (default 10, max 50)
- `metadata` (object): Exact metadata key/value filters
- `offset` (integer): Skip first N results
- `run_id` (string): Filter by run_id
- `source` (string): Filter by source: user, agent, or system
- `tags` (null|array): Filter by tags (any match)
- `type` (string): Filter by memory type
- `user_id` (string): Scope list to user_id

### `memory_history` (~56 tokens)

Return ADD/UPDATE/DELETE audit trail for a memory ID.

Input parameters:

- `id` (string, required): Memory ID to fetch history for (required)
- `user_id` (string): Scope history to user_id (defaults to MEMEX_USER_ID)

### `recall` (~267 tokens)

Search active stored memories by keyword (FTS5 + BM25) fused with entity boost and optional hybrid vectors (MEMEX_HYBRID=1). Query is required — use list_memories to browse recent rows without keywords. Superseded and deleted rows are excluded by default. For bounded context size use retrieve_context instead.

Input parameters:

- `agent_id` (string): Filter by agent_id (defaults to MEMEX_AGENT_ID when set)
- `include_inactive` (boolean): Include superseded or deleted memories (default false)
- `limit` (integer): Maximum results (default 10, max 50)
- `metadata` (object): Exact metadata key/value filters (e.g. {"source":"agent"})
- `offset` (integer): Skip first N results for pagination
- `query` (string, required): Search text (required); use list_memories to browse without keywords
- `run_id` (string): Filter by run_id (defaults to MEMEX_RUN_ID when set)
- `source` (string): Filter by source: user, agent, or system
- `tags` (null|array): Filter by tags (any match)
- `type` (string): Filter by memory type
- `user_id` (string): Scope search to user_id (defaults to MEMEX_USER_ID)

### `remember` (~255 tokens)

Store durable agent memory (preferences, decisions, facts, commitments). Set source=agent for assistant-originated facts; commitment/recommendation/action_taken types default to agent. Duplicate content for the same user_id returns the existing active memory. Use recall or retrieve_context to read; use update_memory to supersede a fact; use forget/delete_memories to soft-delete.

Input parameters:

- `agent_id` (string): Scope memory to an agent (defaults to MEMEX_AGENT_ID when set)
- `content` (string, required): Fact, preference, decision, or note to store (required)
- `metadata` (object): Optional JSON metadata bag
- `run_id` (string): Tag memory with a run/session id (defaults to MEMEX_RUN_ID when set)
- `source` (string): Who originated the memory: user, agent, or system (defaults to user; agent types default to agent)
- `tags` (null|array): Optional tags for filtering (e.g. user, project, preference)
- `type` (string): Memory type: note, preference, decision, fact, procedure, commitment, recommendation, or action_taken
- `user_id` (string): Scope memory to a user (defaults to MEMEX_USER_ID or default)

### `retrieve_context` (~231 tokens)

Search ranked memories and pack JSON output within max_tokens (greedy, highest fused rank first). Fuses keyword, entity, and optional hybrid vector signals via reciprocal rank fusion. Requires query. Set MEMEX_HYBRID=1 to enable local vector retrieval.

Input parameters:

- `agent_id` (string): Filter by agent_id (defaults to MEMEX_AGENT_ID when set)
- `include_inactive` (boolean): Include superseded or deleted memories (default false)
- `max_tokens` (integer): Token budget for packed JSON output (default 4096, max 32768)
- `metadata` (object): Exact metadata key/value filters
- `query` (string, required): Search text (required)
- `run_id` (string): Filter by run_id (defaults to MEMEX_RUN_ID when set)
- `source` (string): Filter by source: user, agent, or system
- `tags` (null|array): Filter by tags (any match)
- `type` (string): Filter by memory type
- `user_id` (string): Scope search to user_id (defaults to MEMEX_USER_ID)

### `update_memory` (~166 tokens)

Supersede an active memory by ID: closes the old row and appends a new one (returns a new ID). Prefer this over remember when revising an existing fact. Sibling: get_memory to read first.

Input parameters:

- `agent_id` (string): Scope update to agent_id when set
- `content` (string, required): New content (required)
- `id` (string, required): Memory ID to update (required)
- `metadata` (object): Replace metadata when provided
- `source` (string): Replace source when provided (user, agent, or system)
- `tags` (null|array): Replace tags when provided
- `type` (string): Replace memory type when provided
- `user_id` (string): Scope update to user_id (defaults to MEMEX_USER_ID)

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/kioie-memex/ghcr-io-kioie-memex-0-6-0#diagnostics

## Score history

- 2026-08-03: 41
- 2026-08-02: 38
- 2026-08-01: 38
- 2026-07-31: 38
- 2026-07-30: 43
- 2026-07-29: 43
- 2026-07-28: 43
- 2026-07-27: 43
- 2026-07-26: 8

## Links

- Repository: https://github.com/kioie/memex
- Changelog RSS feed: https://verifymcp.io/servers/kioie-memex/ghcr-io-kioie-memex-0-6-0/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/kioie-memex/ghcr-io-kioie-memex-0-6-0/changelog.json
- HTML version of this page: https://verifymcp.io/servers/kioie-memex/ghcr-io-kioie-memex-0-6-0
