Shop Analytics MCP
Shop Analytics MCP
MCP-сервер на TypeScript для безопасной аналитики SQLite-базы интернет-магазина. Работает только по stdio и предоставляет шесть специализированных tools; произвольный SQL не принимается.
Требования
Node.js 24.10+;
npm;
sqlite3CLI только для повторного применения миграции.
Related MCP server: mcp-analytics-server
Установка и запуск
npm ci
npm run build
SHOP_DB_PATH=./shop.db npm startSHOP_DB_PATH имеет приоритет. Если переменная не задана, сервер ищет shop.db в текущей рабочей директории. Путь к базе не вшит в исходный код.
Данные
В репозитории находится готовая мигрированная shop.db. Она содержит страны клиентов и данные за 2025 год. Денежные значения интерпретируются как EUR и не конвертируются.
Чтобы применить миграцию к исходной базе один раз:
npm run migrateИсходная схема находится в database/schema.sql, а детерминированная миграция в database/001-add-analytics-data.sql.
Подключение к клиенту
Готовые шаблоны конфигурации находятся в config/:
claude-code.mcp.json;codex.mcp.json;cursor.mcp.json.
Замените /absolute/path/to/mcp-server в выбранном шаблоне на путь к этому проекту. Все конфигурации запускают dist/src/index.js по stdio и передают путь к shop.db через SHOP_DB_PATH.
Tools
Tool | Назначение |
| Таблицы, колонки, ключи и связи. |
| Количество клиентов в стране или страна-лидер. |
| Рейтинг товаров по проданным единицам и выручке. |
| Рейтинг категорий по выручке. |
| Выручка за UTC-период |
| Клиент с наибольшими тратами или количеством заказов. |
Финансовые и товарные показатели, а также количество заказов, исключают cancelled. Суммы возвращаются в полях с суффиксом Eur. Рейтинги принимают limit от 1 до 100; периоды используют даты YYYY-MM-DD.
Пример работы
Ниже показано, как MCP-клиент вызывает get_database_schema для описания таблиц, а затем get_customer_metrics для подсчета клиентов из Германии.

Безопасность
SQLite открывается с
readOnly: trueиPRAGMA query_only = ON.SQLite authorizer запрещает запись, DDL,
ATTACH,DETACHи транзакции.Все значения привязываются как SQL-параметры.
Tools не принимают SQL, поэтому агент не может передать destructive statement.
Ошибки валидации не раскрывают SQL, абсолютные пути или stack traces.
Тесты
npm testТесты покрывают эталонные ответы восьми приемочных вопросов, SQL-инъекцию в параметре страны, запрет DELETE, неизменность SHA-256 временной копии БД и MCP-взаимодействие по stdio.
Приемочные вопросы
Show me all available tables and explain what information each table contains.
How many customers are from Germany?
Which country has the most customers?
Who is the customer who spent the most money?
What are the top 5 best-selling products?
What are the top 3 product categories by revenue?
How much revenue did we generate in 2025?
Which customer placed the most orders?
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
- FlicenseNot gradedqualityCmaintenanceEnables AI to query a business database for customers, orders, and revenue using natural language through safe, well-defined tools.
- AlicenseNot gradedqualityBmaintenanceEnables LLMs to interact with a SQLite e-commerce database via safe, typed MCP tools with read-only guards and auth-gated mutations, plus a Claude agent for answering business questions.1MIT
- AlicenseAqualityCmaintenanceEnables safe exploration and analysis of SQLite databases through guarded read-only queries, schema inspection, aggregations, and CSV imports.5MIT
- FlicenseNot gradedqualityCmaintenanceProvides read-only tools for querying a synthetic e-commerce dataset, including product categories, products, sales data, customer history, and order details.
Related MCP Connectors
Explore, query, and inspect SQLite databases with ease. List tables, preview results, and view det…
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Privacy-first web analytics. Query pageviews, referrers, trends, and AI insights.
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/Myrhoiazov/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server