@scavio/mcp-server 0.34.0 → 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,9 +3,9 @@
3
3
  ![GitHub Repo stars](https://img.shields.io/github/stars/scavio-ai/scavio-mcp?style=social)
4
4
  ![License](https://img.shields.io/github/license/scavio-ai/scavio-mcp)
5
5
 
6
- [Scavio](https://scavio.dev?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme) is a unified [Web Search API](https://scavio.dev/docs/search-api?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme) and MCP server that gives AI agents web search, page extraction, and structured data from e-commerce, social, travel, jobs, real-estate, app-store, ad-library and company-filing sources. 359 tools across 59 platforms plus Extract, map, crawl and batch, one API key.
6
+ [Scavio](https://scavio.dev?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme) is a unified [Web Search API](https://scavio.dev/docs/search-api?utm_source=npm-mcp&utm_medium=package&utm_campaign=readme) and MCP server that gives AI agents web search, page extraction, and structured data from e-commerce, social, travel, jobs, real-estate, app-store, ad-library and company-filing sources. 360 tools across 59 platforms plus Extract, map, crawl and batch, one API key.
7
7
 
8
- **The 22 platforms added in 0.13.0 are opt-in.** Registering all 359 tools puts ~369KB of tool definitions — roughly 90k tokens — into every session before you type anything. So the default is the platform set 0.12.x already had, plus Extract: 142 tools, 112KB. Upgrading never removes a tool you were using. Everything else is one env var away: see [Choosing which tools load](#choosing-which-tools-load).
8
+ **The 22 platforms added in 0.13.0 are opt-in.** Registering all 360 tools puts ~372KB of tool definitions — roughly 90k tokens — into every session before you type anything. So the default is the platform set 0.12.x already had, plus Extract: 142 tools, 112KB. Upgrading never removes a tool you were using. Everything else is one env var away: see [Choosing which tools load](#choosing-which-tools-load).
9
9
 
10
10
  ## Remote MCP Server
11
11
 
@@ -207,7 +207,7 @@ Add to settings (`Cmd+,`):
207
207
 
208
208
  ## Choosing which tools load
209
209
 
210
- Scavio exposes 359 tools. Loading all of them costs ~369KB of `tools/list` —
210
+ Scavio exposes 360 tools. Loading all of them costs ~372KB of `tools/list` —
211
211
  roughly 90k tokens of context in every session before the user has said anything,
212
212
  and more tools than some clients will accept at all. So the server registers a
213
213
  curated subset by default and lets you pick the rest. The sizes below are
@@ -218,7 +218,7 @@ measured, not estimated: `npm run toolslist` reproduces them.
218
218
  | Value | Registers |
219
219
  |-------|-----------|
220
220
  | *(unset)* or `default` | Every platform 0.12.x had, plus `extract` — **142 tools, 112KB** |
221
- | `all` | every platform — **359 tools, ~369KB** |
221
+ | `all` | every platform — **360 tools, ~372KB** |
222
222
  | `extract,sec,g2` | just those platforms — 18 tools, 21KB |
223
223
  | `default,zillow,metaads` | the default set plus two more — 148 tools, 120KB |
224
224
  | `default,chatgpt,gemini` | the default set plus ChatGPT and Gemini — 144 tools, 115KB |
@@ -1000,12 +1000,17 @@ item id from a search result or a menards.com product URL (`p-60893666613.htm`).
1000
1000
  | `get_nordstrom_stores` | Full-line stores and Nordstrom Local near a ZIP or latitude/longitude (up to 100 miles), or by store number: address, phone, weekly and daily hours, coordinates, pickup and curbside flags, amenities |
1001
1001
  | `get_nordstrom_availability` | Per sku of one product: ship quantity, pickup quantity (chain-wide) and the stores that offer in-store pickup |
1002
1002
  | `get_nordstrom_suggestions` | The nordstrom.com search-box autocomplete for a partial term |
1003
+ | `get_nordstrom_reviews` | A product's full review history, up to 200 per call: sort by most helpful, most recent, highest or lowest rated; filter by stars, verified purchases, photos or text; plus the rating summary, histogram, size and width rating, praised and criticized features and the AI review summary |
1003
1004
 
1004
1005
  5 credits per call; `get_nordstrom_availability` is 10 (the product page plus the
1005
- store lookup). US site only. Product and availability take a result's `url` or
1006
- `style_id`; an unknown style id is a 404. Product reviews are the ones shown on
1007
- the product page (up to about 13) plus the total review count and star
1008
- histogram; there is no deeper review paging. A sku's `quantity` is units
1006
+ store lookup) and `get_nordstrom_reviews` is 10. US site only. Product,
1007
+ reviews and availability take a result's `url` or `style_id`; an unknown style
1008
+ id is a 404. Product reviews are the ones shown on the product page (up to
1009
+ about 13) plus the total review count and star histogram;
1010
+ `get_nordstrom_reviews` returns the rest (rating-only reviews included, without
1011
+ text). It takes 20-60s, up to about 100s at 200 reviews, so lower
1012
+ `max_reviews` if your client times out long tool calls; `sort` cannot be
1013
+ combined with `search`. A sku's `quantity` is units
1009
1014
  available to ship, and `in_stock` means it can be shipped or picked up in a
1010
1015
  store, so a sku can read in stock with quantity 0. Availability quantities are
1011
1016
  chain-wide: per store Nordstrom only says whether pickup is available, not how
@@ -4,8 +4,8 @@ export declare const PLATFORM_KEYS: string[];
4
4
  /**
5
5
  * What registers when SCAVIO_PLATFORMS is unset.
6
6
  *
7
- * Registering everything is not an option any more. The full surface is 359
8
- * tools, which serialises to 369KB of tools/list (measured with
7
+ * Registering everything is not an option any more. The full surface is 360
8
+ * tools, which serialises to 372KB of tools/list (measured with
9
9
  * `npm run toolslist`, not estimated) — roughly 90k tokens pushed into the
10
10
  * context of EVERY session before the user has typed anything, and past the
11
11
  * hard tool-count ceiling some clients enforce. The default set below is 142
@@ -27,7 +27,7 @@ export declare const DEFAULT_PLATFORMS: string[];
27
27
  * Turn a SCAVIO_PLATFORMS value into the canonical platform keys to register.
28
28
  *
29
29
  * Accepts a comma-separated list of platform keys, plus three keywords:
30
- * all — every platform (359 tools)
30
+ * all — every platform (360 tools)
31
31
  * default — expands to DEFAULT_PLATFORMS, so `default,sec,g2` is additive
32
32
  * none — no platform tools at all, leaving only get_usage
33
33
  *
@@ -153,8 +153,8 @@ export const PLATFORM_KEYS = Object.keys(PLATFORMS);
153
153
  /**
154
154
  * What registers when SCAVIO_PLATFORMS is unset.
155
155
  *
156
- * Registering everything is not an option any more. The full surface is 359
157
- * tools, which serialises to 369KB of tools/list (measured with
156
+ * Registering everything is not an option any more. The full surface is 360
157
+ * tools, which serialises to 372KB of tools/list (measured with
158
158
  * `npm run toolslist`, not estimated) — roughly 90k tokens pushed into the
159
159
  * context of EVERY session before the user has typed anything, and past the
160
160
  * hard tool-count ceiling some clients enforce. The default set below is 142
@@ -211,7 +211,7 @@ function warnOnce(message) {
211
211
  * Turn a SCAVIO_PLATFORMS value into the canonical platform keys to register.
212
212
  *
213
213
  * Accepts a comma-separated list of platform keys, plus three keywords:
214
- * all — every platform (359 tools)
214
+ * all — every platform (360 tools)
215
215
  * default — expands to DEFAULT_PLATFORMS, so `default,sec,g2` is additive
216
216
  * none — no platform tools at all, leaving only get_usage
217
217
  *
@@ -2,11 +2,12 @@ import { z } from "zod";
2
2
  import { handleApiError } from "../lib/tool-error.js";
3
3
  import { trimResponse } from "../lib/trim-response.js";
4
4
  // Shapes mirror backend/src/routes/nordstrom.ts. Cross-field rules the backend
5
- // enforces and zod here does not: product and availability take url OR
6
- // style_id; stores takes exactly one of zip, latitude+longitude or
7
- // store_numbers. No zod `.default()`: the MCP SDK would post a defaulted field
5
+ // enforces and zod here does not: product, availability and reviews take url
6
+ // OR style_id; stores takes exactly one of zip, latitude+longitude or
7
+ // store_numbers; reviews rejects sort together with search. No zod `.default()`: the MCP SDK would post a defaulted field
8
8
  // on every call.
9
9
  const SORTS = ["relevance", "rating", "price_high", "price_low", "newest", "percent_off"];
10
+ const REVIEW_SORTS = ["most_helpful", "most_recent", "highest_rated", "lowest_rated"];
10
11
  const LISTING_FIELDS = `Each product has the same fields as a search_nordstrom result: style id, URL, name, brand, image, current price and price range in dollars, original price range, percent off and on-sale flag, rating, review count, badges, a low-inventory flag, marketplace seller and every color. Also returns the total result count, page count, and the filter sidebar: each filter group (Product Type > Clothing, Size > Women's Clothing, Color, Brand, Discount...) with its options and product counts (price buckets carry no count on the site, so theirs are null; groups with more than 100 options, such as Brand, list the 100 with the most products and give the full option_count).`;
11
12
  const page = () => z.number().int().min(1).max(100).optional()
12
13
  .describe("Results page, 1-based. Defaults to 1. 24 products per page.");
@@ -22,7 +23,7 @@ export function registerNordstromTools(server, getClient) {
22
23
  return handleApiError(err);
23
24
  }
24
25
  };
25
- server.tool("search_nordstrom", `Search nordstrom.com (US) products, 24 per page, sorted by relevance, rating, price, newest or percent off. Each result has style id, URL, name, brand, image, current price and price range in dollars, original price range, percent off and on-sale flag, rating, review count, badges such as new or new_markdown, a low-inventory flag, whether it is sold by a marketplace seller (and the seller's name), and every color with its color family and image. Also returns the total result count and page count. Use a result's url or style_id with get_nordstrom_product or get_nordstrom_availability. 5 credits/call.`, {
26
+ server.tool("search_nordstrom", `Search nordstrom.com (US) products, 24 per page, sorted by relevance, rating, price, newest or percent off. Each result has style id, URL, name, brand, image, current price and price range in dollars, original price range, percent off and on-sale flag, rating, review count, badges such as new or new_markdown, a low-inventory flag, whether it is sold by a marketplace seller (and the seller's name), and every color with its color family and image. Also returns the total result count and page count. Use a result's url or style_id with get_nordstrom_product, get_nordstrom_reviews or get_nordstrom_availability. 5 credits/call.`, {
26
27
  query: z.string().min(1).max(200)
27
28
  .describe("Search keywords."),
28
29
  page: z.number().int().min(1).max(100).optional()
@@ -30,7 +31,7 @@ export function registerNordstromTools(server, getClient) {
30
31
  sort: z.enum(SORTS).optional()
31
32
  .describe("relevance (default), rating, price_high, price_low, newest or percent_off."),
32
33
  }, post("search"));
33
- server.tool("get_nordstrom_product", `One nordstrom.com (US) product by URL or style id: name, brand, description, feature bullets, fit notes, final-sale flag, current, original and clearance price ranges, percent off, rating, review count, the star histogram, the size-fit distribution (too small to too big), the AI review summary when the site shows one, the most mentioned praised and criticized features with a quote each, breadcrumbs and images. Every color lists its images and every size as a sku with sku id, size, size type, UPC, price, original price, percent off, price type (regular, clearance, promotion), in_stock and the quantity available to ship. in_stock is true when the sku can be shipped or picked up in a store, so a sku held only in a store reads in stock with quantity 0 (get_nordstrom_availability lists its pickup stores). Includes the reviews shown on the product page (up to about 13), with the total review count; each review has title, text, rating, size rating, author, date, helpful votes and verified-purchase flag. An unknown style id is a 404. 5 credits.`, {
34
+ server.tool("get_nordstrom_product", `One nordstrom.com (US) product by URL or style id: name, brand, description, feature bullets, fit notes, final-sale flag, current, original and clearance price ranges, percent off, rating, review count, the star histogram, the size-fit distribution (too small to too big), the AI review summary when the site shows one, the most mentioned praised and criticized features with a quote each, breadcrumbs and images. Every color lists its images and every size as a sku with sku id, size, size type, UPC, price, original price, percent off, price type (regular, clearance, promotion), in_stock and the quantity available to ship. in_stock is true when the sku can be shipped or picked up in a store, so a sku held only in a store reads in stock with quantity 0 (get_nordstrom_availability lists its pickup stores). Includes the reviews shown on the product page (up to about 13), with the total review count; each review has title, text, rating, size rating, author, date, helpful votes and verified-purchase flag (get_nordstrom_reviews pages the full review history). An unknown style id is a 404. 5 credits.`, {
34
35
  url: z.string().min(1).max(500).optional()
35
36
  .describe("nordstrom.com product URL (the `url` of a search result)."),
36
37
  style_id: z.string().regex(/^\d{4,10}$/).optional()
@@ -74,5 +75,23 @@ export function registerNordstromTools(server, getClient) {
74
75
  limit: z.number().int().min(1).max(20).optional()
75
76
  .describe("Suggestions to return, 1-20. Defaults to 8. The site may return fewer."),
76
77
  }, post("suggestions"));
78
+ server.tool("get_nordstrom_reviews", `Customer reviews of one nordstrom.com (US) product by URL or style id, up to 200 per call (default 60), sorted most helpful (default), most recent, highest rated or lowest rated, optionally filtered to star ratings, verified purchases, reviews with photos, or a text search. Returns the product's review summary (average rating, total reviews, star histogram, size rating 1 runs small to 5 runs big, width rating where the site has one, the most mentioned praised and criticized features with a quote each, and the count of rating-only reviews), the AI review summary when the site shows one, the number of reviews matching the filters (total_results), returned and has_more. Each review has id, title, text, star rating, size rating, author, date, helpful votes, verified-purchase flag, reviewer badges (verified_purchaser, top_250, top_1000), size and color purchased, the reviewer's height, weight, body type and usual sizes when given, secondary ratings (Size, with its scale), the site it was syndicated from (e.g. nordstromrack.com) and photos with thumbnails. Rating-only reviews are included without title or text. Takes 20-60s, up to about 100s at max_reviews 200: use a smaller max_reviews when a quick answer is enough. A product with no reviews returns an empty list; an unknown style id is a 404. 10 credits.`, {
79
+ url: z.string().min(1).max(500).optional()
80
+ .describe("nordstrom.com product URL (the `url` of a search, category or brand result)."),
81
+ style_id: z.string().regex(/^\d{4,10}$/).optional()
82
+ .describe("Nordstrom style id, used when url is not given."),
83
+ sort: z.enum(REVIEW_SORTS).optional()
84
+ .describe("most_helpful (default), most_recent, highest_rated or lowest_rated. Cannot be combined with search: Nordstrom returns review search results in its own order."),
85
+ stars: z.array(z.number().int().min(1).max(5)).min(1).max(5).optional()
86
+ .describe("Only reviews with these star ratings, e.g. [1, 2] for the critical ones."),
87
+ verified_only: z.boolean().optional()
88
+ .describe("Only reviews from verified purchasers."),
89
+ with_photos: z.boolean().optional()
90
+ .describe("Only reviews that include customer photos."),
91
+ search: z.string().min(1).max(100).optional()
92
+ .describe("Only reviews mentioning this text (the review search box), 1-100 characters. Results come in Nordstrom's search order, so sort cannot be set with it."),
93
+ max_reviews: z.number().int().min(1).max(200).optional()
94
+ .describe("Reviews to return, 1-200. Defaults to 60. Larger values take longer (45-100s for 200)."),
95
+ }, post("reviews"));
77
96
  }
78
97
  //# sourceMappingURL=nordstrom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nordstrom.js","sourceRoot":"","sources":["../../src/tools/nordstrom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nordstrom.js","sourceRoot":"","sources":["../../src/tools/nordstrom.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@scavio/mcp-server",
3
- "version": "0.34.0",
3
+ "version": "0.35.0",
4
4
  "mcpName": "io.github.scavio-ai/scavio-mcp",
5
- "description": "MCP server connecting AI agents to Scavio: web search, page extraction, and structured e-commerce, social, travel, jobs, real-estate, app-store, ad-library and company-filing data. 359 tools across 59 platforms plus Extract, site map, crawl and batch extraction, one API key.",
5
+ "description": "MCP server connecting AI agents to Scavio: web search, page extraction, and structured e-commerce, social, travel, jobs, real-estate, app-store, ad-library and company-filing data. 360 tools across 59 platforms plus Extract, site map, crawl and batch extraction, one API key.",
6
6
  "type": "module",
7
7
  "license": "MIT",
8
8
  "author": "Scavio",