Перейти к содержимому
Экосистема AI Vibe

Разборы

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

Редакция 28 августа 2026 г.

Локальные 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 на объём файла автор не задаёт.


Источники