products-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port for the HTTP server (default: 3000) | 3000 |
| MCP_PATH | No | Path for the MCP endpoint (default: /mcp) | /mcp |
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 |
|---|---|
| getProductsC | Fetches the product catalog from fakestoreapi.com. Optionally limit and sort by id. |
| getProductByIdB | Fetches a single product by its numeric id. |
| getCategoriesB | Returns the list of available product categories. |
| getProductsByCategoryC | Returns products in a category (e.g. 'electronics', 'jewelery', "men's clothing", "women's clothing"). |
| searchProductsC | Case-insensitive search across product titles and descriptions. |
| getProductsByPriceRangeC | Returns products whose price falls within [min, max]. |
| getProductsAbovePriceA | Returns products that cost strictly more than the given price. |
| getProductsBelowPriceA | Returns products that cost strictly less than the given price. |
| getCheapestProductB | Returns the single cheapest product in the catalog. |
| getMostExpensiveProductA | Returns the single most expensive product in the catalog. |
| getTopRatedProductsC | Returns products sorted by rating (highest first). |
| getMostReviewedProductsB | Returns products sorted by number of ratings (highest first). |
| getProductsByMinRatingC | Returns products with an average rating >= minRating (0-5). |
| getPriceStatsA | Returns count, min, max, average, median, and total price across all products. |
| getCategoryStatsA | Returns per-category product count and average/min/max price. |
| countProductsB | Counts products, optionally filtered by category. |
| listProductTitlesB | Returns a lightweight list of product ids and titles. |
| getRandomProductA | Returns a single random product from the catalog. |
| compareProductsB | Compares two or more products side by side by their ids. |
| getProductRecommendationsC | Recommends products in the same category as the given product id. |
| getDiscountedPriceB | Calculates a product's price after applying a discount percentage (0-100). |
| summarizeCatalogA | Returns a high-level summary of the catalog: totals, categories, price range, average rating. |
| getCheapestInCategoryB | Returns the cheapest product within a given category. |
| getHighestRatedInCategoryB | Returns the highest-rated product within a given category. |
| createProductC | Creates a product. Note: fakestoreapi.com simulates writes and does not persist them. |
| updateProductC | Updates a product by id. Note: fakestoreapi.com simulates writes and does not persist them. |
| deleteProductA | Deletes a product by id. Note: fakestoreapi.com simulates writes and does not persist them. |
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 27 tools
Most tools have distinct purposes, but some overlap exists, e.g., getTopRatedProducts vs getMostReviewedProducts vs getProductsByMinRating, and multiple price-filtering tools could cause confusion.
All tool names follow a consistent camelCase verb_noun pattern (e.g., getProductById, createProduct, countProducts), with no mixing of conventions.
27 tools is on the high side; many are specialized queries that could be combined with optional parameters, but each tool serves a clear purpose.
Covers CRUD and a wide range of queries, though lacks a generic sort/filter endpoint and bulk operations; write operations are noted as simulated.