Nine tool modules in crates/vestige-mcp/src/tools/ had zero callers after
the v2.0.x unification work shipped *_unified + maintenance::* replacements.
They'd been #[allow(dead_code)]-papered over and forgotten. Verified each
module independently: grep for tools::<name>::, string dispatch in server.rs,
cross-crate usage — all nine returned zero external callers.
Removed modules (all superseded):
checkpoint (364 LOC) — no callers anywhere
codebase (298) — superseded by codebase_unified
consolidate (36) — superseded by maintenance::execute_consolidate
ingest (456) — superseded by smart_ingest
intentions (1,093) — superseded by intention_unified
knowledge (106) — no callers anywhere
recall (403) — superseded by search_unified
search (184) — superseded by search_unified
stats (132) — superseded by maintenance::execute_system_status
Also removed:
- EmotionCategory::base_arousal (10 LOC, zero callers)
Kept (still string-dispatched from server.rs):
- context, feedback, memory_states, review, tagging
Doc fixes (ghost env vars that were documented but zero Rust source reads):
- docs/CONFIGURATION.md — dropped VESTIGE_DATA_DIR, VESTIGE_LOG_LEVEL rows
(neither is read anywhere; --data-dir CLI flag + RUST_LOG are the real
mechanisms). Added the full real env-var table.
- packages/vestige-mcp-npm/README.md — same two ghost rows dropped
- docs/VESTIGE_STATE_AND_PLAN.md:399 — dropped VESTIGE_DATA_DIR row
- docs/VESTIGE_STATE_AND_PLAN.md:709 — typo VESTIGE_API_KEY
-> VESTIGE_AUTH_TOKEN (matches shipping convention), "open if unset"
-> "auto-generated if unset" to match actual behavior
Verified post-cleanup:
- cargo check --workspace clean
- cargo clippy --workspace -D warnings clean
- cargo test --workspace 1,223 passing / 0 failed
- cargo build --release -p vestige-mcp clean
Net: -3,091 LOC (14 files), zero behavior change, zero regressions.
3.8 KiB
Configuration Reference
Environment variables, CLI commands, and setup options
First-Run Network Requirement
Vestige downloads the Nomic Embed Text v1.5 model (~130MB) from Hugging Face on first use.
All subsequent runs are fully offline.
Model Cache Location
The embedding model is cached in platform-specific directories:
| Platform | Cache Location |
|---|---|
| macOS | ~/Library/Caches/com.vestige.core/fastembed |
| Linux | ~/.cache/vestige/fastembed |
| Windows | %LOCALAPPDATA%\vestige\cache\fastembed |
Override with environment variable:
export FASTEMBED_CACHE_PATH="/custom/path"
Environment Variables
| Variable | Default | Description |
|---|---|---|
RUST_LOG |
info (via tracing-subscriber) |
Log verbosity + per-module filtering |
FASTEMBED_CACHE_PATH |
./.fastembed_cache |
Embedding model cache location |
VESTIGE_DASHBOARD_PORT |
3927 |
Dashboard HTTP + WebSocket port |
VESTIGE_HTTP_PORT |
3928 |
Optional MCP-over-HTTP port |
VESTIGE_HTTP_BIND |
127.0.0.1 |
HTTP bind address |
VESTIGE_AUTH_TOKEN |
auto-generated | Dashboard + MCP HTTP bearer auth |
VESTIGE_DASHBOARD_ENABLED |
true |
Set false to disable the web dashboard |
VESTIGE_CONSOLIDATION_INTERVAL_HOURS |
6 |
FSRS-6 decay cycle cadence |
Storage location is controlled by the
--data-dir <path>CLI flag (see below), not an env var. Default is your OS's per-user data directory:~/Library/Application Support/com.vestige.core/on macOS,~/.local/share/vestige/on Linux,%APPDATA%\vestige\core\data\on Windows.
Command-Line Options
vestige-mcp --data-dir /custom/path # Custom storage location
vestige-mcp --help # Show all options
CLI Commands (v1.1+)
Stats and maintenance were moved from MCP to CLI to minimize context window usage:
vestige stats # Memory statistics
vestige stats --tagging # Retention distribution
vestige stats --states # Cognitive state distribution
vestige health # System health check
vestige consolidate # Run memory maintenance
vestige restore <file> # Restore from backup
Client Configuration
Codex (One-liner)
codex mcp add vestige -- /usr/local/bin/vestige-mcp
Codex (Manual)
Add to ~/.codex/config.toml:
[mcp_servers.vestige]
command = "/usr/local/bin/vestige-mcp"
Claude Code (One-liner)
claude mcp add vestige vestige-mcp -s user
Claude Code (Manual)
Add to ~/.claude/settings.json:
{
"mcpServers": {
"vestige": {
"command": "vestige-mcp"
}
}
}
Claude Desktop (macOS)
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"vestige": {
"command": "vestige-mcp"
}
}
}
Claude Desktop (Windows)
Add to %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"vestige": {
"command": "vestige-mcp"
}
}
}
Custom Data Directory
For per-project or custom storage:
{
"mcpServers": {
"vestige": {
"command": "vestige-mcp",
"args": ["--data-dir", "/path/to/custom/dir"]
}
}
}
See Storage Modes for more options.
Updating Vestige
Latest version:
cd vestige
git pull
cargo build --release
sudo cp target/release/vestige-mcp /usr/local/bin/
Pin to specific version:
git checkout v1.1.2
cargo build --release
Check your version:
vestige-mcp --version
Development
# Run tests
cargo test --all-features
# Run with logging
RUST_LOG=debug cargo run --release
# Build optimized binary
cargo build --release --all-features