Shopping MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | HTTP listener host for 'http' or 'dual' transport | |
| PORT | No | HTTP listener port for 'http' or 'dual' transport | |
| NODE_ENV | No | Set to 'production' when deploying | |
| EBAY_MOCK | No | Set to 'true' for the deterministic offline catalog | false |
| JWT_ISSUER | No | Optional JWT claim validation value | |
| JWT_SECRET | No | Shared Better Auth signing secret; use a long random secret outside development | |
| EBAY_APP_ID | No | eBay application ID for live Browse/Taxonomy calls | |
| DATABASE_URL | No | Postgres/Neon connection string; takes precedence over file storage | |
| EBAY_CERT_ID | No | eBay certificate ID for live Browse/Taxonomy calls | |
| JWT_AUDIENCE | No | Optional JWT claim validation value | |
| DATABASE_FILE | No | Local JSON store path, or ':memory:' for tests | |
| SHOPPING_TAX_RATE | No | Decimal tax rate used in checkout, for example '0.0725' | |
| MCP_TRANSPORT_TYPE | No | Transport type: 'stdio', 'http', or 'dual'; otherwise NitroStack selects stdio in development and dual in production | |
| EBAY_MARKETPLACE_ID | No | eBay marketplace, default `EBAY_US` | EBAY_US |
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 |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"subscribe": true,
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_productsB | Search the eBay catalog for products matching a text query and optional category. |
| get_productA | Retrieve current details and pricing for one eBay item. |
| get_categoriesA | Retrieve the eBay category tree, or a category subtree when category_id is supplied. |
| add_to_cartC | Add a product to the authenticated user cart. Never pass a user ID; it comes from the JWT subject. |
| view_cartA | View the authenticated user cart and its current item subtotal. |
| update_cart_itemA | Set an item quantity in the authenticated user cart; quantity 0 removes it. |
| checkoutA | Create a short-lived checkout quote using live eBay prices and availability. This does not place an order. |
| place_orderA | Place an authenticated user order from an unexpired checkout quote and clear the cart. |
| get_orderB | Retrieve one order belonging to the authenticated user. |
| order_historyA | List orders belonging only to the authenticated user, newest first. |
| cancel_orderA | Cancel an order belonging to the authenticated user when it has not already been cancelled. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| shopping_assistant | A reusable prompt for researching products and preparing a safe cart workflow. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Shopping Catalog Guide | How to search eBay products and safely inspect current item details. |
| Featured Products | A small catalog sample for demos and clients that need an initial shopping view. |
| Shopping Categories | The current eBay category tree used by the product search tool. |
| Cart Guide | Instructions for adding, viewing, and updating cart items. |
| Order Guide | The safe checkout and order-management sequence for the shopping MCP server. |
| Order Statuses | Supported order lifecycle states. |
| Health Checks | Current health status of all registered health checks |
| Product Search Results | UI component for Product Search Results |
| Product Card | UI component for Product Card |
| Category Tree | UI component for Category Tree |
| Cart Summary | UI component for Cart Summary |
| Order Confirmation | UI component for Order Confirmation |
| Order Summary | UI component for Order Summary |
| Order Cancellation | UI component for Order Cancellation |
| Widget Examples | Provides metadata and examples for all registered UI widgets |
TDQS
Scored across 11 tools
Each tool targets a distinct action or resource: search vs. specific product vs. category tree vs. cart operations vs. checkout vs. order lifecycle. No overlap in purpose, and descriptions clearly differentiate them.
Most tools follow a verb_noun pattern (search_products, get_product, get_categories, view_cart, update_cart_item, add_to_cart, place_order, cancel_order), but 'checkout' and 'order_history' deviate (single verb, noun phrase without a verb). The inconsistency is noticeable but not chaotic.
11 tools is well-scoped for a shopping domain, covering discovery, cart, checkout, and order management without unnecessary redundancy or bloat.
The tool surface covers the full shopping lifecycle: product discovery, cart, immediate cart actions, checkout, order placement, order retrieval, and cancellation. Minor gap: no direct 'get all categories' without subtree tree logic, but other methods query properly.