# Kompressr

MCP-сервер для загрузки файлов, ожидания обработки и выдачи приватных ссылок прямо из агента. Пригодится, когда агенту нужно отдать картинку или видео наружу.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Автор: kompressrcdn
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/kompressrcdn/clients/tree/HEAD/mcp-server
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/mcp/kompressr

## Что делает

Kompressr даёт агенту набор инструментов для работы с файлами: `upload_asset` принимает ровно один `file_path` или `file_url`, `wait_for_asset` ждёт обработки, `generate_private_url` выдаёт свежую ссылку с истечением срока. Есть ещё `list_assets` с постраничным выводом, `get_asset_status` и `delete_asset` для безвозвратного удаления по явному ID.

Серверу нужен Node.js 22 или новее. В конфигурации задаются `KOMPRESSR_API_KEY` и, если планируете листать загрузки, `KOMPRESSR_PROJECT_ID`. Без ключа проект не поднимется, а `list_assets` без UUID проекта просто не заработает — это повод проверить окружение до первого запуска. Ключи лучше держать на доверенной машине и не коммитить в репозиторий.

Обратите внимание на разделение статусов: обработка и удаление — разные состояния. Приватная ссылка истекает, но сам файл при этом не удаляется. Удаление запускает фоновую очистку, отменить его нельзя, а кэши и скачанные копии могут остаться. Если `wait_for_asset` вышел по таймауту, повторно загружать файл не нужно — сохраните `asset_id` и продолжите с ним.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `KOMPRESSR_API_KEY`, `KOMPRESSR_PROJECT_ID` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```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
```
Вместо <…> подставьте свои значения

### Codex

**Командой платформы**
```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
```
Вместо <…> подставьте свои значения

### Cursor

**Файл настроек**
Файл `.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>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### GitHub Copilot

**Файл настроек**
Файл `.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>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### Gemini 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
```
Вместо <…> подставьте свои значения

## Когда брать
- загрузить файл в хранилище прямо из агента
- дождаться обработки видео и не гадать о готовности
- выдать клиенту временную приватную ссылку на файл
- найти нужную загрузку по статусу или external_id
- удалить конкретные ассеты пачкой по списку ID

## Примеры запросов агенту
- Загрузи `preview.png` через Kompressr и дождись обработки
- Сделай приватную ссылку на ассет 4821 на час
- Покажи мои загрузки со статусом failed на второй странице

## Похожие
- [catalyst-stratus](https://affpapa.org/nevibecode/skills/catalyst-stratus.md) — скилл · 994 установки
- [File Analysis API with Node.js and Express](https://affpapa.org/nevibecode/prompts/file-analysis-api-with-nodejs-and-express.md) — промпт · ★ 174676
- [tigris-image-optimization](https://affpapa.org/nevibecode/skills/tigris-image-optimization.md) — скилл · 3100 установок
- [upload-files](https://affpapa.org/nevibecode/skills/upload-files.md) — скилл · 488 установок
- [extension-object-storage](https://affpapa.org/nevibecode/skills/extension-object-storage.md) — скилл · 28100 установок
- [image-optimization](https://affpapa.org/nevibecode/skills/secondsky-image-optimization.md) — скилл · 585 установок

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
