memory-mcp 0.6.0

MCP server for semantic memory — pure-Rust embeddings, vector search, git-backed storage
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# ADR-0002: git2 Over Shelling Out to Git CLI

## Status
Accepted

## Context
The server needs git operations (init, add, commit, push, pull) for memory persistence and sync.
Two options: the `git2` crate (libgit2 Rust bindings) or shelling out to the `git` CLI.

## Decision
Use `git2`. Prefer build-time coupling (C dependency bundled via `libgit2-sys`) over runtime
coupling (assuming `git` is installed and on PATH).

## Consequences
- No runtime dependency on git being installed — works in minimal container images
- Build requires a C compiler and CMake (libgit2-sys bundles the C source)
- git2's `Repository` is `Send` but not `Sync` — requires a `tokio::sync::Mutex` wrapper for concurrent access
- Auth handled via git2's credential callbacks rather than git's credential helper config