newegg-product-search
Installation
SKILL.md
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 run
tools/listto discover the correct tool name: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) → PageProducts
PageProducts 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.
Related skills