👁️ L1/L2 Exact Cache Hit
Instantly matches screenshots using exact perceptual Difference Hashing (dhash) in less than 5ms, avoiding API calls entirely.
A persistent visual cache and perceptual hashing server for developer agents. Caches webpage and app screenshots locally to optimize context windows, accelerate execution speed, and eliminate redundant LLM vision costs.
vision-memory-mcp view
Persists layout states locally. Eliminates redundant screenshot ingestion overhead for developers and agent blackboards.
Instantly matches screenshots using exact perceptual Difference Hashing (dhash) in less than 5ms, avoiding API calls entirely.
Runs local vector similarity search against CLIP image embeddings using LanceDB, identifying layout templates even under minor CSS changes.
Cross-references accessibility tree strings to detect structural shifts (e.g. content changes in forms), ensuring zero cache-hit false positives.
Use vision-memory-mcp doctor to diagnose LanceDB
write permissions, sharp image binary support, git environment,
and Node runtime.
Screenshots consume thousands of context tokens. Recovers 95%+ input token space by replacing raw images with cached text state descriptions.
Save snapshots of memory state and diff checkpoints using
snapshot save and snapshot diff to track
layout drift.
Inspect states, compute ROI, run health checks, and manage visual memory graph checkpoints.
Run environment health checks verifying LanceDB storage writability, Sharp bindings, sub-directory Git repos, and Node runtime.
vision-memory-mcp doctor
Audit sub-directory Git repos, submodules, sub-directory memory database locations, and total visual states.
vision-memory-mcp audit
Calculate cache hit rate, token savings, estimated cost reduction, and database size.
vision-memory-mcp metrics
Launch an interactive HTML force-directed graph view of the memory in your browser.
vision-memory-mcp view
Save memory state checkpoints and diff two snapshots to catch visual drift and layout shifts.
vision-memory-mcp snapshot save baseline
Equipped with complete spec features including annotations, resources, and all 20 core tools.
Provides read-only visual contexts using RFC 6570 templates under the vision-memory:/// URI scheme:
Visual cache statistics, total states, hit rates, and disk usage metrics.
Recent visual state list with thumbnails and perceptual dHash records.
Graph of visual UI transitions and navigation paths between states.
Historical visual checkpoints for visual layout diffing and regression auditing.
Template instructions that automatically fetch visual state data to bootstrap vision workflows:
Analyzes UI screen layout, input fields, interactive controls, and active alerts for a state.
Compares baseline vs current snapshot checkpoints to diagnose visual layout drift.
Formulates step-by-step navigation paths from current state to reach a goal state.
Complete OpenAPI & JSON-RPC 2.0 schema specifications, input parameter types, and example payloads for all 19 vision-memory-mcp tools.
View Formal API Reference →100% On-Device Data Sovereignty
All screenshots, perceptual hashes, vector embeddings, and
transition graphs are stored locally on your machine inside
.vision-memory-mcp/ using embedded LanceDB. Zero
telemetry, tracking, or external API calls are made unless you
explicitly configure L4 LLM Vision fallback endpoints.
Estimate the API cost and developer time saved by caching visual states rather than re-evaluating raw images repeatedly.
* Disclaimer & Cost Risk Notice: All ROI calculations, token savings estimates (e.g. up to 90%), and latency metrics are illustrative benchmark estimates based on selected visual LLM token rates ($3.00/M tokens for Claude 3.5 Sonnet) and average perceptual cache-hit ratios. Actual token savings, execution speedups, and financial drops vary depending on workflow screen repetition, image resolution, model provider pricing, and prompt structure. PuterVision LLC does not guarantee specific monetary savings or API throughput performance.
Get vision-memory-mcp configured globally in 10 seconds.
Zero manual effort:
vision-memory-mcp init automatically scaffolds config
files for all supported IDEs.
Run vision-memory-mcp init --yes inside your
repository. It automatically generates and updates configuration
files across all your installed agent environments, including
workspace agent rules (.agents/AGENTS.md) and database
paths.
Global: ~/.gemini/config/mcp_config.json
Workspace: .agents/settings.json
{
"mcpServers": {
"vision-memory-mcp": {
"command": "vision-memory-mcp",
"args": ["run"]
}
}
}
One-line CLI:
claude mcp add vision-memory-mcp -- vision-memory-mcp run
Desktop config: claude_desktop_config.json
{
"mcpServers": {
"vision-memory-mcp": {
"command": "vision-memory-mcp",
"args": ["run"]
}
}
}
Cursor: .cursor/mcp.json
VS Code: .vscode/mcp.json
{
"mcpServers": {
"vision-memory-mcp": {
"command": "vision-memory-mcp",
"args": ["run"]
}
}
}
Windsurf: ~/.codeium/windsurf/mcp_config.json
Roo Code / Cline: .cline/mcp.json
{
"mcpServers": {
"vision-memory-mcp": {
"command": "vision-memory-mcp",
"args": ["run"]
}
}
}
Add this rule to AGENTS.md, .cursorrules,
or .windsurfrules to instruct your AI agent to check
the visual cache automatically:
# Visual Memory Rules
This project uses vision-memory-mcp to cache visual UI states.
1. Call analyze_screenshot with base64 screenshots before visual checks.
2. On Cache Hit (is_known: true): Reuse cached description; skip external vision model.
3. On Cache Miss (is_known: false): Query vision model, then call analyze_screenshot to seed cache.
4. Call record_outcome after click/type/navigation actions.