Skip to main content
Glama

db-mcp

Ein schreibgeschützter MCP-Server, der einem KI-Agenten sicheren Zugriff auf eine kleine SQLite-Shop-Datenbank (shop.db) bietet: Schema-Erkundung, frei formuliertes, schreibgeschütztes SQL und vorgefertigte Analyseberichte.

Installation

npm install

Related MCP server: SQLite Read-Only MCP Server

Konfiguration

Der Server liest SHOP_DB_PATH aus der Prozessumgebung, um die Datenbankdatei zu finden. Die Variable ist optional – ist sie nicht gesetzt, verwendet der Server shop.db im Projektverzeichnis. .env-Dateien werden nicht automatisch gelesen (es gibt weder eine dotenv-Abhängigkeit noch ein --env-file-Flag in den Skripten von package.json); .env.example ist nur als Erinnerung an den Variablennamen angegeben. Setzen Sie SHOP_DB_PATH in der tatsächlichen Umgebung, in der der Server läuft – bei einem stdio-MCP-Client entspricht das dem env-Schlüssel seiner Konfiguration (siehe „Client verbinden“ unten).

Build

npm run build

Ausführen

npm start
# or directly:
node dist/index.js

Der Server spricht MCP über stdio – er wird also als Kindprozess von einem MCP-Client/-Host gestartet und nicht interaktiv ausgeführt.

Client verbinden

Allgemeine stdio-MCP-Client-Konfiguration:

{
  "mcpServers": {
    "db-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/db-mcp/dist/index.js"],
      "env": { "SHOP_DB_PATH": "/absolute/path/to/shop.db" }
    }
  }
}

Claude Desktop: Fügen Sie denselben Block unter mcpServers in claude_desktop_config.json ein (die Position der Konfigurationsdatei je Betriebssystem finden Sie in MCP.md) und starten Sie Claude Desktop anschließend neu.

Tools

Tool

Beschreibung

list_tables

Listet alle Tabellen mit einer kurzen Beschreibung und Zeilenanzahl auf. Zuerst aufrufen.

describe_table

Spaltendefinitionen, Schlüssel, Zeilenanzahl und Beispielzeilen für eine Tabelle (customers, products, orders, order_items).

query

Führt eine einzelne schreibgeschützte SELECT-Anweisung (oder WITH ... SELECT) mit limit-/offset-Paginierung aus.

get_top_customers

Top-Kunden nach Gesamtausgaben oder Bestellanzahl. Stornierte Bestellungen sind ausgeschlossen.

get_top_products

Angebotene Bestseller nach verkauften Einheiten, mit Umsatz. Stornierte Bestellungen sind ausgeschlossen.

get_revenue_report

Umsatz nach Kategorie, Jahr oder Monat, optional auf ein Jahr gefiltert. Stornierte Bestellungen sind ausgeschlossen.

Sicherheitshinweise

  • Die Datenbankverbindung wird mit { readonly: true, fileMustExist: true } geöffnet – die SQLite-Engine verweigert physisch jede Schreiboperation, unabhängig davon, welches SQL gesendet wird.

  • Das query-Tool validiert zusätzlich, dass die Eingabe eine einzelne SELECT-Anweisung (oder WITH ... SELECT) ist, bevor sie überhaupt die Datenbank erreicht; INSERT/UPDATE/DELETE/DROP/ALTER/CREATE/PRAGMA/ATTACH/DETACH/REPLACE/VACUUM/REINDEX/TRIGGER und Mehrfachanweisungen werden mit einer freundlichen Fehlermeldung abgelehnt.

  • Fehler werden an der Grenze jedes Tools abgefangen und als MCP-Tool-Ergebnis mit isError: true und einer kurzen Meldung zurückgegeben – es werden niemals Stack-Traces oder Dateisystempfade an den Client gesendet.

  • Alle Logs gehen auf stderr (console.error) – stdout ist ausschließlich für den JSON-RPC-Protokollstream reserviert.

Tests

npm test

Führt node --test (über tsx) für jede *.test.ts-Datei aus: Unit-Tests für die SQL-Prüfung, die Datenbankverbindung und die Abfragelogik jedes Tools gegen die echte shop.db, zusätzlich ein End-to-End-Test, der den kompilierten Server startet und ihn über stdio mit einem echten MCP-Client ansteuert.

Docker

docker build -t db-mcp .
docker run -i db-mcp

Für den lokalen Betrieb des Servers nicht erforderlich (die obige Client-Konfiguration erwartet einen lokalen node-Prozess), aber als alternative Möglichkeit zur Überprüfung bzw. Ausführung bereitgestellt.

Install Server
A
license - permissive license
A
quality
B
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

  • A
    license
    B
    quality
    C
    maintenance
    Exposes Shopify store data from SLAM Gadget SQLite databases to AI tools through 60 specialized tools for products, orders, inventory, customers, and reporting. Provides read-only access with automatic schema validation and security protections.
    60
    41
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to query Shopify analytics with ShopifyQL via the Admin GraphQL endpoint, executing queries and interpreting results like 'show me the products with the highest margins'.
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants like Claude to query, analyze, and summarize local SQLite e-commerce databases using natural language through 11 tools, schema resources, and pre-built analytical prompts.

View all related MCP servers

Related MCP Connectors

  • Explore, query, and inspect SQLite databases with ease. List tables, preview results, and view det…

  • Manage your NanoCart store from any AI agent: products, orders, coupons, subscribers, reports.

  • Manage your Savanto store from your AI: catalog, content, prompts, and analytics, by chat.

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/denezhkinia/shop-db-mcp'

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