# SQLite MCP Sidecar

Сервер запускается рядом с работающей базой SQLite и даёт агенту доступ к данным через HTTP, защищая таблицы от случайного удаления и поломки каскадами.

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

## Что делает

Сервер работает как отдельный процесс-сайдкар на .NET 10 рядом с уже существующей базой SQLite. Общение идёт по протоколу MCP через HTTP. Ответы на выборки возвращаются в компактном табличном виде TOON, что тратит меньше токенов по сравнению со стандартным JSON. Базу данных сервер сам не создаёт, поэтому рабочий файл приложения уже должен лежать на диске.

Главный фокус архитектуры сделан на защите от ошибок авторизованного агента. Обычные команды `update` и `delete` не принимают произвольный SQL. Фильтры строятся только через связку `AND`, исключая логическое `OR` внутри одного запроса. Параметр `maxRows` задаёт жёсткий порог: он учитывает не только прямые совпадения, но также действия триггеров и каскадные удаления `ON DELETE CASCADE`. Если операция превышает лимит, происходит откат всей транзакции. Для защиты от дублей обязателен заголовок `requestId`, возвращающий сохранённый ответ при повторной отправке.

Даже при правах только на чтение каталог с базой в Docker обязан монтироваться на запись. Причиной тому служит режим WAL: библиотека SQLite пытается открыть файл `-shm` на чтение и запись, а read-only монтирование сразу роняет процесс. Запускать две реплики для одной базы нельзя, поскольку бюджеты запросов и кеш ответов хранятся в памяти единственного процесса.

## Требования
- Нужно: Docker
- Переменные окружения: `SQLITE_SIDECAR_DB`, `SQLITE_SIDECAR_TOKEN`, `SQLITE_SIDECAR_PERMISSIONS` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

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

**Установка**
- Команды запуска нет в реестре MCP — смотрите README репозитория

## Когда брать
- дать агенту безопасный доступ к работающей SQLite без прямого SQL
- предотвратить массовое удаление строк из-за ошибки в предикате агента
- проконтролировать число затронутых строк с учётом триггеров и каскадов
- снять резервную копию базы данных во время непрерывной записи сервиса

## Примеры запросов агенту
- Покажи схему таблиц и индексов из рабочей базы данных
- Найди в таблице заказов строки со статусом failed
- Обнови статус в таблице задач на done для записи с id 54, лимит строк 1

## Похожие
- [World Monitor](https://affpapa.org/nevibecode/mcp/world-monitor.md) — MCP-сервер · ★ 89609
- [Scrapling MCP Server](https://affpapa.org/nevibecode/mcp/scrapling-mcp-server.md) — MCP-сервер · ★ 89899
- [MCP Toolbox for Databases](https://affpapa.org/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP-сервер · ★ 16730
- [PostHog MCP Server](https://affpapa.org/nevibecode/mcp/posthog-mcp-server.md) — MCP-сервер · ★ 40459
- [dbx](https://affpapa.org/nevibecode/mcp/dbx.md) — MCP-сервер · ★ 27844
- [Metabase](https://affpapa.org/nevibecode/mcp/metabase.md) — MCP-сервер · ★ 49863

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