vestige/crates/vestige-mcp
Error42-redacted 8d7b375b31 fix: rewrite explore_connections to use SQLite storage instead of empty in-memory structures
explore_connections (chain, associations, bridges) returned empty results because
it read from CognitiveEngine in-memory data structures that were never populated.
memory_graph works because it queries SQLite directly via storage.get_memory_subgraph().

This rewrites explore.rs to follow the same pattern as graph.rs:
- Remove CognitiveEngine dependency, use Storage directly
- associations: queries depth-1 subgraph for neighbors
- chain: pulls neighborhoods around both endpoints, builds adjacency list,
  runs BFS with priority queue (ported from chains.rs algorithm)
- bridges: reuses chain logic, extracts intermediate nodes by frequency

Also updates the call site in server.rs to pass storage instead of cognitive.

Adds integration tests that insert actual connections and verify non-empty results.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 02:00:06 -08:00
..
src fix: rewrite explore_connections to use SQLite storage instead of empty in-memory structures 2026-02-27 02:00:06 -08:00
Cargo.toml feat: Vestige v2.0.0 "Cognitive Leap" — 3D dashboard, HyDE search, WebSocket events 2026-02-22 03:07:25 -06: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