Claude Desktop Extension (DXT)
Connect Claude Desktop to all 34 VEKTOR Slipstream tools in one drag-and-drop.
Persistent memory · Stealth browser · Credential vault · CAPTCHA solving · Token compression.
Prerequisites
2. Node.js v18+ installed (nodejs.org)
3. vektor-slipstream installed locally:
npm install vektor-slipstream
4. Your VEKTOR licence key from your Polar purchase email
Multi-App Setup Wizard (Recommended)
The fastest way to connect VEKTOR to every AI app on your machine. One command configures Claude Desktop, Cursor, Windsurf, VS Code, Continue, and Groq Desktop automatically.
process.execPath for reliable Node path resolution ·
Backs up existing configs · Validates JSON before and after writing · Auto-patches known app bugs (Groq Desktop schema fix applied silently).
vektor activate YOUR-LICENCE-KEY
The wizard runs automatically after activation. To re-run at any time:
vektor setup
| App | Config Path | Profile | Tools |
|---|---|---|---|
| Claude Desktop | %APPDATA%/Claude/claude_desktop_config.json | Full | 34 |
| Cursor | ~/.cursor/mcp.json | Dev | 15 |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | Dev | 15 |
| VS Code | %APPDATA%/Code/User/mcp.json | Dev | 15 |
| Continue | ~/.continue/mcpServers/vektor.json | Dev | 15 |
| Groq Desktop | %APPDATA%/groq-desktop-app/settings.json | Full | 34 |
✓ Groq Desktop schema fix applied automatically. No action required.
Install DXT — Step by Step
After running npm install vektor-slipstream, the DXT file is at:
// Windows
node_modules\vektor-slipstream\vektor-slipstream-dxt\vektor-slipstream.dxt
// macOS / Linux
node_modules/vektor-slipstream/vektor-slipstream-dxt/vektor-slipstream.dxt
Open Claude Desktop. Click the ⋯ menu (top-right corner) → Settings → Extensions tab.
You'll see a list of installed extensions and a drop zone for new ones.
Drag vektor-slipstream.dxt directly onto the Extensions page in Claude Desktop.
Alternatively: click Install Extension and browse to the file.
Claude Desktop shows a confirmation dialog — click Install.
Claude Desktop will open a configuration panel. Paste your licence key exactly as it appears in your Polar purchase email:
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Database path — leave blank to use the default (~/vektor-slipstream-memory.db) or enter a custom path.
Start a new conversation in Claude Desktop. Run this quick test:
Use vektor_store to remember that I prefer TypeScript over JavaScript.
Then use vektor_recall to confirm it was stored.
✓ If both tools respond, installation is complete.
If tools don't appear — see Troubleshooting below.
Manual JSON Configuration (Advanced)
If you prefer to configure Claude Desktop via the JSON config file instead of using the DXT, follow these instructions exactly. Encoding errors in this file are the #1 cause of MCP connection failures.
Windows — Correct Method
File location: %APPDATA%\Claude\claude_desktop_config.json
Set-Content, Out-File, or Notepad to write the JSON file — all can inject a BOM (Byte Order Mark) that silently corrupts the file and causes ECONNREFUSED or server disconnected errors at startup.
Use this PowerShell command — it writes UTF-8 without BOM:
# Step 1 — Write the config (UTF-8, no BOM)
$json = [ordered]@{
mcpServers = [ordered]@{
vektor = [ordered]@{
command = "node"
args = @(
"C:\Users\YOUR_USERNAME\AppData\Local\nvm\VERSION\node_modules\vektor-slipstream\vektor.mjs",
"mcp"
)
env = [ordered]@{
VEKTOR_LICENCE_KEY = "YOUR-LICENCE-KEY-HERE"
CLOAK_PROJECT_PATH = "C:\Users\YOUR_USERNAME\AppData\Local\nvm\VERSION\node_modules\vektor-slipstream"
}
}
}
} | ConvertTo-Json -Depth 10
[System.IO.File]::WriteAllText(
"$env:APPDATA\Claude\claude_desktop_config.json",
$json,
[System.Text.Encoding]::UTF8
)
# Step 2 — Verify the file looks correct
type "$env:APPDATA\Claude\claude_desktop_config.json"
echo %USERNAME% in cmd)VERSION — your Node version (run
node --version, e.g. v24.1.0)YOUR-LICENCE-KEY-HERE — from your Polar purchase email
After writing, find the correct path to vektor.mjs:
# Find where vektor-slipstream is installed
Get-ChildItem -Path $env:APPDATA\..\Local\nvm -Recurse -Filter "vektor.mjs" | Select-Object FullName
# Or if installed globally
npm root -g
macOS — Correct Method
File location: ~/Library/Application Support/Claude/claude_desktop_config.json
# Write config safely
cat > ~/Library/Application\ Support/Claude/claude_desktop_config.json << 'EOF'
{
"mcpServers": {
"vektor": {
"command": "node",
"args": [
"/usr/local/lib/node_modules/vektor-slipstream/vektor.mjs",
"mcp"
],
"env": {
"VEKTOR_LICENCE_KEY": "YOUR-LICENCE-KEY-HERE",
"CLOAK_PROJECT_PATH": "/usr/local/lib/node_modules/vektor-slipstream"
}
}
}
}
EOF
# Find your actual path
npm root -g
How to Detect a Corrupt Config File
# Windows — check for BOM (file should NOT start with EF BB BF)
Format-Hex "$env:APPDATA\Claude\claude_desktop_config.json" | Select-Object -First 2
# If you see EF BB BF at the start — the file has a BOM. Rewrite using the method above.
# macOS
hexdump -C ~/Library/Application\ Support/Claude/claude_desktop_config.json | head -2
All 34 Tools — Reference
Every tool available after installing the DXT. Click any tool for parameters and usage examples.
Memory Tools
Searches your full associative memory graph using cosine similarity across 384-dim vectors. Returns top-k memories ranked by relevance score. Claude calls this automatically at the start of conversations to retrieve prior context.
| Parameter | Type | Description |
|---|---|---|
| query required | string | Natural language search — what you want to recall |
| top_k optional | integer | Number of results to return (default: 5) |
// Example: recall coding preferences
vektor_recall → query: "coding preferences and project setup"
// Returns scored results like:
[{ content: "User prefers TypeScript", score: 0.97, importance: 4 }]
Routes through the AUDN curation loop — automatically deduplicates, detects contradictions, and resolves conflicts before storing. Importance scores affect how long memories persist and how highly they're ranked in recall.
| Parameter | Type | Description |
|---|---|---|
| content required | string | The fact, preference, or context to remember |
| importance optional | integer 1–5 | Priority weight (default: 3). Use 5 for critical facts, 1 for ephemeral notes |
vektor_store → content: "Project deadline is April 15th — hard deadline", importance: 5
vektor_store → content: "User prefers dark mode in all tools", importance: 3
Traverses the MAGMA graph from a seed topic, returning connected nodes across all four graph types — semantic (similarity), causal (cause→effect), temporal (before→after), entity (co-occurrence). Reveals hidden connections between memories.
| Parameter | Type | Description |
|---|---|---|
| topic required | string | Starting concept for graph traversal |
| depth optional | integer | How many hops out to traverse (default: 2) |
vektor_graph → topic: "authentication", depth: 2
// Returns: nodes connected to authentication — JWT decisions, past bugs,
// team preferences, and their further connections
Returns new nodes, updates, and resolved contradictions on a topic over a time window. Useful for morning briefings, project reviews, or understanding how knowledge evolved.
| Parameter | Type | Description |
|---|---|---|
| topic required | string | Topic to check for changes |
| days optional | integer | How many days back to look (default: 7) |
vektor_delta → topic: "project architecture", days: 14
// Shows decisions made, options rejected, changes in direction over 2 weeks
Produces a human-readable briefing of the last 24h of memory activity — new facts stored, important context recalled, and graph changes. Useful as a morning summary or context primer.
| Parameter | Type | Description |
|---|---|---|
| No parameters required | ||
vektor_briefing
// Returns: "[SLIPSTREAM BRIEFING — last 24h — 12 memories]
// 1. Project deadline confirmed as April 15th (importance: 5)
// 2. Authentication migrated to JWT — session tokens deprecated ..."
Passes a conversation transcript or summary to an LLM, extracts key facts, decisions, and context, then stores each one via the AUDN deduplication pipeline. Supports multiple LLM providers with automatic fallback. Ideal for end-of-session memory consolidation.
| Parameter | Type | Required | Description |
|---|---|---|---|
conversation | string | required | Conversation text, transcript, or summary to ingest |
provider | string | optional | LLM provider for extraction: ollama (default) · claude · openai · groq |
model | string | optional | Model override — e.g. qwen2.5:4b, llama3.1:8b. Uses provider default if omitted. |
importance | number | optional | Importance score 1–5 applied to all stored facts. Default: 3 |
dry_run | boolean | optional | Extract facts but do not store — returns extracted list for inspection. Default: false |
// End-of-session ingestion with Groq (fast + free tier)
vektor_ingest → conversation: "We decided to migrate auth to JWT...", provider: "groq"
// Dry run to preview what would be stored
vektor_ingest → conversation: <transcript>, dry_run: true
// Returns:
// { extracted: 9, stored: 9, skipped: 0, provider: "groq", model: "llama-3.3-70b-versatile" }
vektor_ingest automatically tries groq → ollama → claude → openai in order until extraction succeeds. Long conversations are auto-chunked and retried on context-length errors.
Browser Tools
Launches a stealth Playwright browser instance, loads the page with full JS/CSS execution, and returns clean compressed text. Bypasses basic bot detection. Results cached locally — force-refresh with force: true.
| Parameter | Type | Description |
|---|---|---|
| url required | string | Full URL including https:// |
| force optional | boolean | Bypass cache and re-fetch (default: false) |
| limit optional | integer | Max characters to return (default: 8000) |
cloak_fetch → url: "https://example.com", force: true, limit: 12000
First checks if the site has an llms.txt file (a machine-readable content endpoint). If found, fetches it directly without spinning up a browser — faster and uses fewer tokens. Falls back to full stealth Playwright if not found.
| Parameter | Type | Description |
|---|---|---|
| url required | string | Full URL to fetch |
| force optional | boolean | Bypass cache |
| skipLlmsCheck optional | boolean | Skip llms.txt pre-flight and go straight to browser |
cloak_fetch_smart → url: "https://vektormemory.com"
// Returns: { source: "llms.txt", tokensSaved: 2456, llmsFriendly: true }
// Much faster when llms.txt is available
Renders a page with full JS/CSS and returns a detailed layout audit: computed styles for CSS selectors, font load status, layout gap suspects, and asset errors (broken images, blocked scripts). Useful for QA and visual debugging.
| Parameter | Type | Description |
|---|---|---|
| url required | string | URL to render |
| mobile optional | boolean | Use mobile viewport (default: false) |
| selectors optional | string[] | CSS selectors to audit (e.g. ["h1", "nav", ".hero"]) |
cloak_render → url: "https://mysite.com", mobile: true, selectors: ["h1", ".nav", ".cta"]
// Returns: layout dimensions, visibility, font audit, console errors
Compares the current page content against the last cached version and returns a semantic diff — added terms, removed terms, and a summary. Great for monitoring pages for changes.
| Parameter | Type | Description |
|---|---|---|
| url required | string | URL to check for changes |
cloak_diff → url: "https://competitor.com/pricing"
// Returns: { added: ["new plan", "$49"], removed: ["$39"], summary: "+2 / -1" }
Diffs two strings or JSON objects directly — no browser needed. Returns added lines, removed lines, and unchanged status. Useful for comparing prompt versions, config files, or any text output.
| Parameter | Type | Description |
|---|---|---|
| a required | string | Previous state (text or JSON string) |
| b required | string | Current state (text or JSON string) |
cloak_diff_text → a: "Version 1.4.8 — 27 tools", b: "Version 1.4.9 — 34 tools"
// Returns: { added: ["Version 1.4.9..."], removed: ["Version 1.4.8..."] }
Identity Tools
Generates a full browser fingerprint — User Agent, WebGL renderer, canvas hash, timezone, platform, fonts. Identities persist across sessions and accumulate visit history for higher trust scores on anti-bot systems.
| Parameter | Type | Description |
|---|---|---|
| name required | string | Identity name — use descriptive names like "shopping-agent-1" |
| seed optional | string | Deterministic seed — same seed always produces same fingerprint |
cloak_identity_create → name: "research-agent-uk", seed: "my-project-2026"
// Returns: UA, platform, WebGL renderer, timezone profile
Launches the stealth browser with the specified identity's full fingerprint — UA, WebGL, timezone, cookies. Call cloak_identity_create first, then use this to browse as that persistent persona.
| Parameter | Type | Description |
|---|---|---|
| name required | string | Name of a previously created identity |
| url required | string | URL to fetch as this identity |
cloak_identity_use → name: "research-agent-uk", url: "https://example.com"
Returns all stored identities with age, visit count, last used timestamp, and fingerprint summary. Older identities with higher visit counts appear more trustworthy to anti-bot systems.
| Parameter | Type | Description |
|---|---|---|
| No parameters required | ||
cloak_identity_list
// Returns: [{ name, ageDays, visitCount, lastUsed, ua, timezone }]
Behaviour Tools
Replays recorded or synthetically generated human mouse/scroll patterns via Playwright CDP. Defeats reCAPTCHA v3, Cloudflare, and DataDome behavioural scoring by making the session look human. Use synthetic mode for quick testing.
| Parameter | Type | Description |
|---|---|---|
| url required | string | Page to open and inject behaviour on |
| category optional | reading | form | shopping | login | idle | Behaviour type (default: reading) |
| durationMs optional | integer | Duration in ms for synthetic mode (default: 5000) |
| synthetic optional | boolean | Use procedural synthesis instead of recorded pattern |
| patternName optional | string | Specific pattern name to replay |
| speedFactor optional | number | Replay speed — 1.0 = real speed, 0.5 = 2x faster |
cloak_inject_behaviour → url: "https://example.com", category: "reading", durationMs: 5000, synthetic: true
// Returns: { synthetic: true, durationMs: 5000, scrolled: 1316 }
Returns all built-in and custom patterns, their categories, and how they work. Useful to see what's available before calling cloak_inject_behaviour.
| Parameter | Type | Description |
|---|---|---|
| No parameters required | ||
cloak_behaviour_stats
// Returns: { builtInPatterns: ["reading","form","shopping","login","deep-scroll-read","idle-hover"] }
Register a custom recorded behaviour pattern for replay. Record patterns using the cloak-recorder browser snippet, then paste the JSON output here. Set save: true to persist across sessions.
| Parameter | Type | Description |
|---|---|---|
| name required | string | Pattern name for later reference |
| pattern required | string | JSON string output from cloak-recorder-snippet.js |
| save optional | boolean | Persist to ~/.vektor/behaviour-patterns/ (default: false) |
Returns tier breakdown (elite / active / probation), win/loss rates, total sessions, and prune rules. The pattern store self-improves — patterns that beat bot detection get promoted, those that fail get demoted.
| Parameter | Type | Description |
|---|---|---|
| No parameters required | ||
cloak_pattern_stats
// Returns: { total: 6, tiers: [{ tier: "active", avg_score: 1, total_wins: 0 }], caps: { elite: 10 } }
Returns every pattern with its tier, win/loss score, session count, and description. Filter by tier to see only elite or probation patterns.
| Parameter | Type | Description |
|---|---|---|
| tier optional | elite | active | probation | Filter by tier (returns all if omitted) |
cloak_pattern_list → tier: "elite"
// Returns highest-scoring patterns for use in injection
Removes stale (30+ days unused), low-scoring (below -3), aged (90+ days), and near-duplicate (>92% similar) patterns from the store. Runs automatically on schedule, but can be forced manually.
| Parameter | Type | Description |
|---|---|---|
| No parameters required | ||
cloak_pattern_prune
// Returns: { removed: 2, remaining: 8 }
Populates the pattern store with the 6 built-in patterns (reading, form, shopping, login, deep-scroll-read, idle-hover). Only runs if the store is empty — safe to call at any time.
| Parameter | Type | Description |
|---|---|---|
| No parameters required | ||
cloak_pattern_seed
// Returns: { seeded: 6 } on first run, { seeded: 0, reason: "store already has patterns" } if already seeded
CAPTCHA Tools
Scans a page for hCaptcha, reCAPTCHA v2/v3, Cloudflare Turnstile, and audio challenges. Returns the CAPTCHA type and sitekey if found. Always run this before cloak_solve_captcha.
| Parameter | Type | Description |
|---|---|---|
| url required | string | URL to check for CAPTCHA |
cloak_detect_captcha → url: "https://example.com/login"
// Returns: { type: "hcaptcha", sitekey: "abc123" } or null if no CAPTCHA
Attempts to solve the CAPTCHA using vision AI. Supports hCaptcha, reCAPTCHA v2/v3, Cloudflare Turnstile, and audio. Always run cloak_detect_captcha first to confirm the type.
| Parameter | Type | Description |
|---|---|---|
| url required | string | URL containing the CAPTCHA |
| captchaType required | hcaptcha | recaptcha_v2 | recaptcha_v3 | turnstile | audio | Type from cloak_detect_captcha |
| provider optional | claude | openai | 2captcha | AI provider for solving (default: claude) |
// Typical workflow:
cloak_detect_captcha → url: "https://example.com/login"
// → { type: "hcaptcha" }
cloak_solve_captcha → url: "https://example.com/login", captchaType: "hcaptcha", provider: "claude"
Credential Vault
Machine-bound AES-256 encrypted key-value store at ~/.vektor/vault.enc. Safe to store API keys, licence keys, passwords, and tokens. Credentials only decrypt on the machine they were stored on — cannot be read from another device.
list action is not available for security reasons — you cannot enumerate all keys. Use get with a known key name, or delete to remove a key.
| Parameter | Type | Description |
|---|---|---|
| action required | get | set | delete | Operation to perform (list is not supported) |
| key optional | string | Credential name — required for get/set/delete |
| value optional | string | Value to store — required for set |
// Store your licence key securely
cloak_passport → action: "set", key: "VEKTOR_LICENCE_KEY", value: "08C7D1F4-10FE-40E0-B84E-B583D3FA4E63"
// Retrieve it later
cloak_passport → action: "get", key: "VEKTOR_LICENCE_KEY"
// Returns: { value: "08C7D1F4-10FE-40E0-B84E-B583D3FA4E63" }
// Store other credentials
cloak_passport → action: "set", key: "OPENAI_API_KEY", value: "sk-..."
cloak_passport → action: "set", key: "GEMINI_API_KEY", value: "AIza..."
// Delete a key
cloak_passport → action: "delete", key: "OLD_API_KEY"
.env files, claude_desktop_config.json, or shell history. The vault is machine-bound and AES-256 encrypted.
Calculates how many tokens VEKTOR saved versus sending raw context in every message. Tracks cost savings and ROI multiple based on your LLM provider's pricing.
| Parameter | Type | Description |
|---|---|---|
| actual_tokens required | integer | Tokens used with VEKTOR (retrieved context only) |
| raw_tokens required | integer | Estimated tokens without VEKTOR (full context every call) |
| agent_id optional | string | Agent identifier for tracking |
| cost_per_1m optional | number | USD per 1M tokens (default: 2.50) |
| provider optional | string | LLM provider name for records |
tokens_saved → actual_tokens: 7552, raw_tokens: 750000, provider: "anthropic", cost_per_1m: 3.0
// Returns: "99% token reduction · $2.23 saved · 98x ROI"
Cortex Tools (Project Indexing)
Recursively scans a project directory, estimates token counts per file, and stores the anatomy in VEKTOR memory. Enables Claude to understand your entire codebase without loading every file into context. Set CLOAK_PROJECT_PATH in your config to avoid specifying it every time.
| Parameter | Type | Description |
|---|---|---|
| projectPath optional | string | Absolute path to project root (defaults to CLOAK_PROJECT_PATH env var) |
| force optional | boolean | Re-scan all files even if unchanged (default: false) |
cloak_cortex → projectPath: "C:\\Users\\you\\my-project", force: true
// Returns: { scanned: 101, skipped: 0, written: 101, totalTokens: 7552991 }
// Or set CLOAK_PROJECT_PATH in config and just call:
cloak_cortex → force: true
cloak_cortex once after major file changes. Use cloak_cortex_anatomy for fast reads from cache — no rescanning needed.
Returns the cached file list and token estimates from the last cloak_cortex scan — sorted by token count descending. Fast read with no file I/O. Use this to navigate large codebases efficiently.
| Parameter | Type | Description |
|---|---|---|
| projectPath optional | string | Absolute path to project root (defaults to CLOAK_PROJECT_PATH env var) |
cloak_cortex_anatomy
// Returns: [{ path: "vektor.mjs", tokens: 27885 }, { path: "slipstream-core.js", tokens: 10258 }, ...]
// Files sorted largest to smallest — see at a glance what to load vs skip
Compression Tools
Compresses all stored vector embeddings using TurboQuant PolarQuant — reducing storage by ~75% while maintaining ~0.998 cosine similarity. Runs automatically in the background but can be triggered manually. Safe to run at any time.
| Parameter | Type | Description |
|---|---|---|
| dbPath optional | string | Path to memory DB file (defaults to configured path) |
turbo_quant_compress
// Returns: { migrated: 1, skipped: 0, alreadyPolar: 10072, errors: 0 }
// If errors > 0: some DB rows have null/malformed embeddings
// Run: npx vektor fix-db in your vektor-slipstream directory
Returns three compression profiles for 384-dim vectors: legacy scalar (90% reduction, ~0.989 similarity), PolarQuant (75% reduction, ~0.998 similarity), and PolarQuant+QJL (71% reduction, ~0.9995 similarity). Higher similarity = more accurate recall.
| Parameter | Type | Description |
|---|---|---|
| No parameters required | ||
turbo_quant_stats
// Returns:
// polarQuant: { bytes: 391, ratio: 3.93, savingPct: 75, cosineSim: "~0.998" }
// oldScalar: { bytes: 156, ratio: 9.85, savingPct: 90, cosineSim: "~0.989" }
Usage Patterns
Automatic memory — add to your system prompt
Go to Claude Desktop → Settings → Profile → Custom Instructions and add:
At the start of each conversation, call vektor_recall with a summary of what we're discussing to retrieve relevant context.
When I share preferences, decisions, or important facts, call vektor_store to remember them.
Before answering questions about ongoing projects or past decisions, check vektor_recall first.
At the end of long sessions, call vektor_ingest with a summary of what we discussed to consolidate memory automatically.
Use importance 5 for deadlines and hard constraints, 4 for strong preferences, 3 for general context.
Manual commands you can use directly
"Remember that my project deadline is April 15th — importance 5"
"What do you know about my coding preferences?"
"Show me the memory graph for the authentication topic"
"What changed in memory about the API design this week?"
"Store my licence key securely in the vault"
"Scan my project at C:\Users\me\my-project and build an index"
"Fetch https://example.com using the stealth browser"
Storing your licence key in the vault (recommended)
Instead of putting your key in plain text in config files:
// Say this to Claude:
"Use cloak_passport to store my VEKTOR licence key: YOUR-KEY-HERE"
// Claude calls:
cloak_passport → action: "set", key: "VEKTOR_LICENCE_KEY", value: "YOUR-KEY-HERE"
// Stored AES-256 encrypted, machine-bound, forever
// Retrieve any time:
"Use cloak_passport to get my VEKTOR_LICENCE_KEY"
Troubleshooting
Check for BOM (Windows):
Format-Hex "$env:APPDATA\Claude\claude_desktop_config.json" | Select-Object -First 2
# If bytes start with EF BB BF — you have a BOM. Rewrite the file.
Fix: Use the PowerShell [System.IO.File]::WriteAllText method shown in the Manual JSON Config section above. Never use Set-Content or Out-File.Other causes: Node.js not found — run
node --version in terminal. If it fails, install Node.js v18+ from nodejs.org.
2. Restart Claude Desktop
3. Start a new conversation — check the tools panel
If still missing: Settings → Extensions → vektor-slipstream → View Logs. Paste any errors into your support email.
# Run in your vektor-slipstream directory
npm rebuild better-sqlite3
# Or if installed globally:
cd $(npm root -g)/vektor-slipstream && npm rebuild better-sqlite3
Then restart Claude Desktop.
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX (8-4-4-4-12 hex chars).Check for: leading/trailing spaces (paste into a plain text editor first to inspect), missing hyphens, or wrong number of characters.
Retrieve your key from the Polar purchase confirmation email, or log in at polar.sh → Purchases to view it again.
# Install Playwright browsers
npx playwright install chromium
# If permission error on Windows, run PowerShell as Administrator
Then retry the fetch. If the target site has aggressive bot detection, try cloak_inject_behaviour first before fetching.
# Run the built-in DB repair tool
cd $(npm root -g)/vektor-slipstream
node fix-db.js
# Then re-run compression
# In Claude: "Use turbo_quant_compress to compress the memory database"
Logs show MCP connection events, tool calls, and any startup errors. Include the full log output when contacting support.