Shop MCP Server
Shop MCP Server
Lokaler MCP-Server für die Analyse der SQLite-Datenbank eines Online-Shops. Der KI-Agent ruft ein MCP-Tool auf, der Server wandelt die Anfrage in ein sicheres SQL SELECT um, liest direkt shop.db und gibt ein strukturiertes Ergebnis zurück.
Host-приложение
├── AI-агент / LLM
└── MCP-клиент
│ JSON-RPC / stdio
▼
Shop MCP Server
│ read-only SQLite
▼
data/shop.dbFunktionen
direkte Verbindung zu SQLite ohne HTTP und separaten DB-Server;
MCP-Transport
stdio;Erkennung von
query_shopundinspect_databaseübertools/list;acht Beispielaufgaben in der Beschreibung und im JSON-Schema des Tools;
Klartext, JSON-Intent oder fertiges sicheres
SELECT;Ausschluss von Bestellungen mit Status
cancelledaus der gesamten Analyse;Paginierung und Begrenzung des Ergebnisses;
mehrstufiger Read-only-Schutz.
Related MCP server: Shop Analytics MCP Server
Installation
Erforderlich ist Python 3.11 oder neuer.
python3 -m venv .venv
.venv/bin/python -m pip install -e '.[dev]'Die vorbereitete Datenbank befindet sich bereits in data/shop.db. Sie enthält 150 Kunden, das Feld customers.country ist bei allen Kunden ausgefüllt, und 45 Kunden gehören zu Germany.
Erneute Vorbereitung der Datenbank
Die ursprüngliche Datenbank wird nicht verändert. Der Befehl erstellt eine neue Arbeitskopie und fügt country TEXT NOT NULL mit reproduzierbaren synthetischen Werten hinzu:
.venv/bin/shop-prepare-db /path/to/original/shop.db ./data/shop.dbDie Verteilung hängt nur von customers.id ab, daher liefert die erneute Vorbereitung dieselben Werte. Die Länder sind Testdaten und beschreiben nicht den tatsächlichen Standort der Kunden.
Pfadkonfiguration
Der Pfad wird in folgender Reihenfolge bestimmt:
SHOP_DB_PATH;JSON-Datei aus
SHOP_MCP_CONFIGoderconfig/shop_mcp.json;data/shop.dbrelativ zum Arbeitsverzeichnis.
Ein Beispiel für die Umgebungsvariable befindet sich in .env.example, und die MCP-Client-Konfiguration in config/mcp.example.json. Ersetzen Sie /absolute/path/to/MCPDeveloper durch den absoluten Pfad zum Projekt.
Start
Normalerweise startet der MCP-Client den Server aus seiner Konfiguration. Für den manuellen Start des Prozesses:
SHOP_DB_PATH=./data/shop.db .venv/bin/python -m shop_mcp.serverstdout ist für MCP JSON-RPC reserviert. Die Diagnose wird nicht in den Protokollstrom ausgegeben.
Werkzeuge
inspect_database
Argumente:
{"action": "list_tables"}oder:
{"action": "describe_table", "table": "customers"}query_shop
Argumente:
{
"request": "Сколько клиентов из Германии?",
"limit": 100,
"offset": 0
}Beispiele, die über tools/list deklariert werden:
Welche Tabellen gibt es in der Datenbank und welche Felder enthalten sie?
Wie viele Kunden kommen aus Deutschland?
In welchem Land gibt es die meisten Kunden?
Welcher Kunde hat am meisten ausgegeben? Gib Name, E-Mail und Gesamtsumme zurück.
Zeige die Top-5-Produkte nach verkaufter Menge und Umsatz.
Zeige die Top-3-Kategorien nach Umsatz.
Wie hoch war der Umsatz im Jahr 2025?
Welcher Kunde hat die meisten Bestellungen aufgegeben?
Ein strukturierter Intent kann übergeben werden:
{
"request": "{\"intent\": \"revenue_by_year\", \"year\": 2025}"
}Oder eine fertige Abfrage:
{
"request": "SELECT name, category FROM products ORDER BY name"
}Geschäftsregeln
orders.status = 'cancelled'fließt nicht in die Kennzahlen ein.Kundenausgaben und Jahresumsatz werden anhand von
orders.total_amountberechnet.Der Umsatz von Produkten und Kategorien wird als
quantity * unit_priceberechnet.Das Jahresintervall ist halboffen: vom 1. Januar einschließlich bis zum 1. Januar des Folgejahres ausschließlich.
In der mitgelieferten Datenbank gehören alle Bestellungen zum Jahr 2026, daher beträgt der Umsatz für 2025
0.
Sicherheit
Der Server öffnet SQLite über mode=ro, aktiviert query_only, richtet einen SQLite-Authorizer ein, verbietet mehrere Anweisungen, DML, DDL, ATTACH, verändernde PRAGMA, das Laden von Erweiterungen und begrenzt die Ausführungszeit.
Jeder Versuch, eine andere Operation als SELECT auszuführen, gibt eine präzise Antwort zurück:
Не доступный вариант запросаInterne SQLite-Fehler, Stack-Traces und lokale Pfade werden nicht an den Client zurückgegeben.
Prüfung
.venv/bin/pytest
.venv/bin/ruff check .
.venv/bin/ruff format --check .Die Tests umfassen den realen Start des MCP-Servers als Subprozess, die Verbindung von ClientSession über stdio, tools/list, den Aufruf beider Tools, analytische Szenarien und Versuche, die Datenbank zu verändern.
Die vollständige genehmigte Spezifikation befindet sich in docs/specification.md.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI agents to safely interact with a SQLite shop database through schema discovery, read-only SQL queries, and pre-built analytics reports like top customers, top products, and revenue summaries.692MIT
- FlicenseAqualityCmaintenanceEnables AI agents to answer analytical questions about an online store's SQLite database through specialized read-only tools, without any risk of modifying the underlying data.8
- FlicenseAqualityCmaintenanceEnables AI agents to safely inspect and query an SQLite e-commerce database with tools for listing tables, describing schemas, and running read-only SQL queries while blocking destructive operations.4
- FlicenseAqualityCmaintenanceEnables AI agents to read-only query an online store's SQLite database, listing tables, inspecting schemas, and running SELECT queries over customers, products, orders, and order items.3
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.
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/k0ry/MCPDeveloper'
If you have feedback or need assistance with the MCP directory API, please join our Discord server