shop
Read-only-MCP-Server für den Shop
Python-MCP-Server per stdio für die vorhandene SQLite-Datenbank des Onlineshops (data/shop.db). Die Datei wird nur schreibgeschützt geöffnet; ändernde SQL-Anweisungen werden abgelehnt und nicht ausgeführt.
Installation
Python 3.11+:
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"Related MCP server: sqlite-mcp-local
Start
Aus dem Projektstammverzeichnis (Standardpfad zur Datenbank — ./data/shop.db):
python -m shop_mcp
# или
shop-mcpAnderer Pfad zur Datenbank:
SHOP_DB_PATH=~/my/test-mcp-db/data/shop.db python -m shop_mcpDer Prozess kommuniziert über MCP via stdin/stdout. Geben Sie keine Befehle in dieses Terminal ein, solange kein MCP-Client angeschlossen ist.
MCP-Konfiguration in Cursor
Fügen Sie den Eintrag mcpServers hinzu (Cursor Settings → MCP oder .cursor/mcp.json im Projekt). Transport — stdio.
In den Beispielen ist der Pfad ~/my/test-mcp-db dieses Repository. SHOP_DB_PATH wird vom Server selbst aufgelöst (~ → Home-Verzeichnis). Wenn Cursor ~ in command / cwd nicht auflöst, geben Sie dort /Users/<вы>/my/test-mcp-db/... an.
Lokal (venv)
{
"mcpServers": {
"shop": {
"command": "~/my/test-mcp-db/.venv/bin/python",
"args": ["-m", "shop_mcp"],
"cwd": "~/my/test-mcp-db",
"env": {
"SHOP_DB_PATH": "~/my/test-mcp-db/data/shop.db"
}
}
}
}Falls nach pip install -e . ein Konsolenskript bequemer ist:
{
"mcpServers": {
"shop": {
"command": "~/my/test-mcp-db/.venv/bin/shop-mcp",
"cwd": "~/my/test-mcp-db",
"env": {
"SHOP_DB_PATH": "~/my/test-mcp-db/data/shop.db"
}
}
}
}Docker
Das Image einmal erstellen:
docker build -t shop-mcp .{
"mcpServers": {
"shop": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"~/my/test-mcp-db/data/shop.db:/data/shop.db:ro",
"-e",
"SHOP_DB_PATH=/data/shop.db",
"shop-mcp"
]
}
}
}Das Flag -i ist erforderlich, damit stdio verbunden bleibt. Mounten Sie nur shop.db; der Container darf die Datei auf dem Host nicht überschreiben.
Werkzeuge
Tool | Zweck |
| Benutzerdefinierte Tabellen und eine kurze Rollenbeschreibung ( |
| Tatsächliche Spalten, Typen, PK/FK |
| Ein |
| Bewertungen und Jahresumsatz pro Jahr ohne manuelles SQL |
Summen, Stückzahlen und Umsatz werden als order_items.quantity * order_items.unit_price berechnet; Bestellungen mit dem Status cancelled werden ausgeschlossen. Das Kalenderjahr wird aus strftime('%Y', orders.order_date) übernommen.
Sicherheit
SQLite-URI
file:<abs>?mode=roKommentare werden entfernt; Befehlsketten (
SELECT 1; DELETE ...) werden abgelehntINSERT / UPDATE / DELETE / DROP / ALTER / CREATE / ATTACH / PRAGMA / … → expliziter Fehler „nicht erlaubt“
SQLite-Syntaxfehler und unbekannte Spalten werden strukturiert zurückgegeben; der Prozess wird nicht beendet
Hinweise zur Bewertung
customershat keine Spaltecountry. Dies ist überdescribe_tablesichtbar; Geografie darf nicht erfunden werden.SELECT country FROM customersergibt einen SQLite-Fehler.Die Bestelltermine im aktuellen Dump stammen aus dem Jahr 2026. Der Umsatz für 2025 kann 0 sein. Das ist eine korrekte Antwort und kein defekter Filter.
Tests
pytestDie Tests kopieren data/shop.db in eine temporäre Datei und prüfen, dass sich der Hash der Kopie nach abgelehnten Schreibvorgängen nicht ändert.
Beispiel ausgeführter Abfrage

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
- AlicenseNot gradedqualityCmaintenanceA read-only MCP server that enables LLMs to safely explore and query any SQLite database via natural language. It exposes tools for listing tables, describing schemas, and executing SELECT/WITH queries with built-in safety guards like write prevention and row limits.MIT
- FlicenseNot gradedqualityBmaintenanceEnables read-only querying of a local SQLite database via MCP, with tools to list tables, retrieve schema, and execute SELECT/WITH/EXPLAIN queries.
- FlicenseNot gradedqualityCmaintenanceProvides read-only access to a sales database, letting LLMs answer analytics questions like revenue by region or top customers via MCP tools.
- FlicenseNot gradedqualityCmaintenanceEnables natural-language sales queries against a SQLite database, generating and executing read-only SQL through a secure MCP server with table listing, schema description, and query execution.
Related MCP Connectors
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Read-only MCP access to sessions, funnels, campaigns, errors, live visitors, and anomalies.
Explore, query, and inspect SQLite databases with ease. List tables, preview results, and view det…
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/DrZeD-13/test-mcp-db'
If you have feedback or need assistance with the MCP directory API, please join our Discord server