# EchoVault Memory (oci · ghcr.io/go-ports/echovault:0.3.3)

Local-first memory for coding agents; stores decisions, bugs, and context across sessions.

- Trust score: 39/100 (low)
- Change this week: 0
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-04

## Components

- oci · `ghcr.io/go-ports/echovault:0.3.3`: 39/100 (this document), [markdown](https://verifymcp.io/servers/go-ports-echovault/ghcr-io-go-ports-echovault-0-3-3.md), [page](https://verifymcp.io/servers/go-ports-echovault/ghcr-io-go-ports-echovault-0-3-3)

## Channel facts

- Registry: `oci`
- Package: `ghcr.io/go-ports/echovault:0.3.3`
- 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-04.

- **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**: 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 105 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 54/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1002 tokens (~200/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 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 go-ports-echovault -- docker run --rm -i ghcr.io/go-ports/echovault:0.3.3
```

### Codex

```bash
codex mcp add go-ports-echovault -- docker run --rm -i ghcr.io/go-ports/echovault:0.3.3
```

### opencode

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

### Hermes

```yaml
mcp_servers:
  go-ports-echovault:
    command: "docker"
    args: ["run", "--rm", "-i", "ghcr.io/go-ports/echovault:0.3.3"]
```

### Other

```json
{
  "mcpServers": {
    "go-ports-echovault": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/go-ports/echovault:0.3.3"
      ]
    }
  }
}
```

## 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-04 (score 39, +4)

- [functional improvement] Stability: unverified → 0.27

### 2026-07-31 (score 35, −4)

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

### 2026-07-27 (score 39, +28)

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

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

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 (5)

### `memory_context` (~83 tokens)

Get memory context for the current project. You MUST call this at session start to load prior decisions, bugs, and context. Do not skip this step — prior sessions contain decisions and context that directly affect your current task. Use memory_search for specific topics.

Input parameters:

- `limit` (number): Max memories (default 10)
- `project` (string, required): Project name (required).

### `memory_delete` (~229 tokens)

Delete one or more memories to keep your memory store lean and accurate.

Use this tool in two ways:

1\. Targeted deletion (ids): remove specific memories whose content you have determined is
outdated, incorrect, or no longer relevant. Workflow — call memory_context or memory_search
to review existing memories, reason about which ones are stale (e.g. a decision was reversed,
a bug fix no longer applies, a pattern was removed from the codebase), then pass their IDs here.

2\. Bulk deletion by age (older_than_days): remove all memories older than N days, optionally scoped to a project or category. Use this for periodic housekeeping.

At least one of `ids` or `older_than_days` must be provided.

Input parameters:

- `category` (string): Scope bulk deletion to this category (only with older_than_days).
- `ids` (array): IDs (or prefixes) of memories to delete.
- `older_than_days` (number): Delete all memories older than this many days.
- `project` (string): Scope bulk deletion to this project (only with older_than_days).

### `memory_replace` (~259 tokens)

Fully replace the content of an existing memory with new, correct information.

Prefer this over memory_save when the existing memory contains wrong or outdated information that must be overwritten rather than appended to. memory_save deduplicates and merges; memory_replace discards the old content entirely.

Workflow: use memory_search or memory_context to find the memory ID, then call memory_replace with the corrected content.

All fields except `id` behave the same as in memory_save.

Input parameters:

- `category` (string): decision: chose X over Y. bug: fixed a problem. pattern: reusable gotcha. learning: non-obvious discovery. context: project setup/architecture.
- `details` (string): Full context for a future agent with zero context.
- `id` (string, required): ID (or prefix) of the memory to replace.
- `impact` (string): What changed as a result.
- `project` (string): Project name.
- `related_files` (array): File paths involved.
- `tags` (array): Relevant tags.
- `title` (string, required): Short title, max 60 chars.
- `what` (string, required): 1-2 sentences. The essence a future agent needs.
- `why` (string): Reasoning behind the decision or fix.

### `memory_save` (~349 tokens)

Save a memory for future sessions. You MUST call this before ending any session where you made changes, fixed bugs, made decisions, or learned something. This is not optional — failing to save means the next session starts from zero.

Save when you:
\- Made an architectural or design decision (chose X over Y)
\- Fixed a bug (include root cause and solution)
\- Discovered a non-obvious pattern or gotcha
\- Learned something about the codebase not obvious from code
\- Set up infrastructure, tooling, or configuration
\- The user corrected you or clarified a requirement

Do NOT save: trivial changes (typos, formatting), info obvious from reading the code, or duplicates of existing memories. Write for a future agent with zero context.

When filling `details`, prefer this structure:
\- Context
\- Options considered
\- Decision
\- Tradeoffs
\- Follow-up

Input parameters:

- `category` (string): decision: chose X over Y. bug: fixed a problem. pattern: reusable gotcha. learning: non-obvious discovery. context: project setup/architecture.
- `details` (string): Full context for a future agent with zero context. Prefer: Context, Options considered, Decision, Tradeoffs, Follow-up.
- `impact` (string): What changed as a result.
- `project` (string, required): Project name (required).
- `related_files` (array): File paths involved.
- `tags` (array): Relevant tags.
- `title` (string, required): Short title, max 60 chars.
- `what` (string, required): 1-2 sentences. The essence a future agent needs.
- `why` (string): Reasoning behind the decision or fix.

### `memory_search` (~82 tokens)

Search memories using keyword and semantic search. Returns matching memories ranked by relevance. You MUST call this at session start before doing any work, and whenever the user's request relates to a topic that may have prior context.

Input parameters:

- `limit` (number): Max results (default 5)
- `project` (string): Filter to project.
- `query` (string, required): Search terms

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/go-ports-echovault/ghcr-io-go-ports-echovault-0-3-3#diagnostics

## Score history

- 2026-08-04: 39
- 2026-08-03: 35
- 2026-08-02: 35
- 2026-08-01: 35
- 2026-07-31: 35
- 2026-07-30: 39
- 2026-07-29: 39
- 2026-07-28: 39
- 2026-07-27: 39
- 2026-07-26: 11

## Links

- Repository: https://github.com/go-ports/echovault
- Changelog RSS feed: https://verifymcp.io/servers/go-ports-echovault/ghcr-io-go-ports-echovault-0-3-3/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/go-ports-echovault/ghcr-io-go-ports-echovault-0-3-3/changelog.json
- HTML version of this page: https://verifymcp.io/servers/go-ports-echovault/ghcr-io-go-ports-echovault-0-3-3
