# Kompressr

An MCP server that uploads files, waits for processing and hands back private delivery links from inside your agent. Useful when the agent has to publish an image or video.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Author: kompressrcdn
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/kompressrcdn/clients/tree/HEAD/mcp-server
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/kompressr

## What it does

Kompressr exposes file tools to the agent. `upload_asset` takes exactly one `file_path` or `file_url`, `wait_for_asset` polls until the job finishes, and `generate_private_url` mints a fresh link with an expiry. Rounding it out: `list_assets` with paging, `get_asset_status`, and `delete_asset` for permanent removal by explicit ID.

Node.js 22 or newer is required. Configuration needs `KOMPRESSR_API_KEY`, plus `KOMPRESSR_PROJECT_ID` if you want to browse uploads. Skip the project UUID and `list_assets` will not work — check that before the first run. Keep keys on trusted machines and out of source control.

Processing state and deletion state are tracked separately. A private link expiring does not remove the file. Deletion starts background cleanup and cannot be undone, and cached or downloaded copies may survive. When `wait_for_asset` times out, do not re-upload: keep the `asset_id` and resume with it.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `KOMPRESSR_API_KEY`, `KOMPRESSR_PROJECT_ID` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env KOMPRESSR_API_KEY=<KOMPRESSR_API_KEY> --env KOMPRESSR_PROJECT_ID=<KOMPRESSR_PROJECT_ID> --transport stdio mcp-server -- npx -y @kompressr/mcp-server
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add mcp-server --env KOMPRESSR_API_KEY=<KOMPRESSR_API_KEY> --env KOMPRESSR_PROJECT_ID=<KOMPRESSR_PROJECT_ID> -- npx -y @kompressr/mcp-server
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@kompressr/mcp-server"
            ],
            "env": {
                "KOMPRESSR_API_KEY": "<KOMPRESSR_API_KEY>",
                "KOMPRESSR_PROJECT_ID": "<KOMPRESSR_PROJECT_ID>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp-server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@kompressr/mcp-server"
            ],
            "env": {
                "KOMPRESSR_API_KEY": "<KOMPRESSR_API_KEY>",
                "KOMPRESSR_PROJECT_ID": "<KOMPRESSR_PROJECT_ID>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e KOMPRESSR_API_KEY=<KOMPRESSR_API_KEY> -e KOMPRESSR_PROJECT_ID=<KOMPRESSR_PROJECT_ID> mcp-server npx -y @kompressr/mcp-server
```
Replace <…> with your own values

## When to use it
- push a file into storage from the agent
- wait for video processing instead of guessing
- hand a client a temporary private link
- find an upload by status or external_id
- delete a batch of assets by explicit IDs

## Example prompts
- Upload `preview.png` through Kompressr and wait until it is ready
- Generate a private link for asset 4821 that lasts an hour
- List my failed uploads on page two

## Similar
- [catalyst-stratus](https://affpapa.org/en/nevibecode/skills/catalyst-stratus.md) — skill · 994 installs
- [File Analysis API with Node.js and Express](https://affpapa.org/en/nevibecode/prompts/file-analysis-api-with-nodejs-and-express.md) — prompt · ★ 174676
- [tigris-image-optimization](https://affpapa.org/en/nevibecode/skills/tigris-image-optimization.md) — skill · 3100 installs
- [upload-files](https://affpapa.org/en/nevibecode/skills/upload-files.md) — skill · 488 installs
- [extension-object-storage](https://affpapa.org/en/nevibecode/skills/extension-object-storage.md) — skill · 28100 installs
- [image-optimization](https://affpapa.org/en/nevibecode/skills/secondsky-image-optimization.md) — skill · 585 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
