@scavio/mcp-server 0.45.0 → 0.47.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 +69 -5
- package/dist/tools/fanatics.d.ts +3 -0
- package/dist/tools/fanatics.js +125 -0
- package/dist/tools/fanatics.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. 461 tools across 70 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 461 tools puts ~585KB 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 461 tools. Loading all of them costs ~585KB 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 — **461 tools, ~585KB** |
|
|
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`, `dicks`, `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`, `fanatics`, `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
|
|
|
@@ -1278,6 +1278,70 @@ SKU lookup, and an unknown SKU reads 0 at every store, so take SKUs from
|
|
|
1278
1278
|
sites, account data or checkout: to track clearance prices, poll and store
|
|
1279
1279
|
your own.
|
|
1280
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
|
+
|
|
1314
|
+
### Fanatics
|
|
1315
|
+
|
|
1316
|
+
Fanatics merchandise and product data (jerseys, hats, fan gear, collectibles), not sportsbook odds.
|
|
1317
|
+
|
|
1318
|
+
| Tool | Description |
|
|
1319
|
+
|------|-------------|
|
|
1320
|
+
| `search_fanatics` | Search Fanatics by keyword on 8 storefronts and 4 US league stores, up to 72 items per page: price, regular, sale, clearance and with-code price, price label, percent off, top seller, customizable, ready to ship, ship-by and delivery estimate; narrow by gender, league, department or any facet via `filters`; 4 sorts; plus facets with ids, `corrected_query`, `total` (9000 cap on the US site) and `data_as_of` |
|
|
1321
|
+
| `get_fanatics_product` | One product by id or URL: league, team, player, the price block (regular / sale / clearance / with-code price), the site's current promo code, every size with `stock_level` (low / out, never a unit count), ship-by and delivery window, every colorway, personalization fields with the team roster, jersey assurance and authentic flags, and the rating with fit, value and quality |
|
|
1322
|
+
| `browse_fanatics` | Browse a team, player, league section, department, brand or collection by URL or ids, with `price_band`, `on_sale`, `gender` and facet filters |
|
|
1323
|
+
| `get_fanatics_deals` | Sale, clearance or under-25 listings, optionally for one league, team, department or brand |
|
|
1324
|
+
| `get_fanatics_reviews` | 1-50 reviews of one product (default 10) with full text, 4 sorts, star filter, fit / quality / value, the site's own AI-written summary and the features reviewers mention; reviews cover the whole style, so each carries its `product_id` |
|
|
1325
|
+
|
|
1326
|
+
Platform key `fanatics`. 1 credit per call. Storefronts (`country`): us
|
|
1327
|
+
(fanatics.com, USD, default), gb (GBP), de, fr, es, it (EUR), jp (JPY) and
|
|
1328
|
+
ca (CAD, `language` en or fr); titles come in the storefront's language.
|
|
1329
|
+
US league stores (`site`, with country us): fanatics (default), nflshop,
|
|
1330
|
+
mlbshop, nhlshop and mlsstore; the same product ids work on every store.
|
|
1331
|
+
Search, product, browse and deals work on every storefront and store;
|
|
1332
|
+
`price_band` and the under-25 deals are not on jp; reviews are US only
|
|
1333
|
+
(fanatics.com). Search, browse and deals share one grid: 24, 48 or 72 items
|
|
1334
|
+
per page, sorted by top sellers, price or newest, facet values feed
|
|
1335
|
+
`filters`. `data_as_of` says when Fanatics built each listing (it can be a
|
|
1336
|
+
few minutes old). The with-code price is the price with the site-wide promo
|
|
1337
|
+
code shown on the page; product prices already include personalization.
|
|
1338
|
+
Reviews are slow: usually 20-90 s, up to about 4 minutes, so allow a client
|
|
1339
|
+
timeout of at least 300 s; when busy they return 503 with Retry-After.
|
|
1340
|
+
Failed calls are not charged; unknown products are a charged 404. No search
|
|
1341
|
+
suggestions, store locator or store stock, Q&A, FanCash, member pricing,
|
|
1342
|
+
unit counts, price history or checkout: to track jersey sale prices, poll
|
|
1343
|
+
and store your own.
|
|
1344
|
+
|
|
1281
1345
|
### Kroger
|
|
1282
1346
|
|
|
1283
1347
|
| Tool | Description |
|
|
@@ -0,0 +1,125 @@
|
|
|
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/fanatics.ts (fanatics.com + 7 country
|
|
5
|
+
// storefronts, local currency, plus 4 US league stores via site). Merchandise
|
|
6
|
+
// and product data only: no odds or sportsbook data. Cross-field rules the
|
|
7
|
+
// backend enforces and zod here does not: product and reviews take product_id
|
|
8
|
+
// or url; browse takes url or ids (a league alone needs another id or a
|
|
9
|
+
// filter); language only applies to ca; site (other than fanatics) only with
|
|
10
|
+
// country us; price_band and deals under_25 are not on jp; filters take one
|
|
11
|
+
// value per filter (at most 12). No zod `.default()`: the MCP SDK would post a
|
|
12
|
+
// defaulted field on every call.
|
|
13
|
+
const COUNTRIES = ["us", "gb", "de", "fr", "es", "it", "jp", "ca"];
|
|
14
|
+
const SITES = ["fanatics", "nflshop", "mlbshop", "nhlshop", "mlsstore"];
|
|
15
|
+
const SORTS = ["top_sellers", "price_low_to_high", "price_high_to_low", "newest"];
|
|
16
|
+
const GENDERS = ["men", "women", "kids", "baby"];
|
|
17
|
+
const PRICE_BANDS = ["under_25", "25_50", "50_100", "100_150", "over_150"];
|
|
18
|
+
const DEAL_TYPES = ["sale", "clearance", "under_25"];
|
|
19
|
+
const REVIEW_SORTS = ["highest_rated", "lowest_rated", "most_recent", "most_helpful"];
|
|
20
|
+
const MARKETS = "us (fanatics.com, USD, default), gb (GBP), de, fr, es, it (EUR), jp (JPY) or ca (CAD; language en or fr)";
|
|
21
|
+
const STORES = "fanatics (default), nflshop (NFL Shop), mlbshop (MLB Shop), nhlshop (NHL Shop) or mlsstore (MLS Store)";
|
|
22
|
+
const ITEM_FIELDS = "id (for get_fanatics_product and get_fanatics_reviews), title, brand, url, image, price (current), regular_price, sale_price, clearance_price, with_code_price and code_percent_off (the price with the site's current promo code, when it applies), price_label (none, coupon or clearance), percent_off, top_seller, customizable, ready_to_ship, ship_by, est_delivery, urgency signals and is_sponsored";
|
|
23
|
+
const GRID = `Items with ${ITEM_FIELDS}. Also returns total (the US site counts at most 9000: total_capped is true when the real number is 9000 or more), page, page_size, total_pages, the sort, every facet (id, label, values with label, filter, value and count: send {filter: value} in filters), country, language, currency, site and data_as_of (when Fanatics built the page; listings can be a few minutes old)`;
|
|
24
|
+
const GRID_SHORT = "The same item fields, totals (9000 cap on the US site), facets and data_as_of as search_fanatics";
|
|
25
|
+
const WHERE = `Storefronts (country): ${MARKETS}. US league stores (site): ${STORES}.`;
|
|
26
|
+
const CHARGE = "Failed upstream calls are not charged (they are retried automatically); a not-found is charged. 1 credit.";
|
|
27
|
+
const country = () => z.enum(COUNTRIES).optional()
|
|
28
|
+
.describe(`The storefront: ${MARKETS}. Defaults to us. Titles come in the storefront's language, prices in its currency.`);
|
|
29
|
+
const language = () => z.enum(["en", "fr"]).optional()
|
|
30
|
+
.describe("ca only: en (default) or fr.");
|
|
31
|
+
const site = () => z.enum(SITES).optional()
|
|
32
|
+
.describe(`US only: the store to read, ${STORES}. Same product ids on every store; each store writes its own titles.`);
|
|
33
|
+
const idField = (description) => z.union([z.number().int().min(0), z.string().regex(/^\d{1,9}(-\d{1,9})?$/)]).optional().describe(description);
|
|
34
|
+
const gender = () => z.enum(GENDERS).optional().describe("men, women, kids or baby.");
|
|
35
|
+
const gridFields = {
|
|
36
|
+
page: z.number().int().min(1).max(375).optional()
|
|
37
|
+
.describe("Results page, 1-based. Defaults to 1. Fanatics lists at most 9000 products per listing."),
|
|
38
|
+
page_size: z.union([z.literal(24), z.literal(48), z.literal(72)]).optional()
|
|
39
|
+
.describe("Items per page: 24, 48 or 72. Defaults to 72."),
|
|
40
|
+
sort: z.enum(SORTS).optional()
|
|
41
|
+
.describe("top_sellers (default), price_low_to_high, price_high_to_low or newest. Price sorts follow the site's lowest price, which is the with-code price when a promo code applies."),
|
|
42
|
+
};
|
|
43
|
+
const filters = () => z.record(z.string(), z.union([z.string(), z.number()])).optional()
|
|
44
|
+
.describe("Filters from a previous response: {facets[].values[].filter: facets[].values[].value}, one value per filter (up to 12). E.g. {\"ga\": \"2\"} (Women), {\"ks\": \"126\"} (a kids size), {\"cs\": \"2\"} (Fashion), {\"fa\": \"1\"} (Autographed), {\"t\": \"3433\"} (a team).");
|
|
45
|
+
export function registerFanaticsTools(server, getClient) {
|
|
46
|
+
const post = (path) => async (params) => {
|
|
47
|
+
try {
|
|
48
|
+
const data = await getClient().post(`/api/v1/fanatics/${path}`, params);
|
|
49
|
+
return trimResponse(data);
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
return handleApiError(err);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const productTarget = {
|
|
56
|
+
product_id: z.string().regex(/^\d{3,14}$/).optional()
|
|
57
|
+
.describe("A Fanatics product id: a search result's id, e.g. '3892922'. The same id works on every league store."),
|
|
58
|
+
};
|
|
59
|
+
server.tool("search_fanatics", `Search Fanatics merchandise (jerseys, hats, fan gear, collectibles; product data, not odds or betting) by keyword on 8 storefronts and 4 US league stores. Narrow by gender, league_id, department_id or any facet value through filters (team, player, size, color style, autographed...). Sort by top sellers, price or newest. Misspellings come back corrected (corrected_query). ${GRID}. ${WHERE} Price filters are on browse_fanatics and get_fanatics_deals (on a keyword search the site loosens the match). ${CHARGE}`, {
|
|
60
|
+
query: z.string().min(1).max(200)
|
|
61
|
+
.describe("Search keywords, e.g. 'chiefs jersey'. Misspellings are corrected by the site (corrected_query)."),
|
|
62
|
+
country: country(),
|
|
63
|
+
language: language(),
|
|
64
|
+
site: site(),
|
|
65
|
+
gender: gender(),
|
|
66
|
+
league_id: idField("Narrow to one league (an id from facets: NFL 25, MLB 19, NBA 23, NHL 26, College 5)."),
|
|
67
|
+
department_id: idField("Narrow to one department (an id from facets: Jerseys 8011, Hats 8008, T-Shirts 8022)."),
|
|
68
|
+
filters: filters(),
|
|
69
|
+
...gridFields,
|
|
70
|
+
}, post("search"));
|
|
71
|
+
server.tool("get_fanatics_product", `One Fanatics product by id or URL: title, brand, league, team, player, gender, categories, breadcrumb, description, details, images, the price block (price, regular_price, sale_price, clearance_price, with_code_price, code_percent_off, percent_off, price_label), the site's current promo code (code, percent_off, tiered, ends_on, applies_to_product), in_stock, every size (item_id, available, stock_level low / out, price, with_code_price, ship_by, estimated delivery window, promise_ship_days), every colorway, personalization (name / number fields with their rules and the team roster; the price already includes personalization), flags (jersey_assurance, non_returnable, exclusive, authentic for autographed / authenticated items), the rating (average, count, distribution, fit, value, quality), review_count and data_as_of. Stock is a level, never a unit count. ${WHERE} ${CHARGE}`, {
|
|
72
|
+
...productTarget,
|
|
73
|
+
url: z.string().min(1).max(800).optional()
|
|
74
|
+
.describe("A product URL on any covered storefront or league store (its storefront is used). Alternative to product_id."),
|
|
75
|
+
country: country(),
|
|
76
|
+
language: language(),
|
|
77
|
+
site: site(),
|
|
78
|
+
}, post("product"));
|
|
79
|
+
server.tool("browse_fanatics", `Browse a Fanatics listing by its URL or by ids: a team (Lakers 5,000+ products), a player (Mahomes), a league section (NFL hats), a department, a brand ('47, Nike, New Era) or a collection, with price_band, on_sale, gender and any facet as filters (sizes, color style, autographed). The facets list the listing's teams, players (up to 100 on a team page), departments, brands, collections and sizes with their ids. browse names the league, team, player, department, brand and collection the page shows. Send url or ids, not both; a league alone is a landing page: combine it with another id or a filter. ${GRID_SHORT}. ${WHERE} ${CHARGE}`, {
|
|
80
|
+
url: z.string().min(1).max(800).optional()
|
|
81
|
+
.describe("A Fanatics listing URL: a team, player, league section, department, brand or collection page, e.g. 'https://www.fanatics.com/nba/los-angeles-lakers/o-23+t-3372'. Alternative to the ids."),
|
|
82
|
+
league_id: idField("League id (NFL 25, MLB 19, NBA 23, NHL 26, College 5). A league alone is a landing page: combine it with another id or a filter."),
|
|
83
|
+
team_id: idField("Team id (from facets: Los Angeles Lakers 3372, Kansas City Chiefs 3433)."),
|
|
84
|
+
player_id: idField("Player id (from facets.players: Patrick Mahomes 12072, Aaron Judge 31)."),
|
|
85
|
+
department_id: idField("Department id (Hats 8008, Jerseys 8011), or parent-child for a sub-department ('8008-8084')."),
|
|
86
|
+
brand_id: idField("Brand id (from facets.brands: '47 479, Nike 76, New Era 127)."),
|
|
87
|
+
collection_id: idField("Collection id (from facets.productGroups: City Edition 11552)."),
|
|
88
|
+
country: country(),
|
|
89
|
+
language: language(),
|
|
90
|
+
site: site(),
|
|
91
|
+
on_sale: z.boolean().optional()
|
|
92
|
+
.describe("Only sale items."),
|
|
93
|
+
price_band: z.enum(PRICE_BANDS).optional()
|
|
94
|
+
.describe("under_25, 25_50, 50_100, 100_150 or over_150: the site's bands in the storefront's currency, applied to its lowest price (the with-code price when a promo code applies, so a few items list a little above the band). Not on jp."),
|
|
95
|
+
gender: gender(),
|
|
96
|
+
filters: filters(),
|
|
97
|
+
...gridFields,
|
|
98
|
+
}, post("browse"));
|
|
99
|
+
server.tool("get_fanatics_deals", `Fanatics deal listings: sale (default: the site's Sale listing, coupon-eligible items and clearance markdowns), clearance (each sale page's clearance-priced items; total counts the whole sale listing) or under_25 (items under 25 in the storefront's currency, by the site's lowest price; not on jp), optionally for one league, team, department or brand. ${GRID_SHORT}. No price history: to track jersey sale prices over time, poll and store your own. ${WHERE} ${CHARGE}`, {
|
|
100
|
+
type: z.enum(DEAL_TYPES).optional()
|
|
101
|
+
.describe("sale (default), clearance or under_25 (not on jp)."),
|
|
102
|
+
league_id: idField("Only one league (NFL 25, MLB 19, NBA 23, NHL 26, College 5)."),
|
|
103
|
+
team_id: idField("Only one team (Los Angeles Lakers 3372, Kansas City Chiefs 3433)."),
|
|
104
|
+
department_id: idField("Only one department (Hats 8008, Jerseys 8011)."),
|
|
105
|
+
brand_id: idField("Only one brand ('47 479, Nike 76, New Era 127)."),
|
|
106
|
+
country: country(),
|
|
107
|
+
language: language(),
|
|
108
|
+
site: site(),
|
|
109
|
+
...gridFields,
|
|
110
|
+
}, post("deals"));
|
|
111
|
+
server.tool("get_fanatics_reviews", "Customer reviews of one Fanatics (fanatics.com, US) product by id or URL, 1-50 per call (default 10), sorted highest rated (default, the site's order), lowest rated, most recent or most helpful, optionally only one star rating. Returns stats (review_count, rating_count, average, distribution, fit, quality and value averages), the site's own AI-written review summary (ai_summary) and the features reviewers mention. Each review has id, product_id and product_title, rating, fit, quality, value, recommended, title, text, author nickname, submitted_at, updated_at, incentivized, helpful and unhelpful votes, features with sentiment and photos. Fanatics pools reviews across a style: the list (and matching_reviews) covers sibling products of the same cut, so check each review's product_id. Slow: usually 20-90 s, up to about 4 minutes when a call is retried; when busy it returns 503 with Retry-After. Failed calls are not charged; an unknown product is a charged 404. US only. 1 credit.", {
|
|
112
|
+
...productTarget,
|
|
113
|
+
url: z.string().min(1).max(800).optional()
|
|
114
|
+
.describe("A fanatics.com product URL. Alternative to product_id."),
|
|
115
|
+
country: z.enum(["us"]).optional()
|
|
116
|
+
.describe("us only."),
|
|
117
|
+
sort: z.enum(REVIEW_SORTS).optional()
|
|
118
|
+
.describe("highest_rated (default, the site's order), lowest_rated, most_recent or most_helpful."),
|
|
119
|
+
rating: z.number().int().min(1).max(5).optional()
|
|
120
|
+
.describe("Only reviews with this many stars (1-5)."),
|
|
121
|
+
limit: z.number().int().min(1).max(50).optional()
|
|
122
|
+
.describe("Reviews to return, 1-50. Defaults to 10. More than 10 takes a few seconds longer per 8."),
|
|
123
|
+
}, post("reviews"));
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=fanatics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fanatics.js","sourceRoot":"","sources":["../../src/tools/fanatics.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 585KB 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 (461 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
|
@@ -47,6 +47,8 @@ import { registerSaksTools } from "./saks.js";
|
|
|
47
47
|
import { registerKohlsTools } from "./kohls.js";
|
|
48
48
|
import { registerJcpenneyTools } from "./jcpenney.js";
|
|
49
49
|
import { registerDicksTools } from "./dicks.js";
|
|
50
|
+
import { registerFootlockerTools } from "./footlocker.js";
|
|
51
|
+
import { registerFanaticsTools } from "./fanatics.js";
|
|
50
52
|
import { registerMercadoLibreTools } from "./mercadolibre.js";
|
|
51
53
|
import { registerTiktokShopTools } from "./tiktok-shop.js";
|
|
52
54
|
import { registerBookingTools } from "./booking.js";
|
|
@@ -137,6 +139,8 @@ const PLATFORMS = {
|
|
|
137
139
|
kohls: registerKohlsTools,
|
|
138
140
|
jcpenney: registerJcpenneyTools,
|
|
139
141
|
dicks: registerDicksTools,
|
|
142
|
+
footlocker: registerFootlockerTools,
|
|
143
|
+
fanatics: registerFanaticsTools,
|
|
140
144
|
mercadolibre: registerMercadoLibreTools,
|
|
141
145
|
"tiktok-shop": registerTiktokShopTools,
|
|
142
146
|
// Travel and local
|
|
@@ -172,7 +176,7 @@ export const PLATFORM_KEYS = Object.keys(PLATFORMS);
|
|
|
172
176
|
* What registers when SCAVIO_PLATFORMS is unset.
|
|
173
177
|
*
|
|
174
178
|
* Registering everything is not an option any more. The full surface is 408
|
|
175
|
-
* tools, which serialises to
|
|
179
|
+
* tools, which serialises to 585KB of tools/list (measured with
|
|
176
180
|
* `npm run toolslist`, not estimated) — roughly 90k tokens pushed into the
|
|
177
181
|
* context of EVERY session before the user has typed anything, and past the
|
|
178
182
|
* hard tool-count ceiling some clients enforce. The default set below is 142
|
|
@@ -229,7 +233,7 @@ function warnOnce(message) {
|
|
|
229
233
|
* Turn a SCAVIO_PLATFORMS value into the canonical platform keys to register.
|
|
230
234
|
*
|
|
231
235
|
* Accepts a comma-separated list of platform keys, plus three keywords:
|
|
232
|
-
* all — every platform (
|
|
236
|
+
* all — every platform (461 tools)
|
|
233
237
|
* default — expands to DEFAULT_PLATFORMS, so `default,sec,g2` is additive
|
|
234
238
|
* none — no platform tools at all, leaving only get_usage
|
|
235
239
|
*
|
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.47.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. 461 tools across 70 platforms plus Extract, site map, crawl and batch extraction, one API key.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"author": "Scavio",
|
|
@@ -67,6 +67,14 @@
|
|
|
67
67
|
"dicks-sporting-goods",
|
|
68
68
|
"dicks-sporting-goods-api",
|
|
69
69
|
"dicks-clearance",
|
|
70
|
+
"footlocker",
|
|
71
|
+
"foot-locker",
|
|
72
|
+
"foot-locker-api",
|
|
73
|
+
"sneaker-release-calendar",
|
|
74
|
+
"fanatics",
|
|
75
|
+
"fanatics-api",
|
|
76
|
+
"fanatics-merchandise-api",
|
|
77
|
+
"fanatics-jersey-sale",
|
|
70
78
|
"mercadolibre",
|
|
71
79
|
"mercado-libre",
|
|
72
80
|
"tiktok",
|