@scavio/mcp-server 0.44.0 → 0.46.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 +71 -5
- package/dist/tools/dicks.d.ts +3 -0
- package/dist/tools/dicks.js +105 -0
- package/dist/tools/dicks.js.map +1 -0
- package/dist/tools/footlocker.d.ts +3 -0
- package/dist/tools/footlocker.js +159 -0
- package/dist/tools/footlocker.js.map +1 -0
- package/dist/tools/index.d.ts +2 -2
- package/dist/tools/index.js +6 -2
- package/dist/tools/index.js.map +1 -1
- package/package.json +10 -2
package/README.md
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|

|
|
4
4
|

|
|
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.
|
|
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. 456 tools across 69 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
|
|
8
|
+
**The 22 platforms added in 0.13.0 are opt-in.** Registering all 456 tools puts ~570KB 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
|
|
210
|
+
Scavio exposes 456 tools. Loading all of them costs ~570KB 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 — **
|
|
221
|
+
| `all` | every platform — **456 tools, ~570KB** |
|
|
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 |
|
|
@@ -233,7 +233,7 @@ tells you to call to check the server works.
|
|
|
233
233
|
|
|
234
234
|
**Platform keys:** `extract`, `google`, `chatgpt`, `gemini`, `youtube`, `tiktok`, `instagram`,
|
|
235
235
|
`reddit`, `x`, `linkedin`, `threads`, `kuaishou`, `amazon`, `walmart`, `ebay`,
|
|
236
|
-
`target`, `homedepot`, `costco`, `heb`, `kroger`, `decathlon`, `specs`, `lowes`, `samsclub`, `canadiantire`, `dollargeneral`, `sephora`, `ulta`, `aldi`, `microcenter`, `walgreens`, `cvs`, `wholefoods`, `harborfreight`, `petsmart`, `petco`, `iherb`, `chewy`, `menards`, `nordstrom`, `nordstromrack`, `bestbuy`, `tcgplayer`, `vinted`, `macys`, `saks`, `kohls`, `jcpenney`, `mercadolibre`, `tiktok-shop`, `booking`, `airbnb`,
|
|
236
|
+
`target`, `homedepot`, `costco`, `heb`, `kroger`, `decathlon`, `specs`, `lowes`, `samsclub`, `canadiantire`, `dollargeneral`, `sephora`, `ulta`, `aldi`, `microcenter`, `walgreens`, `cvs`, `wholefoods`, `harborfreight`, `petsmart`, `petco`, `iherb`, `chewy`, `menards`, `nordstrom`, `nordstromrack`, `bestbuy`, `tcgplayer`, `vinted`, `macys`, `saks`, `kohls`, `jcpenney`, `dicks`, `footlocker`, `mercadolibre`, `tiktok-shop`, `booking`, `airbnb`,
|
|
237
237
|
`tripadvisor`, `yelp`, `zillow`, `redfin`, `realtor`, `rightmove`, `indeed`, `glassdoor`,
|
|
238
238
|
`appstore`, `googleplay`, `g2`, `capterra`, `trustpilot`, `googleads`, `metaads`, `sec`, `companieshouse`
|
|
239
239
|
|
|
@@ -1245,6 +1245,72 @@ gender and IP addresses are never returned. No price history, international
|
|
|
1245
1245
|
sites, account offers or JCPenney Rewards balances, or checkout: to track
|
|
1246
1246
|
clearance prices, poll and store your own.
|
|
1247
1247
|
|
|
1248
|
+
### Dick's Sporting Goods
|
|
1249
|
+
|
|
1250
|
+
| Tool | Description |
|
|
1251
|
+
|------|-------------|
|
|
1252
|
+
| `search_dicks` | Search dickssportinggoods.com (US), 48 items per page by default (up to 144): current and list price ranges, percent off, MAP "see price in cart" flag, rating, review count, badge, options, `is_pinned` and `scheduled_prices` (the offer-price windows Dick's has planned); filter by brand, an approximate price range or any facet value; sort by relevance, top sellers, savings, price, featured, new arrivals or brand A-Z; plus facets with counts, categories, `did_you_mean` and `redirected_to` |
|
|
1253
|
+
| `get_dicks_product` | One product by id or URL with every SKU: price, list price, percent off, MAP flag, `is_clearance`, `online_units`, UPC, `buyable`, ship class and lead time per variant, plus specs, attributes, category, rating, review count and question and answer counts (2 credits) |
|
|
1254
|
+
| `get_dicks_products` | Up to 5 products in one call: the fast style-level summary (price and list-price ranges, percent off, clearance, buyable, options, specs, rating, review count), unknown ids in `not_found` |
|
|
1255
|
+
| `get_dicks_reviews` | The 15 newest reviews of one product with full text, pros, cons, badges, secondary ratings, photos and the brand's response, plus rating stats and distribution and question and answer counts (2 credits) |
|
|
1256
|
+
| `get_dicks_category` | Browse a category by its `/f/` or `/c/` path, URL or id, in the site's featured order by default, with the same filters and sorts as search |
|
|
1257
|
+
| `get_dicks_brand` | Browse one brand by name, optionally narrowed by a keyword, with the same filters and sorts as search |
|
|
1258
|
+
| `get_dicks_deals` | Clearance (default), Sale or This Week's Deals, with the same filters and sorts as search (sort `savings` for the biggest discounts first) |
|
|
1259
|
+
| `get_dicks_store_availability` | Unit counts for 1-20 SKUs at up to 100 stores near a ZIP or a point within 1-250 miles (default 25): DICK'S, Golf Galaxy or Public Lands stores with address, phone, hours, distance, `units` and `in_store_units` per SKU, plus `sku_totals` |
|
|
1260
|
+
| `get_dicks_suggestions` | The search-box suggestions: keyword completions, brands, categories and products with prices |
|
|
1261
|
+
|
|
1262
|
+
Platform key `dicks`. 1 credit per call, except `get_dicks_product` and
|
|
1263
|
+
`get_dicks_reviews` at 2 credits. US site only, prices in USD. Search,
|
|
1264
|
+
category, brand and deals share one grid: 48 items per page by default, up
|
|
1265
|
+
to 144, with `total` and `total_pages`. Facet values feed `filters` as
|
|
1266
|
+
`{facet id: value}`; the price range is approximate. Merchandised items are
|
|
1267
|
+
flagged `is_pinned` and can make page 1 a few items longer than
|
|
1268
|
+
`page_size`. `scheduled_prices` are the retailer's own planned price windows
|
|
1269
|
+
and can change: not a forecast or price history. Prices differ per size and
|
|
1270
|
+
color (some sizes on clearance, others not), so read the variant in
|
|
1271
|
+
`get_dicks_product`; `get_dicks_products` is the cheap style-level check.
|
|
1272
|
+
Product and reviews are slower than the other tools: usually 20-75 s, up to
|
|
1273
|
+
about 2.5 minutes, and failed calls are not charged. Reviews are the newest
|
|
1274
|
+
15 only: no paging, sort or star filter, and questions and answers are
|
|
1275
|
+
counts only. There is no standalone store locator: store details come with a
|
|
1276
|
+
SKU lookup, and an unknown SKU reads 0 at every store, so take SKUs from
|
|
1277
|
+
`get_dicks_product`. No price history, ScoreCard prices or points, international
|
|
1278
|
+
sites, account data or checkout: to track clearance prices, poll and store
|
|
1279
|
+
your own.
|
|
1280
|
+
|
|
1281
|
+
### Foot Locker
|
|
1282
|
+
|
|
1283
|
+
| Tool | Description |
|
|
1284
|
+
|------|-------------|
|
|
1285
|
+
| `search_footlocker` | Search Foot Locker on any of 13 storefronts, 48 items per page: price, list price, percent off, `lowest_price_30d` (European storefronts), sale, new and launch flags, rating, review count and every colorway with its price; filter by brand, gender, color, price bucket, `on_sale` or any facet (shoe size per gender, style, sport...); 7 sorts; plus facets with counts, `data_as_of` and `redirected_to` |
|
|
1286
|
+
| `get_footlocker_product` | One product by SKU or URL: description, style code, price block, availability online / to ship / for pickup, launch info, size chart, every colorway and every size with `available`, `ship`, `pickup`, `stores_available` (a store count, not units), UPC and store SKU |
|
|
1287
|
+
| `get_footlocker_category` | Browse a category by its `/category/` path, URL or collection id, with the same filters and sorts as search |
|
|
1288
|
+
| `get_footlocker_brand` | Browse one brand by name (any case) or brand page URL, optionally narrowed by a keyword |
|
|
1289
|
+
| `get_footlocker_deals` | Sale (every storefront), Foot Locker Exclusives (us and ca) or the items a promo code applies to |
|
|
1290
|
+
| `get_footlocker_releases` | The release calendar (us, ca, gb): launch date and time, retail price (us and ca), colorway, style code, heat level, size run and reservation windows where the storefront runs them; filter by upcoming / launched, a date window and brand |
|
|
1291
|
+
| `get_footlocker_stores` | Foot Locker stores near a US ZIP, a city + state or a point (up to 50): address, phone, weekly hours, opening date, alert and closure notices |
|
|
1292
|
+
| `get_footlocker_store_availability` | Which nearby Foot Locker stores show a product (or one size) as available: yes / no per store and per size, plus ship and pickup flags |
|
|
1293
|
+
| `get_footlocker_reviews` | 1-98 reviews of one product (default 38) with full text, sort, star filter, secondary ratings, photos and the brand's response, plus rating stats and distribution |
|
|
1294
|
+
| `get_footlocker_questions` | 1-50 shopper questions of one product (default 10) with every answer and its author type (brand, retailer or customer) |
|
|
1295
|
+
|
|
1296
|
+
Platform key `footlocker`. 1 credit per call. Storefronts (`country`): us
|
|
1297
|
+
(footlocker.com, USD, default), ca (CAD, `language` en or fr), gb (GBP), de,
|
|
1298
|
+
fr, it, es, nl, be (`language` nl or fr), at, ie (EUR), au (AUD) and nz (NZD);
|
|
1299
|
+
titles come in the storefront's language. Search, product, category, brand
|
|
1300
|
+
and deals (sale, discount_eligible) work on all 13; exclusives on us and ca;
|
|
1301
|
+
releases on us, ca and gb (gb has no prices or reservation windows); stores,
|
|
1302
|
+
store availability, reviews and questions are US only. Search, category,
|
|
1303
|
+
brand and deals share one grid: 48 items per page, 7 sorts, facet values feed
|
|
1304
|
+
`filters`. Listings can be a few hours old: `data_as_of` says when each one
|
|
1305
|
+
was built. Availability is yes / no per size: Foot Locker publishes no unit
|
|
1306
|
+
counts. The release calendar is monitoring data only: nothing here enters,
|
|
1307
|
+
reserves or buys a release. Reviews and questions are slow: usually 25-90 s,
|
|
1308
|
+
up to about 3-4 minutes, so allow a client timeout of at least 240 s; failed
|
|
1309
|
+
calls are not charged. Unknown SKUs, categories and brands are a charged
|
|
1310
|
+
404. No search suggestions, member (FLX) prices or account data, Kids Foot
|
|
1311
|
+
Locker or Champs stores, price history or checkout: to track prices, poll and
|
|
1312
|
+
store your own.
|
|
1313
|
+
|
|
1248
1314
|
### Kroger
|
|
1249
1315
|
|
|
1250
1316
|
| Tool | Description |
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { handleApiError } from "../lib/tool-error.js";
|
|
3
|
+
import { trimResponse } from "../lib/trim-response.js";
|
|
4
|
+
// Shapes mirror backend/src/routes/dicks.ts (dickssportinggoods.com, US,
|
|
5
|
+
// USD). Cross-field rules the backend enforces and zod here does not: product
|
|
6
|
+
// and reviews take product_id or url; category takes path, url or
|
|
7
|
+
// category_id; store availability takes zip or lat + lng. No zod
|
|
8
|
+
// `.default()`: the MCP SDK would post a defaulted field on every call.
|
|
9
|
+
const SORTS = ["relevance", "top_sellers", "savings", "price_low_to_high", "price_high_to_low", "featured", "new_arrivals", "brand_az"];
|
|
10
|
+
const DEAL_TYPES = ["clearance", "sale", "weekly_deals"];
|
|
11
|
+
const CHAINS = ["dicks", "golf_galaxy", "public_lands"];
|
|
12
|
+
const ITEM_FIELDS = "id (for get_dicks_product, get_dicks_products and get_dicks_reviews), sku (the variant the tile shows; null on style-level tiles, which the relevance sort returns), title, brand, URL, image, price and price_max (current), list_price and list_price_max, percent_off, map_price_applies (the lowest price only shows in the cart), rating, review_count, badge (New Color, New Arrival...), sku_count, options (e.g. every color), is_pinned (a merchandised placement), and scheduled_prices: the offer-price windows Dick's has planned for that item (price, starts_at, ends_at; scheduled by the retailer and can change, not a forecast or price history)";
|
|
13
|
+
const GRID = `48 items per page by default (up to 144), each with ${ITEM_FIELDS}. Also returns total, page, page_size, total_pages, the sort applied, applied_filters, every facet (id, label, values with value, label, count and selected; any of them works in filters) and categories (id, name, path, count). Pinned items come first on page 1 under the featured sort, so that page can hold a few more than page_size. Prices in USD`;
|
|
14
|
+
const GRID_SHORT = "48 items per page by default (up to 144) with the same item fields, facets, categories and totals as search_dicks";
|
|
15
|
+
const SLOW = "Usually 20-75 s, up to about 2.5 minutes when a call is retried; failed calls and unknown products are not charged.";
|
|
16
|
+
const brandFilter = () => z.union([z.string().min(1).max(120), z.array(z.string().min(1).max(120)).min(1).max(20)]).optional()
|
|
17
|
+
.describe("Only this brand (or any of several), as the Brand facet lists it, e.g. \"Nike\", \"HOKA\", \"YETI\".");
|
|
18
|
+
const productId = () => z.string().regex(/^[A-Za-z0-9]{6,30}$/);
|
|
19
|
+
const gridFields = {
|
|
20
|
+
page: z.number().int().min(1).max(500).optional()
|
|
21
|
+
.describe("Results page, 1-based. A page past the last one returns an empty items list with the real total. Defaults to 1."),
|
|
22
|
+
page_size: z.number().int().min(1).max(144).optional()
|
|
23
|
+
.describe("Items per page, 1-144. Defaults to 48."),
|
|
24
|
+
sort: z.enum(SORTS).optional()
|
|
25
|
+
.describe("relevance, top_sellers, savings (biggest discount first), price_low_to_high, price_high_to_low, featured (the site's merchandised order: pinned items first), new_arrivals or brand_az. Search and brand default to relevance; category and deals to featured, like the site."),
|
|
26
|
+
filters: z.record(z.string(), z.union([z.string(), z.number(), z.array(z.union([z.string(), z.number()])).max(20)])).optional()
|
|
27
|
+
.describe("Any facet from a previous response: {facets[].id: facets[].values[].value, or a list of values}. Values of one facet are OR, facets combine (AND). E.g. {\"5495\": \"Men's\"} (gender), {\"3232\": \"Black\"} (color), {\"rating\": \"4+\"}, {\"price\": \"50-100\"}, {\"5004\": \"Sale\"}."),
|
|
28
|
+
min_price: z.number().min(0).max(100000).optional()
|
|
29
|
+
.describe("Approximate lower price bound in USD (the site's price filter is loose: a few items just outside the range can appear)."),
|
|
30
|
+
max_price: z.number().min(0).max(100000).optional()
|
|
31
|
+
.describe("Approximate upper price bound in USD."),
|
|
32
|
+
};
|
|
33
|
+
export function registerDicksTools(server, getClient) {
|
|
34
|
+
const post = (path) => async (params) => {
|
|
35
|
+
try {
|
|
36
|
+
const data = await getClient().post(`/api/v1/dicks/${path}`, params);
|
|
37
|
+
return trimResponse(data);
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
return handleApiError(err);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const productTarget = {
|
|
44
|
+
product_id: productId().optional()
|
|
45
|
+
.describe("A Dick's product id: a search result's id, the last part of a product URL (any case), e.g. '23FHQMCLFTN9GTXBLMNS'."),
|
|
46
|
+
url: z.string().min(1).max(800).optional()
|
|
47
|
+
.describe("A dickssportinggoods.com product URL (its product id is used). Alternative to product_id."),
|
|
48
|
+
};
|
|
49
|
+
server.tool("search_dicks", `Search dickssportinggoods.com (Dick's Sporting Goods, US) by keyword, filtered by brand, an approximate price range and any facet (gender, size, color, rating, sale...), sorted by relevance, top sellers, savings, price, featured, new arrivals or brand A-Z. ${GRID}. did_you_mean carries Dick's spelling suggestion for a misspelled query. Keywords Dick's sends to a landing page (golf balls, clearance) are followed to that page: redirected_to and category say which. 1 credit.`, {
|
|
50
|
+
query: z.string().min(1).max(200)
|
|
51
|
+
.describe("Search keywords, e.g. 'running shoes'."),
|
|
52
|
+
brand: brandFilter(),
|
|
53
|
+
...gridFields,
|
|
54
|
+
}, post("search"));
|
|
55
|
+
server.tool("get_dicks_product", `One Dick's Sporting Goods product by id or URL with every SKU: title, brand, description, features, specs, attributes, product type, category, images, rating, review_count, question and answer counts, the price block (min, max, list_min, list_max, percent_off, map_price_applies), clearance flag, the option axes (color, size, width...) and every variant: sku, UPC, options, color, size, price, list_price, percent_off, map_price_applies (the price only shows in the cart), is_clearance, online_units (units available to ship), buyable, ship_class and lead_time. Prices differ per SKU (one color on clearance at 94.97, the rest at 164.99), so read the variant you need. A variant's sku is what get_dicks_store_availability takes. Review text: get_dicks_reviews. For a quick style-level check of several products use get_dicks_products (1 credit). An unknown id is a 404. ${SLOW} 2 credits.`, productTarget, post("product"));
|
|
56
|
+
server.tool("get_dicks_products", `Up to 5 Dick's Sporting Goods products in one call: the fast, cheap style-level check of title, brand, URL, image, price and list-price ranges, percent_off, map_price_applies, clearance, buyable, option axes, attributes, specs, product type, rating, review_count and description. No per-SKU prices or units: those come from get_dicks_product. Unknown ids are listed in not_found; when none is found it is a 404. 1 credit for up to 5 ids.`, {
|
|
57
|
+
product_ids: z.array(productId()).min(1).max(5)
|
|
58
|
+
.describe("1 to 5 Dick's product ids, e.g. ['23FHQMCLFTN9GTXBLMNS', '26UNDMFITN1HRI9WUAETC']."),
|
|
59
|
+
}, post("products"));
|
|
60
|
+
server.tool("get_dicks_reviews", `The 15 newest customer reviews of one Dick's Sporting Goods product by id or URL, with its review statistics: total, average, distribution (1-5 stars), recommended and not-recommended counts, photo count, first and last review dates, question and answer counts, and the average of each secondary rating (fit, comfort, quality, value...). Each review has id, rating, title, text, pros, cons, author nickname, submitted_at, recommended, helpful and unhelpful votes, verified_purchaser and incentivized badges, syndicated_from (the brand site a review came from), secondary ratings, customer photos and the brand's public response. The newest 15 only: no paging, no sort, no star filter; questions and answers are counts only, no Q&A text. Reviewer age, gender and location are never returned. An unknown id is a 404. ${SLOW} 2 credits.`, productTarget, post("reviews"));
|
|
61
|
+
server.tool("get_dicks_category", `Browse one Dick's Sporting Goods category by its page path, URL or id (Men's Running Shoes, Golf Drivers, Kayaks...), in the site's featured order by default, with the same filters and sorts as search_dicks. ${GRID_SHORT}. Also returns the category's id, name, path and URL. An unknown category is a 404. 1 credit.`, {
|
|
62
|
+
path: z.string().min(1).max(300).optional()
|
|
63
|
+
.describe("A Dick's category page path (/f/<name> or /c/<name>), as dickssportinggoods.com category links and a response's categories[].path carry it, e.g. '/f/mens-running-shoes'."),
|
|
64
|
+
url: z.string().min(1).max(800).optional()
|
|
65
|
+
.describe("A dickssportinggoods.com category URL (its page is used; filters in the URL are not read, send them in filters)."),
|
|
66
|
+
category_id: z.union([z.string().regex(/^(?:12301_)?\d{3,12}$/), z.number().int().positive()]).optional()
|
|
67
|
+
.describe("A category id: a response's categories[].id or category.id, e.g. '202105'."),
|
|
68
|
+
brand: brandFilter(),
|
|
69
|
+
...gridFields,
|
|
70
|
+
}, post("category"));
|
|
71
|
+
server.tool("get_dicks_brand", `Every Dick's Sporting Goods product of one brand by name (Nike, YETI, Callaway, Under Armour...), optionally narrowed by a keyword, with the same filters and sorts as search_dicks (except brand). ${GRID_SHORT}. brand echoes the brand as Dick's writes it. An unknown brand is a 404. 1 credit.`, {
|
|
72
|
+
brand: z.string().min(1).max(100)
|
|
73
|
+
.describe("A brand name as Dick's lists it in the Brand facet, e.g. 'Nike', 'YETI', 'Callaway', 'Under Armour'; case does not matter."),
|
|
74
|
+
query: z.string().min(1).max(200).optional()
|
|
75
|
+
.describe("Narrow the brand to a keyword, e.g. 'tumbler'."),
|
|
76
|
+
...gridFields,
|
|
77
|
+
}, post("brand"));
|
|
78
|
+
server.tool("get_dicks_deals", `Dick's Sporting Goods deal listings: Clearance (default), Sale or This Week's Deals, in the site's featured order by default (sort savings for the biggest discounts first), with the same filters and sorts as search_dicks. ${GRID_SHORT}. Clearance is often per size or color: get_dicks_product shows which SKUs carry the clearance price. To track clearance prices over time, poll and store your own: there is no price history. 1 credit.`, {
|
|
79
|
+
type: z.enum(DEAL_TYPES).optional()
|
|
80
|
+
.describe("clearance (default), sale or weekly_deals (This Week's Deals)."),
|
|
81
|
+
brand: brandFilter(),
|
|
82
|
+
...gridFields,
|
|
83
|
+
}, post("deals"));
|
|
84
|
+
server.tool("get_dicks_store_availability", `Store unit counts for 1-20 Dick's Sporting Goods SKUs at up to 100 stores near a US ZIP code or a point (lat + lng), nearest first, within 25 miles by default (up to 250). chain picks DICK'S stores (default, incl. House of Sport and Going, Going, Gone!), Golf Galaxy or Public Lands. Each store has store_id, chain, name, address, shopping_center, city, state, ZIP, phone, lat / lng, distance_miles, status, weekly hours and per SKU: units (the units the store can sell) and in_store_units (the units on hand; higher than units only at stores that do not take orders for that item, where units reads 0). Also returns sku_totals and how many stores have stock. There is no standalone store locator: store details come with a SKU lookup. An unknown SKU reads 0 at every store, so take SKUs from get_dicks_product variants[].sku. 1 credit.`, {
|
|
85
|
+
skus: z.array(z.string().regex(/^\d{6,12}$/)).min(1).max(20)
|
|
86
|
+
.describe("1 to 20 SKU ids from get_dicks_product variants[].sku, e.g. ['25535758', '26810079']."),
|
|
87
|
+
zip: z.union([z.string().regex(/^\d{5}(-\d{4})?$/), z.number().int().min(0).max(99999)]).optional()
|
|
88
|
+
.describe("US ZIP code to search around, e.g. '60601'."),
|
|
89
|
+
lat: z.number().min(-90).max(90).optional()
|
|
90
|
+
.describe("Latitude (with lng), instead of zip."),
|
|
91
|
+
lng: z.number().min(-180).max(180).optional()
|
|
92
|
+
.describe("Longitude (with lat)."),
|
|
93
|
+
radius: z.number().int().min(1).max(250).optional()
|
|
94
|
+
.describe("Search radius in miles, 1-250. Defaults to 25. Up to 100 stores are returned."),
|
|
95
|
+
chain: z.enum(CHAINS).optional()
|
|
96
|
+
.describe("dicks (DICK'S Sporting Goods, incl. House of Sport and Going, Going, Gone! stores; default), golf_galaxy or public_lands."),
|
|
97
|
+
in_stock_only: z.boolean().optional()
|
|
98
|
+
.describe("Only the stores that have at least one of the SKUs."),
|
|
99
|
+
}, post("store-availability"));
|
|
100
|
+
server.tool("get_dicks_suggestions", `The dickssportinggoods.com search-box suggestions for a partial query: keyword completions, brands, categories (id, name, path, URL, product_count) and products (id, title, brand, URL, image, color, price and list-price ranges, percent_off). Useful for keyword research and for building queries for search_dicks. 1 credit.`, {
|
|
101
|
+
query: z.string().min(1).max(100)
|
|
102
|
+
.describe("What the shopper has typed so far, e.g. 'yeti tum'."),
|
|
103
|
+
}, post("suggestions"));
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=dicks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dicks.js","sourceRoot":"","sources":["../../src/tools/dicks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { handleApiError } from "../lib/tool-error.js";
|
|
3
|
+
import { trimResponse } from "../lib/trim-response.js";
|
|
4
|
+
// Shapes mirror backend/src/routes/footlocker.ts (footlocker.com + 12 country
|
|
5
|
+
// storefronts, local currency). Cross-field rules the backend enforces and zod
|
|
6
|
+
// here does not: product, store availability, reviews and questions take
|
|
7
|
+
// product_id or url; category takes path, url or collection_id; brand takes
|
|
8
|
+
// brand or url; stores take zip, city + state or lat + lng; store availability
|
|
9
|
+
// takes zip or lat + lng. language only applies to ca (en / fr) and be
|
|
10
|
+
// (nl / fr). No zod `.default()`: the MCP SDK would post a defaulted field on
|
|
11
|
+
// every call.
|
|
12
|
+
const COUNTRIES = ["us", "ca", "gb", "de", "fr", "it", "es", "nl", "be", "at", "ie", "au", "nz"];
|
|
13
|
+
const RELEASE_COUNTRIES = ["us", "ca", "gb"];
|
|
14
|
+
const SORTS = ["relevance", "price_low_to_high", "price_high_to_low", "new_arrivals", "top_rated", "name_az", "brand_az"];
|
|
15
|
+
const DEAL_TYPES = ["sale", "exclusives", "discount_eligible"];
|
|
16
|
+
const RELEASE_STATUSES = ["all", "upcoming", "launched"];
|
|
17
|
+
const REVIEW_SORTS = ["most_recent", "most_helpful", "highest_rating", "lowest_rating", "relevance"];
|
|
18
|
+
const MARKETS = "us (footlocker.com, USD, default), ca (CAD, language en or fr), gb (GBP), de, fr, it, es, nl, be (language nl or fr), at, ie (EUR), au (AUD) or nz (NZD)";
|
|
19
|
+
const ITEM_FIELDS = "id (the SKU, for get_footlocker_product), base_product, title, brand, URL, image, price, list_price, percent_off, lowest_price_30d (European storefronts: the lowest price of the last 30 days), on_sale, is_new, is_launch, member_only_sale, rating, review_count, color_count and colors (sku, color, price, list_price per colorway)";
|
|
20
|
+
const GRID = `48 items per page, each with ${ITEM_FIELDS}. Also returns total, page, page_size, total_pages, the sort applied, applied_filters, every facet (id, label, values with value, label, count; any of them works in filters), country, language, currency and data_as_of: listings can be a few hours old, data_as_of says when this one was built`;
|
|
21
|
+
const GRID_SHORT = "48 items per page with the same item fields, facets, totals and data_as_of as search_footlocker";
|
|
22
|
+
const SLOW = "Slow: usually 25-90 s, up to about 3-4 minutes when a call is retried; failed calls are not charged. A product without an online page is a charged 404. US only.";
|
|
23
|
+
const NOT_FOUND = "Failed upstream calls are not charged; a not-found is charged.";
|
|
24
|
+
const country = () => z.enum(COUNTRIES).optional()
|
|
25
|
+
.describe(`The storefront: ${MARKETS}. Titles come in the storefront's language, prices in its currency.`);
|
|
26
|
+
const language = () => z.enum(["en", "fr", "nl"]).optional()
|
|
27
|
+
.describe("Only for ca (en default, fr) and be (nl default, fr).");
|
|
28
|
+
const usOnly = () => z.enum(["us"]).optional()
|
|
29
|
+
.describe("us only (the only storefront this tool covers).");
|
|
30
|
+
const textList = (description) => z.union([z.string().min(1).max(100), z.array(z.string().min(1).max(100)).min(1).max(20)]).optional().describe(description);
|
|
31
|
+
const brandFilter = () => textList("Only this brand (or any of several), e.g. \"Nike\", \"Jordan\", \"adidas\", \"New Balance\", \"HOKA\"; case does not matter.");
|
|
32
|
+
const zip = () => z.union([z.string().regex(/^\d{5}(-\d{4})?$/), z.number().int().min(0).max(99999)]);
|
|
33
|
+
const gridFields = {
|
|
34
|
+
page: z.number().int().min(1).max(200).optional()
|
|
35
|
+
.describe("Results page, 1-based (48 items per page). A page past the last one returns an empty items list with the real total. Defaults to 1."),
|
|
36
|
+
sort: z.enum(SORTS).optional()
|
|
37
|
+
.describe("relevance (the site's Featured order, default), price_low_to_high, price_high_to_low, new_arrivals, top_rated, name_az or brand_az."),
|
|
38
|
+
gender: textList("Gender filter value(s) as facets.gender lists them (\"Men's\", \"Women's\"; in the storefront's language)."),
|
|
39
|
+
color: textList("Color filter value(s) as facets.primaryColor lists them, e.g. \"Black\"."),
|
|
40
|
+
price_range: textList("Price bucket value(s) as facets.price lists them (25-50, 50-75, 75-100, 100-150, 150-inf)."),
|
|
41
|
+
on_sale: z.boolean().optional()
|
|
42
|
+
.describe("Only items on sale."),
|
|
43
|
+
filters: z.record(z.string(), z.union([z.string(), z.number(), z.boolean(), z.array(z.union([z.string(), z.number()])).max(20)])).optional()
|
|
44
|
+
.describe("Any filter from a previous response: {facets[].id: facets[].values[].value, or a list of values}. Values of one filter are OR, filters combine (AND). E.g. {\"mensShoesSize\": \"10.0\"}, {\"womensShoesSize\": \"8.0\"}, {\"style\": \"Casual Sneakers\"}, {\"sport\": \"Running\"}, {\"eligibleForDiscount\": \"True\"}."),
|
|
45
|
+
};
|
|
46
|
+
const whereFields = {
|
|
47
|
+
zip: zip().optional()
|
|
48
|
+
.describe("US ZIP code to search around, e.g. '10001'."),
|
|
49
|
+
lat: z.number().min(-90).max(90).optional()
|
|
50
|
+
.describe("Latitude (with lng), instead of zip."),
|
|
51
|
+
lng: z.number().min(-180).max(180).optional()
|
|
52
|
+
.describe("Longitude (with lat)."),
|
|
53
|
+
radius: z.number().int().min(1).max(120).optional()
|
|
54
|
+
.describe("Search radius in miles, 1-120. Defaults to 25."),
|
|
55
|
+
limit: z.number().int().min(1).max(50).optional()
|
|
56
|
+
.describe("Stores to return, nearest first, 1-50. Defaults to 10."),
|
|
57
|
+
country: usOnly(),
|
|
58
|
+
};
|
|
59
|
+
export function registerFootlockerTools(server, getClient) {
|
|
60
|
+
const post = (path) => async (params) => {
|
|
61
|
+
try {
|
|
62
|
+
const data = await getClient().post(`/api/v1/footlocker/${path}`, params);
|
|
63
|
+
return trimResponse(data);
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
return handleApiError(err);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
const productTarget = {
|
|
70
|
+
product_id: z.string().regex(/^[A-Za-z0-9]{5,14}$/).optional()
|
|
71
|
+
.describe("A Foot Locker SKU: a search result's id, the last part of a product URL (Q5495005 in the US, 12 digits such as 316707025504 in Europe)."),
|
|
72
|
+
url: z.string().min(1).max(800).optional()
|
|
73
|
+
.describe("A Foot Locker product URL on any covered storefront (its storefront and SKU are used). Alternative to product_id."),
|
|
74
|
+
};
|
|
75
|
+
server.tool("search_footlocker", `Search Foot Locker by keyword on any of 13 storefronts (${MARKETS}), filtered by brand, gender, color, price bucket, on_sale and any facet (shoe size per gender, style, sport, rating...), sorted by relevance, price, new arrivals, top rated, name or brand. ${GRID}. A bare brand keyword (nike, hoka) is answered by the site with a landing page: the brand's listing is returned instead and redirected_to says which. A keyword the site sends to a landing page without a product listing (samba, clearance) is an unbilled 400: use get_footlocker_brand, get_footlocker_category or get_footlocker_deals instead. 1 credit.`, {
|
|
76
|
+
query: z.string().min(1).max(200)
|
|
77
|
+
.describe("Search keywords, e.g. 'nike dunk'."),
|
|
78
|
+
country: country(),
|
|
79
|
+
language: language(),
|
|
80
|
+
brand: brandFilter(),
|
|
81
|
+
...gridFields,
|
|
82
|
+
}, post("search"));
|
|
83
|
+
server.tool("get_footlocker_product", `One Foot Locker product by SKU or URL on any of the 13 storefronts: title, brand, description, genders, sports, category, color, style code, images, rating, review_count, the price block (price, list_price, percent_off, lowest_price_30d on European storefronts), availability online / to ship / for pickup, launch info (is_launch, launch_type, launch_date, web_only), flags, the size chart, every colorway (sku, color, price, availability) and every size: available, ship, pickup, stores_available (how many stores show that size as available: a store count, not units), UPC and store SKU. Availability is yes / no per size: Foot Locker publishes no unit counts. A SKU without an online page (unknown, store-only or not launched yet) is a 404. ${NOT_FOUND} 1 credit.`, { ...productTarget, country: country(), language: language() }, post("product"));
|
|
84
|
+
server.tool("get_footlocker_category", `Browse one Foot Locker category by its page path, URL or collection id (Men's Shoes, Women's Clothing, Kids...), in the site's order by default, with the same filters and sorts as search_footlocker. ${GRID_SHORT}. Also returns the category's id (collection id), name, path and URL. An unknown category is a 404. ${NOT_FOUND} 1 credit.`, {
|
|
85
|
+
path: z.string().min(1).max(300).optional()
|
|
86
|
+
.describe("A Foot Locker category page path (/category/<path>.html), as the site's category links carry it, e.g. '/category/mens/shoes.html'."),
|
|
87
|
+
url: z.string().min(1).max(800).optional()
|
|
88
|
+
.describe("A Foot Locker category URL (its storefront and page are used)."),
|
|
89
|
+
collection_id: z.string().regex(/^[a-z0-9][a-z0-9-]{0,80}$/).optional()
|
|
90
|
+
.describe("A collection id: a previous response's category.id, e.g. 'men-s-shoes' (saves time on page 2+)."),
|
|
91
|
+
country: country(),
|
|
92
|
+
language: language(),
|
|
93
|
+
brand: brandFilter(),
|
|
94
|
+
...gridFields,
|
|
95
|
+
}, post("category"));
|
|
96
|
+
server.tool("get_footlocker_brand", `Every Foot Locker product of one brand by name or brand page URL (Nike, Jordan, adidas, New Balance, HOKA...), optionally narrowed by a keyword, with the same filters and sorts as search_footlocker (except brand). ${GRID_SHORT}. brand echoes the brand as the site writes it, brand_id its id. An unknown brand is a 404. ${NOT_FOUND} 1 credit.`, {
|
|
97
|
+
brand: z.string().min(1).max(80).optional()
|
|
98
|
+
.describe("A brand name, e.g. 'Nike', 'Jordan', 'adidas', 'New Balance', 'HOKA', 'PUMA'; case does not matter."),
|
|
99
|
+
url: z.string().min(1).max(800).optional()
|
|
100
|
+
.describe("A Foot Locker brand page URL (/category/brands/<brand>.html). Alternative to brand."),
|
|
101
|
+
query: z.string().min(1).max(200).optional()
|
|
102
|
+
.describe("Narrow the brand to a keyword, e.g. 'running shoes'."),
|
|
103
|
+
country: country(),
|
|
104
|
+
language: language(),
|
|
105
|
+
...gridFields,
|
|
106
|
+
}, post("brand"));
|
|
107
|
+
server.tool("get_footlocker_deals", `Foot Locker deal listings: sale (default; every storefront), Foot Locker Exclusives (us and ca only) or discount_eligible (the items a promo code applies to), with the same filters and sorts as search_footlocker. ${GRID_SHORT}. No price history: to track prices over time, poll and store your own. 1 credit.`, {
|
|
108
|
+
type: z.enum(DEAL_TYPES).optional()
|
|
109
|
+
.describe("sale (default; every storefront), exclusives (Foot Locker Exclusives; us and ca only) or discount_eligible (items a promo code applies to)."),
|
|
110
|
+
country: country(),
|
|
111
|
+
language: language(),
|
|
112
|
+
brand: brandFilter(),
|
|
113
|
+
...gridFields,
|
|
114
|
+
}, post("deals"));
|
|
115
|
+
server.tool("get_footlocker_releases", `The Foot Locker sneaker release calendar as monitoring data (us, ca, gb): sku, title, brand, colorway (style), style_code, gender, launch_at, online_at, heat_level, in_stock, image, url, retail_price and currency (us and ca; gb has no prices), the reservation status and windows where the storefront runs them (status open / closed / store_only, starts_at, ends_at, assignment_at, awarding_at, online_reveal_at, store procedures; not on gb) and sizes (us, eu, uk, participating channels). Also returns total, count and data_as_of. Filter by status (upcoming / launched), a date window and brand. Read-only: nothing here enters, reserves or buys a release. 1 credit.`, {
|
|
116
|
+
country: z.enum(RELEASE_COUNTRIES).optional()
|
|
117
|
+
.describe("us (default), ca or gb."),
|
|
118
|
+
language: z.enum(["en", "fr"]).optional()
|
|
119
|
+
.describe("ca only: en (default) or fr."),
|
|
120
|
+
status: z.enum(RELEASE_STATUSES).optional()
|
|
121
|
+
.describe("all (default), upcoming (launch date ahead) or launched."),
|
|
122
|
+
from: z.string().max(40).optional()
|
|
123
|
+
.describe("Only releases launching on or after this ISO date, e.g. '2026-11-01'."),
|
|
124
|
+
to: z.string().max(40).optional()
|
|
125
|
+
.describe("Only releases launching on or before this ISO date, e.g. '2026-12-31'."),
|
|
126
|
+
brand: z.string().min(1).max(80).optional()
|
|
127
|
+
.describe("Only this brand, e.g. 'Nike' (case does not matter)."),
|
|
128
|
+
}, post("releases"));
|
|
129
|
+
server.tool("get_footlocker_stores", `Foot Locker stores near a US ZIP code, a city + state or a point (lat + lng), nearest first (up to 50, default 10, within 25 miles by default, up to 120): store_id, name, name_secondary, address, city, state, ZIP, phone, lat / lng, distance_miles, weekly hours, opened_at, alert and closure notices, and the store page URL. Foot Locker banner stores only (no Kids Foot Locker or Champs). Pass one location. US only. 1 credit.`, {
|
|
130
|
+
...whereFields,
|
|
131
|
+
city: z.string().min(1).max(60).optional()
|
|
132
|
+
.describe("US city (with state), instead of zip, e.g. 'Atlanta'."),
|
|
133
|
+
state: z.string().length(2).optional()
|
|
134
|
+
.describe("2-letter US state code (with city), e.g. 'GA'."),
|
|
135
|
+
}, post("stores"));
|
|
136
|
+
server.tool("get_footlocker_store_availability", `Which Foot Locker stores near a US ZIP code or a point (lat + lng) show a product (or one size) as available: each store (as in get_footlocker_stores) with available and sizes_available, plus per size whether it ships online, can be picked up and in how many of the listed stores it shows (stores_in_results), and stores_with_availability. Yes / no only: Foot Locker publishes no unit counts. Foot Locker banner stores only. US only, prices in USD. ${NOT_FOUND} 1 credit.`, {
|
|
137
|
+
...productTarget,
|
|
138
|
+
size: z.union([z.string().min(1).max(20), z.number()]).optional()
|
|
139
|
+
.describe("One size as get_footlocker_product sizes[].size lists it (10.0, 10, XL). Without it, every size."),
|
|
140
|
+
...whereFields,
|
|
141
|
+
}, post("store-availability"));
|
|
142
|
+
server.tool("get_footlocker_reviews", `Customer reviews of one Foot Locker (US) product by SKU or URL, 1-98 per call (default 38), sorted most recent (default), most helpful, highest or lowest rating, or relevance, optionally only one star rating. Returns the review statistics: total_reviews (every language), displayed_reviews (the English reviews the site pages through), average_rating, rating_distribution, recommended_percent, secondary rating averages (fit, comfort, quality...) and photo_count, plus matching_reviews. Each review has id, rating, title, text, author nickname, submitted_at, recommended, helpful and unhelpful votes, verified_purchaser, incentivized, syndicated and its source, secondary ratings, photos, videos and the brand's response. Reviewer age, gender, location and IP are never returned. More reviews take longer (about 4 s per 30). ${SLOW} 1 credit.`, {
|
|
143
|
+
...productTarget,
|
|
144
|
+
country: usOnly(),
|
|
145
|
+
sort: z.enum(REVIEW_SORTS).optional()
|
|
146
|
+
.describe("most_recent (default), most_helpful, highest_rating, lowest_rating or relevance."),
|
|
147
|
+
rating: z.number().int().min(1).max(5).optional()
|
|
148
|
+
.describe("Only reviews with this many stars (1-5)."),
|
|
149
|
+
limit: z.number().int().min(1).max(98).optional()
|
|
150
|
+
.describe("Reviews to return, 1-98. Defaults to 38."),
|
|
151
|
+
}, post("reviews"));
|
|
152
|
+
server.tool("get_footlocker_questions", `Shopper questions about one Foot Locker (US) product by SKU or URL, 1-50 per call (default 10), newest answered first, with every answer: question, details, author, submitted_at, answer_count, helpful votes, and per answer its text, author, author_type (brand, retailer or customer), best-answer flag, date and votes. Also returns total_questions. ${SLOW} 1 credit.`, {
|
|
153
|
+
...productTarget,
|
|
154
|
+
country: usOnly(),
|
|
155
|
+
limit: z.number().int().min(1).max(50).optional()
|
|
156
|
+
.describe("Questions to return, 1-50. Defaults to 10."),
|
|
157
|
+
}, post("questions"));
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=footlocker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"footlocker.js","sourceRoot":"","sources":["../../src/tools/footlocker.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export declare const PLATFORM_KEYS: string[];
|
|
|
5
5
|
* What registers when SCAVIO_PLATFORMS is unset.
|
|
6
6
|
*
|
|
7
7
|
* Registering everything is not an option any more. The full surface is 408
|
|
8
|
-
* tools, which serialises to
|
|
8
|
+
* tools, which serialises to 570KB 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 (
|
|
30
|
+
* all — every platform (456 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
|
*
|
package/dist/tools/index.js
CHANGED
|
@@ -46,6 +46,8 @@ import { registerMacysTools } from "./macys.js";
|
|
|
46
46
|
import { registerSaksTools } from "./saks.js";
|
|
47
47
|
import { registerKohlsTools } from "./kohls.js";
|
|
48
48
|
import { registerJcpenneyTools } from "./jcpenney.js";
|
|
49
|
+
import { registerDicksTools } from "./dicks.js";
|
|
50
|
+
import { registerFootlockerTools } from "./footlocker.js";
|
|
49
51
|
import { registerMercadoLibreTools } from "./mercadolibre.js";
|
|
50
52
|
import { registerTiktokShopTools } from "./tiktok-shop.js";
|
|
51
53
|
import { registerBookingTools } from "./booking.js";
|
|
@@ -135,6 +137,8 @@ const PLATFORMS = {
|
|
|
135
137
|
saks: registerSaksTools,
|
|
136
138
|
kohls: registerKohlsTools,
|
|
137
139
|
jcpenney: registerJcpenneyTools,
|
|
140
|
+
dicks: registerDicksTools,
|
|
141
|
+
footlocker: registerFootlockerTools,
|
|
138
142
|
mercadolibre: registerMercadoLibreTools,
|
|
139
143
|
"tiktok-shop": registerTiktokShopTools,
|
|
140
144
|
// Travel and local
|
|
@@ -170,7 +174,7 @@ export const PLATFORM_KEYS = Object.keys(PLATFORMS);
|
|
|
170
174
|
* What registers when SCAVIO_PLATFORMS is unset.
|
|
171
175
|
*
|
|
172
176
|
* Registering everything is not an option any more. The full surface is 408
|
|
173
|
-
* tools, which serialises to
|
|
177
|
+
* tools, which serialises to 570KB of tools/list (measured with
|
|
174
178
|
* `npm run toolslist`, not estimated) — roughly 90k tokens pushed into the
|
|
175
179
|
* context of EVERY session before the user has typed anything, and past the
|
|
176
180
|
* hard tool-count ceiling some clients enforce. The default set below is 142
|
|
@@ -227,7 +231,7 @@ function warnOnce(message) {
|
|
|
227
231
|
* Turn a SCAVIO_PLATFORMS value into the canonical platform keys to register.
|
|
228
232
|
*
|
|
229
233
|
* Accepts a comma-separated list of platform keys, plus three keywords:
|
|
230
|
-
* all — every platform (
|
|
234
|
+
* all — every platform (456 tools)
|
|
231
235
|
* default — expands to DEFAULT_PLATFORMS, so `default,sec,g2` is additive
|
|
232
236
|
* none — no platform tools at all, leaving only get_usage
|
|
233
237
|
*
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.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.
|
|
3
|
+
"version": "0.46.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.
|
|
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. 456 tools across 69 platforms plus Extract, site map, crawl and batch extraction, one API key.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"author": "Scavio",
|
|
@@ -63,6 +63,14 @@
|
|
|
63
63
|
"jcpenney-api",
|
|
64
64
|
"jcpenney-coupons",
|
|
65
65
|
"jcpenney-reviews",
|
|
66
|
+
"dicks",
|
|
67
|
+
"dicks-sporting-goods",
|
|
68
|
+
"dicks-sporting-goods-api",
|
|
69
|
+
"dicks-clearance",
|
|
70
|
+
"footlocker",
|
|
71
|
+
"foot-locker",
|
|
72
|
+
"foot-locker-api",
|
|
73
|
+
"sneaker-release-calendar",
|
|
66
74
|
"mercadolibre",
|
|
67
75
|
"mercado-libre",
|
|
68
76
|
"tiktok",
|