# Memory Journal MCP Server v4.1.0

**Release Date:** January 17, 2026

## Highlights

- **Auto-rebuild Vector Index** — New `--auto-rebuild-index` CLI flag and `AUTO_REBUILD_INDEX` env var to synchronize vector index on server startup
- **MCP Progress Notifications** — Long-running operations emit `notifications/progress` for improved UX
- **MCP Icons Array Support** — 31 tools, 15 resources, and 15 prompts now include visual icons
- **Expanded Structured Output** — Output schemas extended from 5 to 24 tools for programmatic consumption
- **Kanban Automation** — `close_github_issue_with_entry` gains `move_to_done` parameter

---

## Added

### Auto-rebuild Vector Index on Startup

- New `--auto-rebuild-index` CLI flag and `AUTO_REBUILD_INDEX` env var
- Rebuilds vector index from all database entries during startup
- Ensures `memory://health` reports accurate `itemCount` matching `entryCount`

### `move_to_done` for `close_github_issue_with_entry`

- New `move_to_done` boolean parameter (default: `false`)
- Automatically moves Kanban item to "Done" column when closing an issue
- New `project_number` parameter (uses `DEFAULT_PROJECT_NUMBER` if not specified)

### MCP Progress Notifications

- `rebuild_vector_index`: Reports progress every 10 entries
- `restore_backup`: Reports 3-phase progress (backup → restore → verify)
- `export_entries`: Reports 2-phase progress (fetch → process)
- New utility module: `src/utils/progress-utils.ts`

### MCP Icons Array Support

- Tools, resources, and prompts include optional `icons` array
- Follows MCP 2025-11-25 specification
- Uses SVG data URIs for self-contained distribution

### Expanded StructuredContent Coverage

- 17 new output schemas (5 → 24 tools total)
- Core Read, Mutation, GitHub, and Backup tool schemas
- Clients supporting `structuredContent` receive validated JSON

### `semantic_search` Hint Control

- New `hint_on_empty` parameter (default: `true`)
- Suppresses hints when `false` for programmatic consumers

### PR Resource Empty Hints

- `memory://prs/{pr_number}/entries` and `memory://prs/{pr_number}/timeline` include hints when no entries linked

---

## Fixed

- **`list_tags` Output Schema** — Fixed `usageCount` → `count` mapping
- **`semantic_search` Hints** — Fixed always showing "No entries in vector index"
- **`getRecentEntries` Ordering** — Added secondary sort by ID for deterministic results
- **GHSA-73rr-hh4g-fpgx** — Patched npm's bundled `diff@8.0.2` → `8.0.3`
- **CVE-2026-23745** — Patched npm's bundled `tar@7.5.2` → `7.5.3`
- **`memory://health` Field Name** — Aligned `indexedEntries` → `itemCount`
- **`memory://tags` Field Naming** — Mapped `usageCount` → `count`
- **`create_github_issue_with_entry`** — Default status now "Backlog"
- **`delete_entry` Vector Cleanup** — Removes entries from vector index
- **Docker Security Gate** — Scan before push, `--only-fixed` for fixable CVEs
- **Docker Build** — Reduced context by ~200MB with `.dockerignore` rewrite

---

## Documentation

- **GitHub Fallback Behavior** — Documented `requiresUserInput: true` response pattern
- **`autoContext` Field** — Added "Field Notes" section explaining reserved field

---

## Known Limitations

- **Icons not visible in protocol output** — MCP SDK v1.25.2 doesn't pass icons through to responses. Server implementation is correct and future-ready.

---

**Full Changelog:** https://github.com/neverinfamous/memory-journal-mcp/compare/v4.0.0...v4.1.0
