mcp-scraper 0.38.0 → 0.38.2
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 +1 -1
- package/dist/bin/api-server.cjs +813 -338
- package/dist/bin/api-server.cjs.map +1 -1
- package/dist/bin/api-server.js +3 -3
- package/dist/bin/mcp-scraper-cli.cjs +1 -1
- package/dist/bin/mcp-scraper-cli.cjs.map +1 -1
- package/dist/bin/mcp-scraper-cli.js +1 -1
- package/dist/bin/mcp-scraper-install.cjs +1 -1
- package/dist/bin/mcp-scraper-install.cjs.map +1 -1
- package/dist/bin/mcp-scraper-install.js +1 -1
- package/dist/bin/mcp-stdio-server.cjs +25 -7
- package/dist/bin/mcp-stdio-server.cjs.map +1 -1
- package/dist/bin/mcp-stdio-server.js +5 -5
- package/dist/bin/paa-harvest.cjs +65 -4
- package/dist/bin/paa-harvest.cjs.map +1 -1
- package/dist/bin/paa-harvest.js +3 -3
- package/dist/{chunk-PWPUKR5U.js → chunk-AZRPG43B.js} +12 -3
- package/dist/chunk-AZRPG43B.js.map +1 -0
- package/dist/{chunk-MA5JBAUZ.js → chunk-EGJKUB4Q.js} +3 -3
- package/dist/{chunk-MA5JBAUZ.js.map → chunk-EGJKUB4Q.js.map} +1 -1
- package/dist/{chunk-PUJFYJXB.js → chunk-FRYT3ID4.js} +2 -2
- package/dist/{chunk-CSCD2HNS.js → chunk-N7KUTTCC.js} +312 -101
- package/dist/chunk-N7KUTTCC.js.map +1 -0
- package/dist/{chunk-LOPKN3YL.js → chunk-NGM237OO.js} +66 -5
- package/dist/chunk-NGM237OO.js.map +1 -0
- package/dist/{chunk-P64PZUCA.js → chunk-NKCCGADE.js} +23 -8
- package/dist/chunk-NKCCGADE.js.map +1 -0
- package/dist/{chunk-FSAXLDB3.js → chunk-SFRMFGQ6.js} +2 -2
- package/dist/{chunk-Q35WZJJK.js → chunk-YCI2PNCS.js} +3 -3
- package/dist/chunk-YODBNTTN.js +7 -0
- package/dist/chunk-YODBNTTN.js.map +1 -0
- package/dist/{db-N3YECFWR.js → db-C5KVCOYT.js} +10 -4
- package/dist/{extract-bundle-346R6MXD.js → extract-bundle-KUBX6N6Z.js} +4 -4
- package/dist/index.cjs +65 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3 -3
- package/dist/{location-data-repository-O2VII3ON.js → location-data-repository-TTWF3OTM.js} +3 -3
- package/dist/{server-3Q6XIJPF.js → server-5EX6XBIA.js} +320 -152
- package/dist/server-5EX6XBIA.js.map +1 -0
- package/dist/{site-extract-repository-I3VM6WXN.js → site-extract-repository-XSPJTCIL.js} +4 -4
- package/dist/{worker-TTFXPPDK.js → worker-XCPU4YSN.js} +6 -6
- package/docs/mcp-tool-manifest.generated.json +66 -9
- package/package.json +4 -2
- package/dist/chunk-CSCD2HNS.js.map +0 -1
- package/dist/chunk-H3M3O457.js +0 -7
- package/dist/chunk-H3M3O457.js.map +0 -1
- package/dist/chunk-LOPKN3YL.js.map +0 -1
- package/dist/chunk-P64PZUCA.js.map +0 -1
- package/dist/chunk-PWPUKR5U.js.map +0 -1
- package/dist/server-3Q6XIJPF.js.map +0 -1
- /package/dist/{chunk-PUJFYJXB.js.map → chunk-FRYT3ID4.js.map} +0 -0
- /package/dist/{chunk-FSAXLDB3.js.map → chunk-SFRMFGQ6.js.map} +0 -0
- /package/dist/{chunk-Q35WZJJK.js.map → chunk-YCI2PNCS.js.map} +0 -0
- /package/dist/{db-N3YECFWR.js.map → db-C5KVCOYT.js.map} +0 -0
- /package/dist/{extract-bundle-346R6MXD.js.map → extract-bundle-KUBX6N6Z.js.map} +0 -0
- /package/dist/{location-data-repository-O2VII3ON.js.map → location-data-repository-TTWF3OTM.js.map} +0 -0
- /package/dist/{site-extract-repository-I3VM6WXN.js.map → site-extract-repository-XSPJTCIL.js.map} +0 -0
- /package/dist/{worker-TTFXPPDK.js.map → worker-XCPU4YSN.js.map} +0 -0
|
@@ -15,17 +15,17 @@ import {
|
|
|
15
15
|
browserServiceProfileSaveChanges,
|
|
16
16
|
recordVendorUsage,
|
|
17
17
|
vendorCostUsd
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-EGJKUB4Q.js";
|
|
19
19
|
import {
|
|
20
20
|
DEFAULT_MAPS_PROXY_MODE,
|
|
21
21
|
DEFAULT_PROXY_MODE
|
|
22
22
|
} from "./chunk-CB5C3BPB.js";
|
|
23
23
|
import {
|
|
24
24
|
PACKAGE_VERSION
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-YODBNTTN.js";
|
|
26
26
|
import {
|
|
27
27
|
MC_PER_CREDIT
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-AZRPG43B.js";
|
|
29
29
|
import {
|
|
30
30
|
sanitizeVendorName
|
|
31
31
|
} from "./chunk-44HZLHDV.js";
|
|
@@ -1948,8 +1948,12 @@ async function formatExtractSite(raw, input, ctx) {
|
|
|
1948
1948
|
schemaTypes: schemaTypesOf(p)
|
|
1949
1949
|
})));
|
|
1950
1950
|
const preview = pages.slice(0, BULK_PAGE_THRESHOLD).map(pageRow).join("\n");
|
|
1951
|
+
const stoppedEarly = d.stoppedEarly;
|
|
1951
1952
|
const summaryHeader = [
|
|
1952
1953
|
`# Site Extract: ${input.url}`,
|
|
1954
|
+
stoppedEarly ? `
|
|
1955
|
+
> **Partial crawl.** The crawl stopped before finishing, so this covers ${pages.length} page(s) rather than the whole site. You were only charged for the pages returned. Reason: ${stoppedEarly.message ?? "unknown"}
|
|
1956
|
+
` : "",
|
|
1953
1957
|
durationLine,
|
|
1954
1958
|
`
|
|
1955
1959
|
## Pages (first ${Math.min(BULK_PAGE_THRESHOLD, pages.length)} of ${pages.length})
|
|
@@ -4305,8 +4309,9 @@ var GoogleAdsSearchInputSchema = {
|
|
|
4305
4309
|
maxResults: z2.number().int().min(1).max(20).default(10).describe("Maximum advertisers to return. Default 10, maximum 20.")
|
|
4306
4310
|
};
|
|
4307
4311
|
var GoogleAdsPageIntelInputSchema = {
|
|
4308
|
-
|
|
4309
|
-
|
|
4312
|
+
domain: z2.string().optional().describe("A website from google_ads_search.websites (e.g. getviktor.com). Preferred input: people know the website, not the advertiser's registered name. Resolves to whichever advertiser account runs ads for that domain."),
|
|
4313
|
+
advertiserName: z2.string().optional().describe('An advertiser name exactly as returned in google_ads_search.advertisers[].name (e.g. "PPS Plumbing Services"). Use when the user picked an advertiser rather than a website.'),
|
|
4314
|
+
advertiserId: z2.string().optional().describe("Google Ads Transparency advertiser ID (starts with AR...). Only available if you already have one from a prior page-intel result \u2014 google_ads_search does NOT return advertiser IDs. Do not construct one yourself."),
|
|
4310
4315
|
region: z2.string().length(2).default("US").describe("Two-letter region code for where the ads are shown. Default US."),
|
|
4311
4316
|
maxAds: z2.number().int().min(1).max(200).default(50).describe("Maximum creatives to inspect and hydrate. Default 50, maximum 200. Prefer 25-50 for focused scans.")
|
|
4312
4317
|
};
|
|
@@ -4761,6 +4766,10 @@ var DiffPageOutputSchema = {
|
|
|
4761
4766
|
};
|
|
4762
4767
|
var ExtractSiteOutputSchema = {
|
|
4763
4768
|
url: z2.string(),
|
|
4769
|
+
stoppedEarly: z2.object({
|
|
4770
|
+
code: z2.string(),
|
|
4771
|
+
message: z2.string()
|
|
4772
|
+
}).nullish().describe("Present when the crawl stopped before finishing. The returned pages are everything that was captured, and billing covers only those pages - treat the result as partial, not as the whole site."),
|
|
4764
4773
|
pageCount: z2.number().int().min(0).optional().describe("Absent when background is true \u2014 the crawl has not finished yet."),
|
|
4765
4774
|
pages: z2.array(z2.object({
|
|
4766
4775
|
url: z2.string(),
|
|
@@ -5140,9 +5149,15 @@ var GoogleAdsSearchOutputSchema = {
|
|
|
5140
5149
|
advertisers: z2.array(z2.object({
|
|
5141
5150
|
advertiserId: NullableString,
|
|
5142
5151
|
name: NullableString,
|
|
5152
|
+
basedIn: NullableString,
|
|
5143
5153
|
domain: NullableString,
|
|
5144
5154
|
approxAdCount: z2.number().int().nullable(),
|
|
5145
5155
|
detailUrl: NullableString
|
|
5156
|
+
})),
|
|
5157
|
+
websiteCount: z2.number().int().min(0),
|
|
5158
|
+
websites: z2.array(z2.object({
|
|
5159
|
+
domain: z2.string(),
|
|
5160
|
+
detailUrl: z2.string()
|
|
5146
5161
|
}))
|
|
5147
5162
|
};
|
|
5148
5163
|
var GoogleAdsPageIntelOutputSchema = {
|
|
@@ -6451,14 +6466,14 @@ function registerPaaExtractorMcpTools(server, executor, options = {}) {
|
|
|
6451
6466
|
}, async (input) => formatFacebookAdTranscribe(await executor.facebookAdTranscribe(input), input));
|
|
6452
6467
|
server.registerTool("google_ads_search", {
|
|
6453
6468
|
title: "Google Ads Transparency Search",
|
|
6454
|
-
description: "Search the Google Ads Transparency Center
|
|
6469
|
+
description: "Search the Google Ads Transparency Center by brand, person, or website. Returns two lists: advertisers (name, country, approximate ad count) and websites (domains). Neither carries an advertiser ID. Pass a websites[].domain (preferred - users know the website, not the registered advertiser name) or an advertisers[].name to google_ads_page_intel to pull that advertiser's actual ads.",
|
|
6455
6470
|
inputSchema: GoogleAdsSearchInputSchema,
|
|
6456
6471
|
outputSchema: recordOutputSchema("google_ads_search", GoogleAdsSearchOutputSchema),
|
|
6457
6472
|
annotations: liveWebToolAnnotations("Google Ads Transparency Search")
|
|
6458
6473
|
}, async (input) => formatGoogleAdsSearch(await executor.googleAdsSearch(input), input));
|
|
6459
6474
|
server.registerTool("google_ads_page_intel", {
|
|
6460
6475
|
title: "Google Ads Advertiser Intel",
|
|
6461
|
-
description: "Harvest an advertiser's ad creatives from the Google Ads Transparency Center: format, image URLs, and \u2014 for video ads \u2014 a YouTube video ID or direct video URL. Accepts
|
|
6476
|
+
description: "Harvest an advertiser's ad creatives from the Google Ads Transparency Center: format, image URLs, and \u2014 for video ads \u2014 a YouTube video ID or direct video URL. Accepts a domain or advertiserName from google_ads_search (google_ads_search does not return advertiser IDs). A domain may map to several advertiser accounts; this returns the primary one.",
|
|
6462
6477
|
inputSchema: GoogleAdsPageIntelInputSchema,
|
|
6463
6478
|
outputSchema: recordOutputSchema("google_ads_page_intel", GoogleAdsPageIntelOutputSchema),
|
|
6464
6479
|
annotations: liveWebToolAnnotations("Google Ads Advertiser Intel")
|
|
@@ -11267,4 +11282,4 @@ export {
|
|
|
11267
11282
|
MEMORY_TOOL_SCHEMAS,
|
|
11268
11283
|
registerMemoryMcpTools
|
|
11269
11284
|
};
|
|
11270
|
-
//# sourceMappingURL=chunk-
|
|
11285
|
+
//# sourceMappingURL=chunk-NKCCGADE.js.map
|