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.

✓ WHAT YOU GET
After installation Claude will have 34 tools available in every conversation. Memory persists across restarts, model updates, and new chat sessions. Everything runs locally — no cloud, no monthly fees.

Prerequisites

REQUIRED BEFORE STARTING
1. Claude Desktop installed (claude.ai/download)
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.

✓ WHAT THE WIZARD DOES
Scans for installed AI apps · Writes correct config per app · Uses 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
AppConfig PathProfileTools
Claude Desktop%APPDATA%/Claude/claude_desktop_config.jsonFull34
Cursor~/.cursor/mcp.jsonDev15
Windsurf~/.codeium/windsurf/mcp_config.jsonDev15
VS Code%APPDATA%/Code/User/mcp.jsonDev15
Continue~/.continue/mcpServers/vektor.jsonDev15
Groq Desktop%APPDATA%/groq-desktop-app/settings.jsonFull34
⚠ CURSOR — 40 TOOL LIMIT
Cursor caps MCP servers at 40 tools total. The wizard automatically uses the dev profile (15 tools) for Cursor, leaving room for other MCP servers.
NOTE — GROQ DESKTOP
Groq Desktop has a known MCP schema bug in v1.0.0. The wizard silently patches it during setup — you will see ✓ Groq Desktop schema fix applied automatically. No action required.

Install DXT — Step by Step

1
Locate the DXT file

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
NOTE
The DXT file is ~4KB — it's a lightweight manifest that tells Claude Desktop where your local vektor-slipstream package is. The package itself stays on your machine.
2
Open Claude Desktop Settings → Extensions

Open Claude Desktop. Click the ⋯ menu (top-right corner) → SettingsExtensions tab.

You'll see a list of installed extensions and a drop zone for new ones.

3
Drag the DXT onto the Extensions page

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.

4
Enter your licence key when prompted

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
⚠ COMMON MISTAKE
Do not add spaces before or after the key. Keys are UUID format — 8-4-4-4-12 characters separated by hyphens. Copy directly from your email.

Database path — leave blank to use the default (~/vektor-slipstream-memory.db) or enter a custom path.

5
Verify — 34 tools appear

Start a new conversation in Claude Desktop. Run this quick test:

// VERIFICATION 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

✗ DO NOT USE THESE METHODS
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"
⚠ REPLACE THESE VALUES
YOUR_USERNAME — your Windows username (run 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
✓ AFTER EDITING CONFIG
Always fully quit and restart Claude Desktop — File → Quit (not just close the window). MCP servers only initialise on startup.

All 34 Tools — Reference

Every tool available after installing the DXT. Click any tool for parameters and usage examples.

Memory Tools

vektor_recall
MEMORY
Search persistent memory by semantic similarity

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.

ParameterTypeDescription
query requiredstringNatural language search — what you want to recall
top_k optionalintegerNumber 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 }]
vektor_store
MEMORY
Store a fact, preference, or decision in persistent memory

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.

ParameterTypeDescription
content requiredstringThe fact, preference, or context to remember
importance optionalinteger 1–5Priority 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
vektor_graph
MEMORY
Traverse the associative memory graph from a concept

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.

ParameterTypeDescription
topic requiredstringStarting concept for graph traversal
depth optionalintegerHow 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
vektor_delta
MEMORY
See what changed in memory on a topic recently

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.

ParameterTypeDescription
topic requiredstringTopic to check for changes
days optionalintegerHow 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
vektor_briefing
MEMORY
Generate a summary of recent memory activity

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.

ParameterTypeDescription
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 ..."
vektor_ingest
MEMORY
Smart session ingestion — extract and store facts from conversation text

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.

ParameterTypeRequiredDescription
conversationstringrequired Conversation text, transcript, or summary to ingest
providerstringoptional LLM provider for extraction: ollama (default) · claude · openai · groq
modelstringoptional Model override — e.g. qwen2.5:4b, llama3.1:8b. Uses provider default if omitted.
importancenumberoptional Importance score 1–5 applied to all stored facts. Default: 3
dry_runbooleanoptional 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" }
Provider fallback chain: If the specified provider fails, 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

