Skip to main content
Glama
Myrhoiazov

Shop Analytics MCP

by Myrhoiazov

Shop Analytics MCP

MCP-Server in TypeScript für die sichere Analyse der SQLite-Datenbank eines Online-Shops. Funktioniert nur über stdio und stellt sechs spezialisierte Tools bereit; beliebiges SQL wird nicht akzeptiert.

Anforderungen

  • Node.js 24.10+;

  • npm;

  • sqlite3-CLI nur zur erneuten Anwendung der Migration.

Related MCP server: mcp-analytics-server

Installation und Start

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

SHOP_DB_PATH hat Priorität. Wenn die Variable nicht gesetzt ist, sucht der Server shop.db im aktuellen Arbeitsverzeichnis. Der Pfad zur Datenbank ist nicht im Quellcode fest verdrahtet.

Daten

Im Repository befindet sich eine fertig migrierte shop.db. Sie enthält die Länder der Kunden und Daten für das Jahr 2025. Geldwerte werden als EUR interpretiert und nicht konvertiert.

Um die Migration einmalig auf die ursprüngliche Datenbank anzuwenden:

npm run migrate

Das ursprüngliche Schema befindet sich in database/schema.sql, die deterministische Migration in database/001-add-analytics-data.sql.

Verbindung zum Client

Vorgefertigte Konfigurationsvorlagen befinden sich in config/:

  • claude-code.mcp.json;

  • codex.mcp.json;

  • cursor.mcp.json.

Ersetzen Sie /absolute/path/to/mcp-server in der gewählten Vorlage durch den Pfad zu diesem Projekt. Alle Konfigurationen starten dist/src/index.js über stdio und übergeben den Pfad zu shop.db über SHOP_DB_PATH.

Tools

Tool

Zweck

get_database_schema

Tabellen, Spalten, Schlüssel und Beziehungen.

get_customer_metrics

Anzahl der Kunden in einem Land oder das führende Land.

get_product_sales

Rangliste der Produkte nach verkauften Einheiten und Umsatz.

get_category_revenue

Rangliste der Kategorien nach Umsatz.

get_revenue_by_period

Umsatz für den UTC-Zeitraum [from, to).

get_order_leaders

Kunde mit den höchsten Ausgaben oder der höchsten Anzahl an Bestellungen.

Finanz- und Produktkennzahlen sowie die Anzahl der Bestellungen schließen cancelled aus. Beträge werden in Feldern mit dem Suffix Eur zurückgegeben. Ranglisten akzeptieren limit von 1 bis 100; Zeiträume verwenden Daten im Format YYYY-MM-DD.

Beispiel

Unten ist zu sehen, wie ein MCP-Client get_database_schema aufruft, um die Tabellen zu beschreiben, und anschließend get_customer_metrics, um die Kunden aus Deutschland zu zählen.

Beispiel für den Aufruf von MCP-Tools

Sicherheit

  • SQLite wird mit readOnly: true und PRAGMA query_only = ON geöffnet.

  • Der SQLite-Authorizer verbietet Schreibvorgänge, DDL, ATTACH, DETACH und Transaktionen.

  • Alle Werte werden als SQL-Parameter gebunden.

  • Tools akzeptieren kein SQL, daher kann der Agent keine destruktiven Anweisungen übergeben.

  • Validierungsfehler offenbaren weder SQL, absolute Pfade noch Stack-Traces.

Tests

npm test

Die Tests decken die Referenzantworten auf acht Abnahmefragen ab, SQL-Injection im Länderparameter, das Verbot von DELETE, die Unveränderlichkeit einer temporären DB-Kopie per SHA-256 sowie die MCP-Interaktion über stdio.

Abnahmefragen

  1. Zeig mir alle verfügbaren Tabellen und erkläre, welche Informationen jede Tabelle enthält.

  2. Wie viele Kunden kommen aus Deutschland?

  3. Welches Land hat die meisten Kunden?

  4. Wer ist der Kunde, der das meiste Geld ausgegeben hat?

  5. Was sind die 5 meistverkauften Produkte?

  6. Was sind die 3 umsatzstärksten Produktkategorien?

  7. Wie viel Umsatz haben wir im Jahr 2025 erzielt?

  8. Welcher Kunde hat die meisten Bestellungen aufgegeben?

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