# shuck-file

Превращает Word, PDF, Excel, PowerPoint и CSV в чистый Markdown. Большие файлы отдаёт картой разделов, чтобы агент читал только нужное.

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

## Что делает

shuck-file ставится как MCP-сервер и даёт агенту два инструмента: `shuck` для конвертации и `list_formats` со списком поддерживаемых форматов. Внутри — отдельные экстракторы под каждый тип файла: `python-docx` для `.docx`, `pdfplumber` для `.pdf`, `openpyxl` для `.xlsx`, `python-pptx` для `.pptx`, стандартная библиотека для `.csv`. Из Word сохраняются заголовки, жирный и курсив, списки и таблицы; из PDF — текст и разрывы страниц; из Excel — все листы таблицами.

Логика такая: мелкий файл выводится целиком, крупный возвращает карту документа с разделами, оценкой токенов и подсказками, что делать дальше. Дальше можно взять только нужные разделы через `--sections s1,s3`, поискать по тексту через `--grep`, вытянуть одни таблицы или уложиться в бюджет токенов через `--budget 4000`. Есть `probe` для принудительной карты и `pull` как синоним `--all`.

Ставится пакет через `pip install shuck-file` — он же приносит CLI `shuck` и сам сервер. Для запуска нужен `uvx`, потому что команды подключения вызывают `uvx shuck-file`. Если `uvx` не установлен, MCP-сервер не поднимется, и агент просто не увидит инструментов.

## Требования
- Нужно: Python и uv (команды через uvx)

## Установка

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

**Командой платформы**
```bash
claude mcp add shuck-file -- uvx shuck-file
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from shuck-file <команда>

### Codex

**Командой платформы**
```bash
codex mcp add shuck-file -- uvx shuck-file
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from shuck-file <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "shuck-file": {
            "command": "uvx",
            "args": [
                "shuck-file"
            ]
        }
    }
}
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from shuck-file <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "shuck-file": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "shuck-file"
            ]
        }
    }
}
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from shuck-file <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add shuck-file uvx shuck-file
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from shuck-file <команда>

## Когда брать
- прочитать большой PDF, не забивая контекст целиком
- вытащить таблицы из Excel в виде Markdown
- найти нужный фрагмент в отчёте по ключевому слову
- собрать конспект презентации вместе с заметками докладчика
- уложить содержимое документа в заданный лимит токенов

## Примеры запросов агенту
- Сконвертируй `quarterly-report.pdf` в Markdown и покажи карту разделов
- Достань из `data.xlsx` только заголовки колонок и первые 5 строк
- Найди в `report.pdf` все упоминания выручки через `--grep`

## Похожие
- [Excel MCP Server](https://affpapa.org/nevibecode/mcp/excel-mcp-server.md) — MCP-сервер · ★ 4259
- [kordoc](https://affpapa.org/nevibecode/mcp/kordoc.md) — MCP-сервер · ★ 2726
- [Power BI Authoring MCP Server (Local)](https://affpapa.org/nevibecode/mcp/power-bi-authoring-mcp-server-local.md) — MCP-сервер · ★ 1247
- [Microsoft 365 MCP Server](https://affpapa.org/nevibecode/mcp/microsoft-365-mcp-server.md) — MCP-сервер · ★ 1074
- [anymd](https://affpapa.org/nevibecode/mcp/anymd.md) — MCP-сервер · ★ 1051
- [Docling MCP](https://affpapa.org/nevibecode/mcp/docling-mcp.md) — MCP-сервер · ★ 777

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