Локальные CSV через MCP: агент оставляет HTML на диске, а не таблицу в чате

Три исхода, когда вы подключаете ассистента к папке с выгрузками через MCP: схема и превью в диалоге, фильтр в чате или файл отчёта на диске, который открывается в браузере без сети. Для соло-разработчика с локальными CSV и Parquet третий вариант решает задачу повторного использования — в инструменте dataloupe автор связал утилиту с MCP-сервером и шестью инструментами вместо «data MCP», которые возвращают только текст.
Шесть MCP-инструментов: от поиска файла до пути к HTML
dataloupe превращает файл данных в самодостаточную интерактивную HTML-страницу: сортировка и фильтрация работают без сервера и сетевых вызовов. Входные форматы — CSV, TSV, JSON, Parquet, Excel.
Поверх утилиты добавлен сервер Model Context Protocol: AI-ассистент управляет инструментом напрямую. Экспонируются шесть инструментов:
| Tool | Назначение |
|---|---|
list_data_files |
найти data-файлы под разрешённым root |
describe_data |
схема, число строк, типы колонок, null counts |
preview_data |
первые N строк без загрузки всего файла |
query_data |
фильтр, сортировка, агрегация |
diff_data |
построчный diff двух файлов по key column |
visualize_data |
пишет офлайн интерактивный HTML-explorer на диск и возвращает путь |
Ключевой паттерн для агентного цикла — visualize_data: ассистент оставляет устойчивый артефакт на диске, а не только ответ в чате. Сгенерированный HTML встраивает данные и рендерится без сетевых запросов — таблица не уходит в облако.
Проект MIT-licensed, полностью open source; репозиторий — github.com/aurelio-nakamura/dataloupe. Сервер зарегистрирован в официальном MCP registry как io.github.aurelio-nakamura/dataloupe — клиенты с discovery могут найти его там.
Почему путь к файлу важнее стены текста в чате
Типичный сценарий «data MCP» отдаёт строки таблицы прямо в диалог. Для разового вопроса это удобно; для отчёта, который нужно показать коллеге или открыть завтра, нет.
Два подхода, которые разводит dataloupe:
- таблицы и сводки в чате — плохо шарятся и не переживают сессию;
- офлайн HTML на диске — открывается в браузере, данные остаются на машине.
Типичный запрос вроде «describe sales.csv, then build me a report of Q3 orders over $1000» даёт анализ в диалоге и HTML-файл рядом с исходниками. Для vibe-coding workflow с локальными выгрузками это ближе к «артефакт в репозитории», чем к копипасте из чата.
В источнике явно назван Claude Desktop и формулировка «anything that speaks MCP» — любой MCP-совместимый клиент. Cursor там не фигурирует; тот же сценарий переносится на любой редактор или десктоп-клиент с поддержкой MCP и доступом к локальной папке. dataloupe при этом собран и поддерживается AI software agent (персона Aurelio Nakamura): код, тесты и текст публикации — работа агента, без изменения технических фактов о MCP и артефакте.
Запуск MCP-сервера без установки
Порог входа для эксперимента с агентом над своими файлами — низкий. Zero-install из GitHub:
npx -y github:aurelio-nakamura/dataloupe mcp
Контейнер (stdio JSON-RPC):
docker run -i --rm --mount type=bind,src="$PWD",dst=/data \
ghcr.io/aurelio-nakamura/dataloupe:latest
Настройка: указать MCP-клиенту команду выше, задать root к папке с данными, спросить ассистента про конкретный CSV — дальше цепочка инструментов от describe_data до visualize_data с путём к HTML.
Числовых лимитов на размер файла в первоисточнике нет; preview_data описан как «первые N строк без загрузки всего файла» — порог N в посте не назван.
Песочница DATALOUPE_MCP_ROOT и границы для агента
Когда ассистент получает доступ к диску через MCP, важен не только список инструментов, но и граница каталога. Сервер dataloupe работает только с файлами под каталогом, заданным через переменную DATALOUPE_MCP_ROOT.
Path-traversal за пределы root отклоняется — есть пример отказа при попытке уйти через ../../ в сторону ~/.ssh. Для соло-разработчика, который даёт агенту папку с выгрузками на рабочей машине, это практичный контракт: анализ локальных CSV без риска прочитать соседние секреты.
Итог по безопасности из источника: данные в офлайн HTML не покидают машину при рендере; доступ к файлам ограничен root; явных cap на объём файла автор не задаёт.
Источники
- I gave my data-file tool an MCP server — so an AI assistant can explore your CSVs and hand you an offline HTML report — Dev.to, автор aurelionakamura, публикация 2026-08-27; дата доступа 2026-08-28
- Репозиторий dataloupe — MIT, open source; дата доступа 2026-08-28