Shop MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DB_PATH | No | Path to the SQLite database file. By default the server reads ./shop.db in the working directory. | ./shop.db |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_customersA | List customers. Optional |
| get_productsA | List products. |
| get_ordersA | List orders. Filter by exact |
| get_order_itemsA | List order line items. Filter by |
| top_customers_by_spendA | Top customers by total spend (sum of orders.total_amount), EXCLUDING cancelled orders. Optionally filter by a date range on order_date. Each row: { customer_id, name, orders, total_spent }. Default limit 10. |
| top_products_by_quantityA | Top products by units sold (sum of order_items.quantity), EXCLUDING cancelled orders (JOINs orders to filter status and date). Each row: { product_id, name, category, units_sold }. Default limit 10. |
| top_categories_by_revenueA | Top product categories by revenue (sum of order_items.quantity * unit_price), EXCLUDING cancelled orders. Each row: { category, revenue }. Default limit 10. |
| revenue_by_periodA | Revenue (sum of orders.total_amount) EXCLUDING cancelled orders, grouped by period. |
| customers_by_order_countA | Top customers by number of orders placed. NOTE: unlike the other analytic tools, this counts ALL orders (cancelled orders are NOT excluded). Optionally filter by date range on order_date. Each row: { customer_id, name, orders }. Default limit 10. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool targets a distinct resource or metric, and the descriptions clearly separate raw entity queries from analytics. The only mild ambiguity is between top_customers_by_spend and customers_by_order_count, both returning top customer lists, though their ordering metrics differ.
Entity lookups consistently use get_* (get_customers, get_products, get_orders, get_order_items), while analytics mostly follow a noun_by_dimension pattern. customers_by_order_count breaks the top_* prefix used by other analytics tools, but the pattern remains predictable overall.
Nine tools is a well-scoped size for a shop-focused read/analytics server. Each tool covers a meaningful query surface without redundancy or excessive narrowness.
The server covers core shop data retrieval and key analytics dimensions: customers, products, orders, line items, revenue, and top lists. Minor gaps exist, such as no single-record detail endpoint or no direct product-to-category drill-down, but the surface is workable for typical reporting workflows.