Newegg Product Search
Search Newegg products via MCP over HTTP using standard JSON-RPC. Use the bash tool to call the endpoint — no MCP client registration required.
Agent Execution Rules
- Do not ask for clarification. Infer
queryand optional parameters from the user's message and call immediately. - Use the
bashtool to run the curl command below. - On curl failure or invalid JSON, report the error directly.
API Call
curl -sS -X POST "https://apis.newegg.com/ex-mcp/endpoint/product-search" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "searchPost",
"arguments": {
"query": "<QUERY>"
}
}
}'Replace <QUERY> with the user's search term. Add optional fields inside "arguments" as needed.
If the call returns a tool-not-found error, first runtools/listto discover the correct tool name: ``bash curl -sS -X POST "https://apis.newegg.com/ex-mcp/endpoint/product-search" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":0,"method":"tools/list"}'``
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
query | string | Yes | — | Search keyword or product name |
order | integer | No | 8 | Sort order — see values below |
page | integer | No | 1 | Page number (min: 1) |
minPrice | number | No | null | Minimum price in USD (inclusive) |
maxPrice | number | No | null | Maximum price in USD (inclusive) |
order Values
| Value | Sort By |
|---|---|
1 | Best Rating |
2 | Lowest Price |
3 | Highest Price |
4 | Most Reviews |
6 | Name A → Z |
7 | Name Z → A |
8 | Featured *(default)* |
14 | Release Date |
15 | Best Selling |
16 | Seller Rating |
22 | Sales Volume |
Mapping user intent → order: "cheapest" → 2 · "most expensive" → 3 · "best rated" → 1 · "most reviewed" → 4 · "newest" → 14 · "best selling" → 15
Response Parsing
The MCP response wraps a PageProducts object. Parse the path:
response → result.content[0].text → (parse as JSON) → PageProductsPageProducts fields
| Field | Description |
|---|---|
page | Current page number |
pageSize | Items per page (typically 20) |
total | Total matching products |
totalPage | Total pages |
products | Array of ProductItem |
ProductItem fields
| Field | Description |
|---|---|
ItemNumber | Item number, e.g. "24-012-083" |
WebDescription | Product title |
Price.CurrentPriceText | Current price, e.g. "$159.99" |
Price.OriginalPriceText | Original price (show if differs from current) |
Price.PriceSaveText | Savings text, e.g. "$90.00 (36%)" (if on sale) |
Price.RatingOneDecimal | Avg rating (0–5, one decimal), e.g. 4.4 |
Price.HumanRating | Number of reviews, e.g. 850 |
ImageName | Image filename for URL construction |
IsRefurbished | true if refurbished item |
URL construction:
- Product page:
https://www.newegg.com/p/{ItemNumber} - Product image:
https://c1.neweggimages.com/productimage/nb300/{ImageName}
Response Format
## Newegg Search: "{query}"
| # | Product | Price | Rating | Reviews |
|---|---------|-------|--------|---------|
| 1 | [WebDescription](https://www.newegg.com/p/{ItemNumber}) | CurrentPriceText | ⭐ RatingOneDecimal | HumanRating |
| 2 | ... | ... | ... | ... |
📄 Page {page} / {totalPage} · {total} total results
🔗 [View all on Newegg](https://www.newegg.com/p/pl?d={query})- If item is on sale, append savings below its row:
> 💸 Save PriceSaveText (was OriginalPriceText) - If
IsRefurbishedis true, append🔄 Refurbishedto the product name - If price filter applied:
💰 Price: $minPrice – $maxPrice - If no results: inform the user and suggest broadening the search or removing filters
- Offer to load the next page if
page < totalPage
Edge Cases
- HTTP error or curl failure: Report status code and body; do not retry.
result.errorin response: Displayerror.messageto the user.- Empty
productsarray: Tell the user no results were found; suggest adjustingqueryor removing price filters.