Go port of echovault: Local-first memory for coding agents. Decisions, bugs, and context stored as Markdown, indexed locally with FTS5 plus optional semantic search. No RAM overhead at idle, no external servers.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add echovault-memory -- docker run -i --rm ghcr.io/go-ports/echovault:0.3.3~/.codex/config.toml
[mcp_servers.echovault-memory]
command = "docker"
args = ["run", "-i", "--rm", "ghcr.io/go-ports/echovault:0.3.3"]
# codex mcp add echovault-memory -- docker run -i --rm ghcr.io/go-ports/echovault:0.3.3~/.cursor/mcp.json
{
"mcpServers": {
"echovault-memory": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/go-ports/echovault:0.3.3"
]
}
}
}.vscode/mcp.json
{
"servers": {
"echovault-memory": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/go-ports/echovault:0.3.3"
]
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"echovault-memory": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/go-ports/echovault:0.3.3"
]
}
}
}claude_desktop_config.json
{
"mcpServers": {
"echovault-memory": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/go-ports/echovault:0.3.3"
]
}
}
}.trae/mcp.json
{
"mcpServers": {
"echovault-memory": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/go-ports/echovault:0.3.3"
]
}
}
}