About MiCompress
MiCompress is an MCP server for agents that compresses files through micompress.com. It supports several media and document types, with configurable presets and local output files.
Key features
- 01Compress images, PDFs, video, audio, documents and archives
- 02Choose lossless, recommended or extreme presets
- 03Set image maximum width
- 04Write compressed output to disk
- 05List supported file formats
Use cases
- 01Reduce image sizes in an assets folder
- 02Compress a video or audio file
- 03Create smaller document or archive files
MCP support
The MCP server exposes file compression and format-listing tools to MCP clients. Files are uploaded to micompress.com for processing, and the compressed output is written to disk.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
docker run -i --rm -e MICOMPRESS_API_KEY docker.io/huuhuybn/micompress-mcp:0.1.2MICOMPRESS_API_KEYSecretOptional personal API key from https://micompress.com/account (bigger files, monthly allowance).Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEmicompress-mcp
An MCP server that lets AI agents compress images, PDFs, video, audio, documents & archives. Powered by micompress.com.
Ask your assistant "compress the screenshots in ./assets" and it will — no manual upload, no separate tool. Works with any Model Context Protocol client: Claude Desktop, Claude Code, Cursor, and others.
Setup
Claude Code
claude mcp add micompress -- npx -y micompress-mcp
Claude Desktop / Cursor
Add to your MCP config (claude_desktop_config.json on Desktop):
{
"mcpServers": {
"micompress": {
"command": "npx",
"args": ["-y", "micompress-mcp"]
}
}
}
Tools
compress_file
Compresses a file and writes the smaller version to disk.
| Input | Description |
|---|---|
path (required) | File to compress |
output_path | Where to write it. Defaults to the input path with a -min suffix. Pass the input path to overwrite in place. |
preset | lossless · recommended (default) · extreme |
max_width | Images only — resize down to this width in pixels |
Returns the size before and after, plus the output path. The file bytes are never returned to the model — only the summary, so a large file can't flood the context window.
list_supported_formats
Lists every accepted extension, grouped by category.
Supported formats
| Category | Formats |
|---|---|
| Image | jpg, png, webp, gif, bmp, tiff, avif, svg, heic, psd, dng, raw, cr2, arw, nef |
| PDF / Docs | pdf, docx, xlsx, pptx, doc, ppt, xls, epub, odt, ods, html, csv, txt, rtf |
| Video | mp4, mov, avi, mkv, webm, m4v, wmv, flv |
| Audio | mp3, wav, flac, ogg, m4a, aac, opus |
| Archive | zip, 7z, tar, gz |
Full list: https://micompress.com/all-tools
How it works
Files are uploaded over HTTPS to micompress.com and compressed with the same engine the website uses (mozjpeg, pngquant, gifski, Ghostscript, ffmpeg, …), then written back to disk. Anonymous use works within per-type size limits (images 20MB, video 50MB, …).
Point it at files you're comfortable sending to a third-party service. The agent passes a path; the file's contents leave your machine.
Requirements
Node.js >= 18
License
MIT © MiCompress
Prefer a UI, or need bigger files? Use micompress.com.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.