Skip to main content
Glama
Myrhoiazov

Shop Analytics MCP

by Myrhoiazov

Shop Analytics MCP

Servidor MCP en TypeScript para el análisis seguro de la base de datos SQLite de una tienda en línea. Funciona solo a través de stdio y proporciona seis herramientas especializadas; no se acepta SQL arbitrario.

Requisitos

  • Node.js 24.10+;

  • npm;

  • sqlite3 CLI solo para volver a aplicar la migración.

Related MCP server: mcp-analytics-server

Instalación y ejecución

npm ci
npm run build
SHOP_DB_PATH=./shop.db npm start

SHOP_DB_PATH tiene prioridad. Si la variable no está definida, el servidor busca shop.db en el directorio de trabajo actual. La ruta a la base de datos no está incrustada en el código fuente.

Datos

En el repositorio se encuentra una shop.db ya migrada. Contiene los países de los clientes y los datos del año 2025. Los valores monetarios se interpretan como EUR y no se convierten.

Para aplicar la migración a la base de datos original una vez:

npm run migrate

El esquema original se encuentra en database/schema.sql, y la migración determinista en database/001-add-analytics-data.sql.

Conexión con el cliente

Las plantillas de configuración listas se encuentran en config/:

  • claude-code.mcp.json;

  • codex.mcp.json;

  • cursor.mcp.json.

Reemplace /absolute/path/to/mcp-server en la plantilla elegida por la ruta a este proyecto. Todas las configuraciones ejecutan dist/src/index.js a través de stdio y pasan la ruta a shop.db mediante SHOP_DB_PATH.

Herramientas

Herramienta

Descripción

get_database_schema

Tablas, columnas, claves y relaciones.

get_customer_metrics

Número de clientes en un país o el país líder.

get_product_sales

Ranking de productos por unidades vendidas e ingresos.

get_category_revenue

Ranking de categorías por ingresos.

get_revenue_by_period

Ingresos para el período UTC [from, to).

get_order_leaders

Cliente con mayores gastos o mayor número de pedidos.

Las métricas financieras y de productos, así como el número de pedidos, excluyen cancelled. Los importes se devuelven en campos con el sufijo Eur. Los rankings aceptan limit de 1 a 100; los períodos usan fechas YYYY-MM-DD.

Ejemplo de funcionamiento

A continuación se muestra cómo el cliente MCP llama a get_database_schema para describir las tablas y luego a get_customer_metrics para contar los clientes de Alemania.

Ejemplo de llamada a las herramientas MCP

Seguridad

  • SQLite se abre con readOnly: true y PRAGMA query_only = ON.

  • El autorizador de SQLite prohíbe la escritura, DDL, ATTACH, DETACH y transacciones.

  • Todos los valores se vinculan como parámetros SQL.

  • Las herramientas no aceptan SQL, por lo que el agente no puede enviar una sentencia destructiva.

  • Los errores de validación no revelan SQL, rutas absolutas ni stack traces.

Pruebas

npm test

Las pruebas cubren las respuestas de referencia de las ocho preguntas de aceptación, la inyección SQL en el parámetro de país, la prohibición de DELETE, la inmutabilidad SHA-256 de la copia temporal de la base de datos y la interacción MCP a través de stdio.

Preguntas de aceptación

  1. Muéstrame todas las tablas disponibles y explica qué información contiene cada tabla.

  2. ¿Cuántos clientes son de Alemania?

  3. ¿Qué país tiene más clientes?

  4. ¿Quién es el cliente que gastó más dinero?

  5. ¿Cuáles son los 5 productos más vendidos?

  6. ¿Cuáles son las 3 principales categorías de productos por ingresos?

  7. ¿Cuántos ingresos generamos en 2025?

  8. ¿Qué cliente realizó más pedidos?

Install Server
F
license - not found
A
quality
C
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

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI to query a business database for customers, orders, and revenue using natural language through safe, well-defined tools.
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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.
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables safe exploration and analysis of SQLite databases through guarded read-only queries, schema inspection, aggregations, and CSV imports.
    5
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides read-only tools for querying a synthetic e-commerce dataset, including product categories, products, sales data, customer history, and order details.

View all related MCP servers

Related MCP Connectors

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/Myrhoiazov/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server