Shop MCP Server
Shop MCP Server
Servidor MCP local para el análisis de la base de datos SQLite de una tienda en línea. El agente de IA invoca la herramienta MCP, el servidor convierte la consulta en SQL SELECT seguro, lee directamente shop.db y devuelve un resultado estructurado.
Host-приложение
├── AI-агент / LLM
└── MCP-клиент
│ JSON-RPC / stdio
▼
Shop MCP Server
│ read-only SQLite
▼
data/shop.dbCaracterísticas
conexión directa a SQLite sin HTTP ni servidor de base de datos independiente;
transporte MCP
stdio;detección de
query_shopeinspect_databasemediantetools/list;ocho ejemplos de tareas en la descripción y en el JSON Schema de la herramienta;
texto plano, intent JSON o
SELECTseguro preparado;exclusión de los pedidos
cancelledde todo el análisis;paginación y limitación del resultado;
protección de solo lectura en varios niveles.
Related MCP server: Shop Analytics MCP Server
Instalación
Se requiere Python 3.11 o superior.
python3 -m venv .venv
.venv/bin/python -m pip install -e '.[dev]'La base de datos preparada ya se encuentra en data/shop.db. Contiene 150 clientes, el campo customers.country está relleno en todos los clientes y 45 clientes pertenecen a Germany.
Re-preparación de la base de datos
La base de datos original no se modifica. El comando crea una nueva copia de trabajo y añade country TEXT NOT NULL con valores sintéticos reproducibles:
.venv/bin/shop-prepare-db /path/to/original/shop.db ./data/shop.dbLa distribución depende únicamente de customers.id, por lo que la re-preparación produce los mismos valores. Los países son datos de prueba y no describen la ubicación real de los clientes.
Configuración de la ruta
La ruta se determina en el siguiente orden:
SHOP_DB_PATH;archivo JSON de
SHOP_MCP_CONFIGoconfig/shop_mcp.json;data/shop.dbrelativo al directorio de trabajo.
Un ejemplo de variable de entorno se encuentra en .env.example, y la configuración del cliente MCP, en config/mcp.example.json. Reemplace /absolute/path/to/MCPDeveloper por la ruta absoluta al proyecto.
Ejecución
Normalmente, el servidor lo inicia el cliente MCP desde su configuración. Para iniciar el proceso manualmente:
SHOP_DB_PATH=./data/shop.db .venv/bin/python -m shop_mcp.serverstdout está reservado para MCP JSON-RPC. La diagnosis no se envía al flujo del protocolo.
Herramientas
inspect_database
Argumentos:
{"action": "list_tables"}o:
{"action": "describe_table", "table": "customers"}query_shop
Argumentos:
{
"request": "Сколько клиентов из Германии?",
"limit": 100,
"offset": 0
}Ejemplos declarados mediante tools/list:
¿Qué tablas hay en la base de datos y qué campos tienen?
¿Cuántos clientes hay de Alemania?
¿En qué país hay más clientes?
¿Qué cliente gastó más? Devuelve el nombre, el email y el importe total.
Muestra el top-5 de productos por cantidad vendida e ingresos.
Muestra el top-3 de categorías por ingresos.
¿Qué ingresos hubo en 2025?
¿Qué cliente realizó más pedidos?
Se puede pasar un intent estructurado:
{
"request": "{\"intent\": \"revenue_by_year\", \"year\": 2025}"
}O una consulta preparada:
{
"request": "SELECT name, category FROM products ORDER BY name"
}Reglas de negocio
orders.status = 'cancelled'no participa en las métricas.Los gastos de los clientes y los ingresos anuales se calculan según
orders.total_amount.Los ingresos de productos y categorías se calculan como
quantity * unit_price.El intervalo del año es semiabierto: desde el 1 de enero inclusive hasta el 1 de enero del año siguiente exclusivo.
En la base de datos suministrada, todos los pedidos pertenecen a 2026, por lo que los ingresos de 2025 son
0.
Seguridad
El servidor abre SQLite mediante mode=ro, activa query_only, establece el authorizer de SQLite, prohíbe múltiples sentencias, DML, DDL, ATTACH, PRAGMA que modifiquen, la carga de extensiones y limita el tiempo de ejecución.
Cualquier intento de ejecutar una operación distinta de SELECT devuelve una respuesta exacta:
Не доступный вариант запросаLos errores internos de SQLite, el stack trace y las rutas locales no se devuelven al cliente.
Verificación
.venv/bin/pytest
.venv/bin/ruff check .
.venv/bin/ruff format --check .Las pruebas incluyen la ejecución real del servidor MCP como subprocess, la conexión de ClientSession mediante stdio, tools/list, la invocación de ambas herramientas, escenarios analíticos e intentos de modificación de la base de datos.
La especificación completa aprobada se encuentra en 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