cloak_fetch
BROWSER
Fetch a URL using a stealth headless browser

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.

ParameterTypeDescription
url requiredstringFull URL including https://
force optionalbooleanBypass cache and re-fetch (default: false)
limit optionalintegerMax characters to return (default: 8000)
cloak_fetch → url: "https://example.com", force: true, limit: 12000
cloak_fetch_smart
BROWSER
Intelligent fetch — checks llms.txt first, falls back to stealth browser

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.

ParameterTypeDescription
url requiredstringFull URL to fetch
force optionalbooleanBypass cache
skipLlmsCheck optionalbooleanSkip 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
cloak_render
BROWSER
High-fidelity layout audit — fonts, gaps, asset errors

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.

ParameterTypeDescription
url requiredstringURL to render
mobile optionalbooleanUse mobile viewport (default: false)
selectors optionalstring[]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
cloak_diff
BROWSER
Detect what changed on a URL since last fetch

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.

ParameterTypeDescription
url requiredstringURL to check for changes
cloak_diff → url: "https://competitor.com/pricing"
// Returns: { added: ["new plan", "$49"], removed: ["$39"], summary: "+2 / -1" }
cloak_diff_text
BROWSER
Structural diff between two text blobs or JSON objects

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.

ParameterTypeDescription
a requiredstringPrevious state (text or JSON string)
b requiredstringCurrent 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

cloak_identity_create
IDENTITY
Create a persistent browser fingerprint identity

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.

ParameterTypeDescription
name requiredstringIdentity name — use descriptive names like "shopping-agent-1"
seed optionalstringDeterministic 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
cloak_identity_use
IDENTITY
Fetch a URL using a saved identity

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.

ParameterTypeDescription
name requiredstringName of a previously created identity
url requiredstringURL to fetch as this identity
cloak_identity_use → name: "research-agent-uk", url: "https://example.com"
cloak_identity_list
IDENTITY
List all saved browser identities

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.

ParameterTypeDescription
No parameters required
cloak_identity_list
// Returns: [{ name, ageDays, visitCount, lastUsed, ua, timezone }]

Behaviour Tools

cloak_inject_behaviour
BEHAVIOUR
Inject human-realistic mouse/scroll behaviour into a browser session

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.

ParameterTypeDescription
url requiredstringPage to open and inject behaviour on
category optionalreading | form | shopping | login | idleBehaviour type (default: reading)
durationMs optionalintegerDuration in ms for synthetic mode (default: 5000)
synthetic optionalbooleanUse procedural synthesis instead of recorded pattern
patternName optionalstringSpecific pattern name to replay
speedFactor optionalnumberReplay 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 }
cloak_behaviour_stats
BEHAVIOUR
List available behaviour patterns and categories

Returns all built-in and custom patterns, their categories, and how they work. Useful to see what's available before calling cloak_inject_behaviour.

ParameterTypeDescription
No parameters required
cloak_behaviour_stats
// Returns: { builtInPatterns: ["reading","form","shopping","login","deep-scroll-read","idle-hover"] }
cloak_load_pattern
BEHAVIOUR
Load a custom behaviour pattern from the cloak-recorder snippet

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.

ParameterTypeDescription
name requiredstringPattern name for later reference
pattern requiredstringJSON string output from cloak-recorder-snippet.js
save optionalbooleanPersist to ~/.vektor/behaviour-patterns/ (default: false)
cloak_pattern_stats
BEHAVIOUR
Show self-improving pattern store stats

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.

ParameterTypeDescription
No parameters required
cloak_pattern_stats
// Returns: { total: 6, tiers: [{ tier: "active", avg_score: 1, total_wins: 0 }], caps: { elite: 10 } }
cloak_pattern_list
BEHAVIOUR
List all patterns in the store with scores and tier

Returns every pattern with its tier, win/loss score, session count, and description. Filter by tier to see only elite or probation patterns.

