Vision Squeezer logo

Vision Squeezer

Resizes and compresses agent-accessible images to fit vision-model token budgets before inference.

Install Vision Squeezer

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "vision-squeezer": {
      "command": "npx",
      "args": [
        "-y",
        "vision-squeezer"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 4 tools correctly (Today).

Overview

vision-squeezer MCP server processes images that an agent reads from files or receives through tools, resizing them to model-specific tile and token limits. It supports standard and OCR-oriented modes, configurable output formats and quality, cropping, and model-aware limits. Use it for API-driven or tool-mediated image workflows where reducing vision token usage matters; it cannot modify images already attached directly in a chat client.

Use cases

  • Reduce tokens for screenshots read by an agent
  • Prepare crawler images before vision-model calls
  • Compress browser-automation captures within a token budget
  • Batch-process image directories for API requests

Key features

  • Token-budget-aware image resizing
  • Tile-size and tile-count controls
  • JPEG, WebP, and AVIF output
  • OCR and standard processing modes
  • Background removal and smart cropping
  • CLI, Rust, npm, and MCP interfaces

Tools4

What Vision Squeezer lets your agent do. Expand a tool for its parameters.

Verified live~1.2k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

9/9 checks healthy over the last 46d

What it can do

From the 4 tools this server returned when we ran it.

Runs commands · 1Handles credentials · 3Read-only tools · 3
Network at startup3 connections
Files written at startup4
Install scriptspostinstall
npm provenanceNot published
Package age168 days
Maintainers1

Observed 2026-10-28 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 4d ago via OSV.dev · vision-squeezer (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars2Stargazers on the source repository.
npm downloads1.3kPackage downloads in the last 30 days.
Last commit4d agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed4Callable tools this server registers over MCP.

How Vision Squeezer works

What vision-squeezer does

vision-squeezer prepares images for vision-language model requests by fitting them to a token budget before they reach the model. Its processing pipeline can resize images around tile boundaries, remove background padding, crop content, select an output format, and adjust compression quality. Model-aware resizing is available through a provider-alias option, while a maximum token setting can downscale an image until it fits the requested budget.

The project is distributed as a Rust library and binary, an npm package with an installer, a command-line interface, and an MCP server. It is intended for images sent through model APIs or exposed to an agent through files and tools, including screenshots, crawlers, and browser automation.

How it works

The MCP server runs over standard MCP client configuration and only processes images that the agent passes to it. It does not intercept an image pasted, dragged, or attached with an @ mention in a chat window; those attachments are handled and billed by the client before an MCP tool or hook can run.

The command-line pipeline accepts a single image or a directory for batch processing. Automatic mode uses standard colour processing by default, while OCR mode is opt-in. Output can be written as JPEG, WebP, or AVIF, and the result can be emitted as JSON for machine-readable workflows. A dry-run option runs the pipeline without writing the output file.

Tile size, maximum tile count, token budget, output quality, background tolerance, and cropping behavior are configurable. Automatic quality adjustment can search for a quality setting that meets an SSIM target. The default MCP token budget is 1600, and the CLI can disable token-budget fitting by setting its maximum-token value to zero.

Setup and configuration

The npm installer can configure supported clients with a command such as:

Terminal
npx vision-squeezer install --client cursor --yes

It can also prompt for the client and scope. Supported installation targets include Claude Code, Claude Desktop, Cursor, VS Code, JetBrains, Windsurf, Gemini CLI, Codex CLI, Qwen Code, OpenCode, Kimi CLI, Zed, Kiro, and Antigravity. The installer merges JSON configuration instead of replacing unrelated servers or hooks, and rerunning it updates the existing vision-squeezer entry.

For manual configuration, run npx -y vision-squeezer as the MCP command. Pin the npm package to a chosen version when reproducible configuration matters. A Rust binary can instead be installed from crates.io with cargo install vision-squeezer, or built from source with the repository's make install target. The resulting vision-squeezer-mcp binary can be referenced directly by an MCP client.

Tools and capabilities

  • Fit images to a configurable vision-model token budget.
  • Resize around configurable tile boundaries and cap tile counts.
  • Convert output to JPEG, WebP, or AVIF with adjustable quality.
  • Remove background padding or apply smart edge-energy cropping.
  • Support standard and opt-in OCR processing modes.
  • Produce JSON output and process directories in batch workflows.

Limitations and notes

The MCP workflow only covers images made available to the agent through files or tools. It does not reduce the cost of images directly attached in Claude Code, Cursor, ChatGPT, or another chat interface before tool execution. Model-aware behavior uses provider aliases and model-specific limits, so the selected alias and token settings affect the result.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Vision Squeezer

vision-squeezer is an MCP server that connects MCP clients to an image-processing pipeline for resizing and compressing images before vision-model requests. Its main capabilities include token-budget fitting, tile-aware resizing, format and quality control, cropping, OCR-oriented processing, and model-aware image preparation for agent-accessible files and tool outputs.

Run `npx vision-squeezer install` or specify a client, such as `npx vision-squeezer install --client cursor --yes`. The installer updates the appropriate client configuration, or you can manually register `npx -y vision-squeezer` as the MCP command.

Yes, vision-squeezer works with Cursor. Run `npx vision-squeezer install --client cursor --yes`, or add an MCP entry that runs `npx -y vision-squeezer` to the global or project Cursor configuration.

No, it cannot process images pasted, dragged, or attached directly in a chat window. It can reduce tokens for images that code sends to a model API or that an agent reads from files or receives through tools.

Set the CLI `--max-tokens` option to the desired budget, such as `--max-tokens 1600`. The image is downscaled until it fits that budget; setting the value to zero disables token-budget fitting, while the MCP default is 1600.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewVision Squeezer AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/vision-squeezer?style=directory)](https://allmcps.com/mcp/vision-squeezer)
HTML Embed
<a href="https://allmcps.com/mcp/vision-squeezer"><img src="https://allmcps.com/api/badge/vision-squeezer?style=directory" alt="Vision Squeezer on AllMCPs" /></a>