Skip to main content
Glama

db-mcp

Un servidor MCP de solo lectura que le da a un agente de IA un acceso seguro a una pequeña base de datos SQLite de tienda (shop.db): descubrimiento del esquema, consultas SQL de solo lectura en formato libre e informes analíticos predefinidos.

Instalación

npm install

Related MCP server: SQLite Read-Only MCP Server

Configuración

El servidor lee SHOP_DB_PATH del entorno del proceso para localizar el archivo de la base de datos. Es opcional: si no está definida, el servidor usa shop.db en la raíz del proyecto. Los archivos .env no se leen automáticamente (no hay dependencia de dotenv ni ninguna opción --env-file en los scripts de package.json); .env.example se incluye únicamente como recordatorio del nombre de la variable. Define SHOP_DB_PATH en el entorno real en el que se ejecute el servidor — para un cliente MCP stdio, eso significa la clave env de su configuración (consulta «Conectar un cliente» más abajo).

Compilación

npm run build

Ejecución

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

El servidor se comunica por MCP a través de stdio — está pensado para que lo lance un cliente MCP o un host como proceso hijo, no para ejecutarse de forma interactiva.

Conectar un cliente

Configuración genérica de un cliente MCP stdio:

{
  "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: añade el mismo bloque bajo mcpServers en claude_desktop_config.json (consulta MCP.md para saber la ubicación del archivo de configuración según el sistema operativo) y, a continuación, reinicia Claude Desktop.

Tools

Herramienta

Descripción

list_tables

Lista todas las tablas con una descripción breve y el número de filas. Llámala primero.

describe_table

Definición de columnas, claves, número de filas y filas de ejemplo para una sola tabla (customers, products, orders, order_items).

query

Ejecuta un único SELECT de solo lectura (o WITH ... SELECT) con paginación mediante limit/offset.

get_top_customers

Mejores clientes por gasto total o por número de pedidos. Excluye los pedidos cancelados.

get_top_products

Productos más vendidos por unidades vendidas, con sus ingresos. Excluye los pedidos cancelados.

get_revenue_report

Ingresos agrupados por categoría, año o mes, con filtro opcional por un año. Excluye los pedidos cancelados.

Notas de seguridad

  • La conexión a la base de datos se abre con { readonly: true, fileMustExist: true }: el propio motor de SQLite rechaza físicamente cualquier escritura, sin importar el SQL que se envíe.

  • La herramienta query además valida que la entrada sea una sola sentencia SELECT (o WITH ... SELECT) antes de que llegue siquiera a la base de datos, rechazando INSERT/UPDATE/DELETE/DROP/ALTER/CREATE/PRAGMA/ATTACH/DETACH/REPLACE/VACUUM/REINDEX/TRIGGER y la entrada con varias sentencias, con un mensaje de error claro.

  • Los errores se capturan en el borde de cada herramienta y se devuelven como un resultado de herramienta MCP con isError: true y un mensaje breve: nunca se envían al cliente ni rastreos de pila ni rutas del sistema de archivos.

  • Todos los registros van a stderr (console.error): stdout está reservado en exclusiva para el flujo del protocolo JSON-RPC.

Pruebas

npm test

Ejecuta node --test (vía tsx) sobre todos los archivos *.test.ts: pruebas unitarias para el guard de SQL, la conexión a la base de datos y la lógica de consulta de cada herramienta contra la shop.db real, además de una prueba de extremo a extremo que lanza el servidor compilado y lo maneja con un cliente MCP real a través de stdio.

Docker

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

No es necesario para ejecutar el servidor localmente (la configuración del cliente anterior espera un proceso node local), pero se ofrece como una alternativa para verificarlo o ejecutarlo.

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