mirror of
https://github.com/samvallad33/vestige.git
synced 2026-04-25 00:36:22 +02:00
|
Some checks are pending
CI / Test (macos-latest) (push) Waiting to run
CI / Test (ubuntu-latest) (push) Waiting to run
CI / Release Build (aarch64-apple-darwin) (push) Blocked by required conditions
CI / Release Build (x86_64-unknown-linux-gnu) (push) Blocked by required conditions
CI / Release Build (x86_64-apple-darwin) (push) Blocked by required conditions
Test Suite / Unit Tests (push) Waiting to run
Test Suite / MCP E2E Tests (push) Waiting to run
Test Suite / User Journey Tests (push) Blocked by required conditions
Test Suite / Dashboard Build (push) Waiting to run
Test Suite / Code Coverage (push) Waiting to run
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.
|
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||
| README.md | ||
Vestige MCP Server
A bleeding-edge Rust MCP (Model Context Protocol) server for Vestige - providing Claude and other AI assistants with long-term memory capabilities.
Features
- FSRS-6 Algorithm: State-of-the-art spaced repetition (21 parameters, personalized decay)
- Dual-Strength Memory Model: Based on Bjork & Bjork 1992 cognitive science research
- Local Semantic Embeddings: nomic-embed-text-v1.5 (768d) via fastembed v5 (no external API)
- HNSW Vector Search: USearch-based, 20x faster than FAISS
- Hybrid Search: BM25 + semantic with RRF fusion
- Codebase Memory: Remember patterns, decisions, and context
Installation
cd /path/to/vestige/crates/vestige-mcp
cargo build --release
Binary will be at target/release/vestige-mcp
Claude Desktop Configuration
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"vestige": {
"command": "/path/to/vestige-mcp"
}
}
}
Available Tools
Core Memory
| Tool | Description |
|---|---|
ingest |
Add new knowledge to memory |
recall |
Search and retrieve memories |
semantic_search |
Find conceptually similar content |
hybrid_search |
Combined keyword + semantic search |
get_knowledge |
Retrieve a specific memory by ID |
delete_knowledge |
Delete a memory |
mark_reviewed |
Review with FSRS rating (1-4) |
Statistics & Maintenance
| Tool | Description |
|---|---|
get_stats |
Memory system statistics |
health_check |
System health status |
run_consolidation |
Apply decay, generate embeddings |
Codebase Tools
| Tool | Description |
|---|---|
remember_pattern |
Remember code patterns |
remember_decision |
Remember architectural decisions |
get_codebase_context |
Get patterns and decisions |
Available Resources
Memory Resources
| URI | Description |
|---|---|
memory://stats |
Current statistics |
memory://recent?n=10 |
Recent memories |
memory://decaying |
Low retention memories |
memory://due |
Memories due for review |
Codebase Resources
| URI | Description |
|---|---|
codebase://structure |
Known codebases |
codebase://patterns |
Remembered patterns |
codebase://decisions |
Architectural decisions |
Example Usage (with Claude)
User: Remember that we decided to use FSRS-6 instead of SM-2 because it's 20-30% more efficient.
Claude: [calls remember_decision]
I've recorded that architectural decision.
User: What decisions have we made about algorithms?
Claude: [calls get_codebase_context]
I found 1 decision:
- We decided to use FSRS-6 instead of SM-2 because it's 20-30% more efficient.
Data Storage
- Database:
~/Library/Application Support/com.vestige.mcp/vestige-mcp.db(macOS) - Uses SQLite with FTS5 for full-text search
- Vector embeddings stored in separate table
Protocol
- JSON-RPC 2.0 over stdio
- MCP Protocol Version: 2024-11-05
- Logging to stderr (stdout reserved for JSON-RPC)
License
MIT