db-mcp
db-mcp
Сервер MCP в режиме только для чтения, который даёт ИИ-агенту безопасный доступ к небольшой базе данных магазина SQLite (shop.db): обнаружение схемы, произвольные SQL-запросы только для чтения и готовые аналитические отчёты.
Установка
npm installRelated MCP server: SQLite Read-Only MCP Server
Конфигурация
Сервер читает SHOP_DB_PATH из переменных окружения процесса, чтобы найти файл базы данных. Переменная необязательна — если она не задана, сервер использует shop.db в корне проекта. Файлы .env не читаются автоматически (в зависимостях нет dotenv, а в скриптах package.json нет флага --env-file); .env.example приведён только как напоминание об имени переменной. Задайте SHOP_DB_PATH в реальном окружении, в котором работает сервер — для stdio-клиента MCP это означает ключ env в его конфигурации (см. «Подключение клиента» ниже).
Сборка
npm run buildЗапуск
npm start
# or directly:
node dist/index.jsСервер общается по MCP через stdio — он должен запускаться как дочерний процесс MCP-клиента/хоста, а не работать в интерактивном режиме.
Подключение клиента
Типовая конфигурация stdio-клиента MCP:
{
"mcpServers": {
"db-mcp": {
"command": "node",
"args": ["/absolute/path/to/db-mcp/dist/index.js"],
"env": { "SHOP_DB_PATH": "/absolute/path/to/shop.db" }
}
}
}Claude Desktop: добавьте тот же блок в mcpServers в claude_desktop_config.json (расположение файла конфигурации для каждой ОС см. в MCP.md), затем перезапустите Claude Desktop.
Инструменты
Инструмент | Описание |
| Вывести список всех таблиц с кратким описанием и количеством строк. Вызовите первым. |
| Определения столбцов, ключи, количество строк и примеры строк для одной таблицы ( |
| Выполнить один оператор |
| Лучшие клиенты по общей сумме покупок или количеству заказов. Отменённые заказы не учитываются. |
| Самые продаваемые товары по количеству проданных единиц с выручкой. Отменённые заказы не учитываются. |
| Выручка с группировкой по категории, году или месяцу, опционально с фильтром по одному году. Отменённые заказы не учитываются. |
Примечания по безопасности
Подключение к базе открывается с
{ readonly: true, fileMustExist: true }— сам движок SQLite физически не позволяет выполнить никакую запись, независимо от того, какой SQL отправлен.Инструмент
queryдополнительно проверяет, что входные данные — это один операторSELECT(илиWITH ... SELECT), прежде чем они попадут в базу, отклоняяINSERT/UPDATE/DELETE/DROP/ALTER/CREATE/PRAGMA/ATTACH/DETACH/REPLACE/VACUUM/REINDEX/TRIGGERи многооператорный ввод, с понятным сообщением об ошибке.Ошибки перехватываются на границе каждого инструмента и возвращаются как результат MCP-инструмента с
isError: trueи коротким сообщением — клиенту никогда не отправляются трассировки стека и пути файловой системы.Все логи идут в
stderr(console.error) —stdoutзарезервирован исключительно для потока протокола JSON-RPC.
Тесты
npm testЗапускает node --test (через tsx) по всем файлам *.test.ts: модульные
тесты для SQL-защиты, подключения к базе и логики запросов каждого инструмента
на реальной shop.db, а также сквозной тест, который запускает скомпилированный
сервер дрiver’s real MCP client over stdio.
Docker
docker build -t db-mcp .
docker run -i db-mcpНе требуется для локального запуска сервера (конфигурация клиента выше ожидает
локальный процесс node), но приведён как альтернативный способ проверить его
и запустить.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityCmaintenanceExposes Shopify store data from SLAM Gadget SQLite databases to AI tools through 60 specialized tools for products, orders, inventory, customers, and reporting. Provides read-only access with automatic schema validation and security protections.6041MIT
- AlicenseAqualityCmaintenanceEnables safe, read-only SQL access to SQLite databases for AI agents, allowing schema exploration and SELECT queries with defense-in-depth protections.3MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to query Shopify analytics with ShopifyQL via the Admin GraphQL endpoint, executing queries and interpreting results like 'show me the products with the highest margins'.
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants like Claude to query, analyze, and summarize local SQLite e-commerce databases using natural language through 11 tools, schema resources, and pre-built analytical prompts.
Related MCP Connectors
Explore, query, and inspect SQLite databases with ease. List tables, preview results, and view det…
Manage your NanoCart store from any AI agent: products, orders, coupons, subscribers, reports.
Manage your Savanto store from your AI: catalog, content, prompts, and analytics, by chat.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/denezhkinia/shop-db-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server