ParameterTypeDescription
tier optionalelite | active | probationFilter by tier (returns all if omitted)
cloak_pattern_list → tier: "elite"
// Returns highest-scoring patterns for use in injection
cloak_pattern_prune
BEHAVIOUR
Force a prune pass on the pattern store

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.

ParameterTypeDescription
No parameters required
cloak_pattern_prune
// Returns: { removed: 2, remaining: 8 }
cloak_pattern_seed
BEHAVIOUR
Seed the pattern store with built-in patterns

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.

ParameterTypeDescription
No parameters required
cloak_pattern_seed
// Returns: { seeded: 6 } on first run, { seeded: 0, reason: "store already has patterns" } if already seeded

CAPTCHA Tools

cloak_detect_captcha
CAPTCHA
Detect if a page has a CAPTCHA challenge

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.

ParameterTypeDescription
url requiredstringURL to check for CAPTCHA
cloak_detect_captcha → url: "https://example.com/login"
// Returns: { type: "hcaptcha", sitekey: "abc123" } or null if no CAPTCHA
cloak_solve_captcha
CAPTCHA
Automatically solve a detected CAPTCHA using vision AI

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.

ParameterTypeDescription
url requiredstringURL containing the CAPTCHA
captchaType requiredhcaptcha | recaptcha_v2 | recaptcha_v3 | turnstile | audioType from cloak_detect_captcha
provider optionalclaude | openai | 2captchaAI 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

cloak_passport
VAULT
AES-256 encrypted credential vault — get, set, delete

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.

⚠ KNOWN LIMITATION
The 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.
ParameterTypeDescription
action requiredget | set | deleteOperation to perform (list is not supported)
key optionalstringCredential name — required for get/set/delete
value optionalstringValue 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"
✓ BETTER THAN .ENV FILES
Store sensitive keys in the vault rather than in .env files, claude_desktop_config.json, or shell history. The vault is machine-bound and AES-256 encrypted.
tokens_saved
ANALYTICS
Calculate token efficiency and ROI for a session

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.

ParameterTypeDescription
actual_tokens requiredintegerTokens used with VEKTOR (retrieved context only)
raw_tokens requiredintegerEstimated tokens without VEKTOR (full context every call)
agent_id optionalstringAgent identifier for tracking
cost_per_1m optionalnumberUSD per 1M tokens (default: 2.50)
provider optionalstringLLM 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)

cloak_cortex
CORTEX
Scan a project directory and build a token-aware file index

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.

ParameterTypeDescription
projectPath optionalstringAbsolute path to project root (defaults to CLOAK_PROJECT_PATH env var)
force optionalbooleanRe-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
TIP
Run cloak_cortex once after major file changes. Use cloak_cortex_anatomy for fast reads from cache — no rescanning needed.
cloak_cortex_anatomy
CORTEX
Get cached project anatomy without rescanning

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.

ParameterTypeDescription
projectPath optionalstringAbsolute 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

turbo_quant_compress
COMPRESSION
Compress the memory database using PolarQuant vector quantisation

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.

ParameterTypeDescription
dbPath optionalstringPath 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
turbo_quant_stats
COMPRESSION
Show compression stats — original vs compressed size and accuracy

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.

ParameterTypeDescription
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

Server disconnected / ECONNREFUSED at startup
Most common cause: BOM encoding in claude_desktop_config.json.

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.
Tools don't appear in Claude after DXT install
1. Fully quit Claude Desktop (File → Quit, not just close the window)
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.
better-sqlite3 error / native module rebuild required
This happens after Node.js updates. The native SQLite binding needs to be rebuilt for the new Node version.

# 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.
Licence key rejected
Keys are UUID format: 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.
cloak_fetch / cloak_render times out or returns empty
Playwright (the headless browser) may not be installed.

# 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.
turbo_quant_compress returns errors > 0
Some rows in the memory database have null or malformed embeddings — usually from interrupted writes or DB corruption.

# 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"
View extension logs
Claude Desktop → Settings → Extensions → vektor-slipstream → View Logs

Logs show MCP connection events, tool calls, and any startup errors. Include the full log output when contacting support.