vestige/crates/vestige-mcp
Sam Valladares 318d4db147 fix(clippy): Rust 1.95 compatibility — sort_by_key + collapsible_match
CI runs on stable Rust which advanced from 1.93 to 1.95, introducing
two newly-enforced lints under -D warnings:

- clippy::unnecessary_sort_by (12 sites) — rewrite sort_by closures
  that only call .cmp on Copy keys as sort_by_key, using std::cmp::Reverse
  for the descending ones.
- clippy::collapsible_match (1 site) — merge the MemoryState::Dormant
  inner if into a match guard. The equivalent rewrite for the Ping/Pong
  arm in websocket.rs is blocked by a move of non-Copy Bytes across the
  match-guard boundary, so that one site gets an explicit #[allow].

Files touched:
- crates/vestige-core/src/advanced/{chains,compression,cross_project,reconsolidation}.rs
- crates/vestige-core/src/codebase/{git,relationships}.rs
- crates/vestige-core/src/neuroscience/{importance_signals,memory_states,predictive_retrieval}.rs
- crates/vestige-mcp/src/tools/{changelog,cross_reference}.rs
- crates/vestige-mcp/src/dashboard/websocket.rs

Verified: cargo clippy --workspace -- -D warnings green on rustc 1.95.0;
cargo test --workspace unchanged (1292 tests green).
2026-04-19 21:11:49 -05:00
..
src fix(clippy): Rust 1.95 compatibility — sort_by_key + collapsible_match 2026-04-19 21:11:49 -05:00
Cargo.toml chore(release): v2.0.7 "Visible" 2026-04-19 20:37:11 -05:00
README.md Switch embedding model from BGE to nomic-embed-text-v1.5 2026-01-25 03:11:15 -06:00

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