Skip to main content
Glama

db-mcp

Сервер MCP в режиме только для чтения, который даёт ИИ-агенту безопасный доступ к небольшой базе данных магазина SQLite (shop.db): обнаружение схемы, произвольные SQL-запросы только для чтения и готовые аналитические отчёты.

Установка

npm install

Related 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.

Инструменты

Инструмент

Описание

list_tables

Вывести список всех таблиц с кратким описанием и количеством строк. Вызовите первым.

describe_table

Определения столбцов, ключи, количество строк и примеры строк для одной таблицы (customers, products, orders, order_items).

query

Выполнить один оператор SELECT (или WITH ... SELECT) только для чтения с пагинацией limit/offset.

get_top_customers

Лучшие клиенты по общей сумме покупок или количеству заказов. Отменённые заказы не учитываются.

get_top_products

Самые продаваемые товары по количеству проданных единиц с выручкой. Отменённые заказы не учитываются.

get_revenue_report

Выручка с группировкой по категории, году или месяцу, опционально с фильтром по одному году. Отменённые заказы не учитываются.

Примечания по безопасности

  • Подключение к базе открывается с { 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), но приведён как альтернативный способ проверить его и запустить.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    B
    quality
    C
    maintenance
    Exposes 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.
    60
    41
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables 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'.
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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