mcp-scraper 0.33.7 → 0.34.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.
Files changed (42) hide show
  1. package/dist/bin/api-server.cjs +10063 -10012
  2. package/dist/bin/api-server.cjs.map +1 -1
  3. package/dist/bin/api-server.js +2 -2
  4. package/dist/bin/mcp-scraper-cli.cjs +2 -1
  5. package/dist/bin/mcp-scraper-cli.cjs.map +1 -1
  6. package/dist/bin/mcp-scraper-cli.js +3 -3
  7. package/dist/bin/mcp-scraper-install.cjs +1 -1
  8. package/dist/bin/mcp-scraper-install.cjs.map +1 -1
  9. package/dist/bin/mcp-scraper-install.js +1 -1
  10. package/dist/bin/mcp-stdio-server.cjs +15 -8
  11. package/dist/bin/mcp-stdio-server.cjs.map +1 -1
  12. package/dist/bin/mcp-stdio-server.js +3 -3
  13. package/dist/bin/paa-harvest.cjs +22 -0
  14. package/dist/bin/paa-harvest.cjs.map +1 -1
  15. package/dist/bin/paa-harvest.js +2 -2
  16. package/dist/{chunk-XVCETVYY.js → chunk-4KQVIYIH.js} +11 -3
  17. package/dist/chunk-4KQVIYIH.js.map +1 -0
  18. package/dist/{chunk-V73MPRU6.js → chunk-CB5C3BPB.js} +17 -1
  19. package/dist/chunk-CB5C3BPB.js.map +1 -0
  20. package/dist/{chunk-H6QECE2U.js → chunk-J32XSMJI.js} +16 -10
  21. package/dist/chunk-J32XSMJI.js.map +1 -0
  22. package/dist/chunk-NFMIHEYE.js +7 -0
  23. package/dist/chunk-NFMIHEYE.js.map +1 -0
  24. package/dist/{chunk-AT2PFWHW.js → chunk-ZID3WQID.js} +2 -2
  25. package/dist/index.cjs +22 -0
  26. package/dist/index.cjs.map +1 -1
  27. package/dist/index.d.cts +3 -0
  28. package/dist/index.d.ts +3 -0
  29. package/dist/index.js +2 -2
  30. package/dist/{server-B35CQJB3.js → server-LKVPEQFE.js} +130 -108
  31. package/dist/server-LKVPEQFE.js.map +1 -0
  32. package/dist/{worker-3LYNVGLF.js → worker-ZZHSYI3Y.js} +3 -3
  33. package/docs/mcp-tool-manifest.generated.json +36 -8
  34. package/package.json +1 -1
  35. package/dist/chunk-H6QECE2U.js.map +0 -1
  36. package/dist/chunk-HAMN42SP.js +0 -7
  37. package/dist/chunk-HAMN42SP.js.map +0 -1
  38. package/dist/chunk-V73MPRU6.js.map +0 -1
  39. package/dist/chunk-XVCETVYY.js.map +0 -1
  40. package/dist/server-B35CQJB3.js.map +0 -1
  41. /package/dist/{chunk-AT2PFWHW.js.map → chunk-ZID3WQID.js.map} +0 -0
  42. /package/dist/{worker-3LYNVGLF.js.map → worker-ZZHSYI3Y.js.map} +0 -0
@@ -7,16 +7,16 @@ import {
7
7
  registerMemoryMcpTools,
8
8
  registerPaaExtractorMcpTools,
9
9
  registerSerpIntelligenceCaptureTools
10
- } from "../chunk-H6QECE2U.js";
10
+ } from "../chunk-J32XSMJI.js";
11
11
  import "../chunk-R7EETU7Z.js";
12
12
  import "../chunk-V36LS5YV.js";
13
13
  import {
14
14
  renderInstallTerminal
15
15
  } from "../chunk-2EDFOQD7.js";
16
- import "../chunk-V73MPRU6.js";
16
+ import "../chunk-CB5C3BPB.js";
17
17
  import {
18
18
  PACKAGE_VERSION
19
- } from "../chunk-HAMN42SP.js";
19
+ } from "../chunk-NFMIHEYE.js";
20
20
  import "../chunk-JBSGBSGT.js";
21
21
  import "../chunk-M2S27J6Z.js";
22
22
  import "../chunk-62DQAWPF.js";
@@ -63,8 +63,23 @@ var HarvestOptionsSchema = import_zod.z.object({
63
63
  format: import_zod.z.enum(["json", "csv", "both"]).default("both"),
64
64
  serpOnly: import_zod.z.boolean().default(false),
65
65
  pages: import_zod.z.number().int().min(1).max(2).default(1),
66
+ recency: import_zod.z.enum(["day", "week", "month", "year"]).optional(),
66
67
  softDeadlineMs: import_zod.z.number().optional()
67
68
  });
69
+ function recencyToTbs(recency) {
70
+ switch (recency) {
71
+ case "day":
72
+ return "qdr:d";
73
+ case "week":
74
+ return "qdr:w";
75
+ case "month":
76
+ return "qdr:m";
77
+ case "year":
78
+ return "qdr:y";
79
+ default:
80
+ return void 0;
81
+ }
82
+ }
68
83
  var MapsPlaceOptionsSchema = import_zod.z.object({
69
84
  businessName: import_zod.z.string().min(1),
70
85
  location: import_zod.z.string().min(1),
@@ -836,6 +851,7 @@ var BrowserDriver = class {
836
851
  async navigateToSERP(query, uule, gl, hl, options) {
837
852
  const params = new URLSearchParams({ q: query, gl, hl, pws: "0" });
838
853
  if (options?.num) params.set("num", String(options.num));
854
+ if (options?.tbs) params.set("tbs", options.tbs);
839
855
  if (uule) params.set("uule", uule);
840
856
  const url = "https://www.google.com/search?" + params.toString();
841
857
  const navUrl = serpArrivalUrl(url);
@@ -2402,6 +2418,7 @@ var PAAExtractor = class {
2402
2418
  options.hl,
2403
2419
  {
2404
2420
  ...options.serpOnly ? { num: 100 } : {},
2421
+ ...recencyToTbs(options.recency) ? { tbs: recencyToTbs(options.recency) } : {},
2405
2422
  debug: options.debug
2406
2423
  }
2407
2424
  );
@@ -2421,6 +2438,8 @@ var PAAExtractor = class {
2421
2438
  let allOrganic2 = organicResults2;
2422
2439
  if ((options.pages ?? 1) >= 2) {
2423
2440
  const p2params = new URLSearchParams({ q: options.query, gl: options.gl, hl: options.hl, pws: "0", start: "10" });
2441
+ if (recencyToTbs(options.recency)) p2params.set("tbs", recencyToTbs(options.recency));
2442
+ if (recencyToTbs(options.recency)) p2params.set("tbs", recencyToTbs(options.recency));
2424
2443
  if (uule) p2params.set("uule", uule);
2425
2444
  await this.driver.navigateTo("https://www.google.com/search?" + p2params.toString());
2426
2445
  await this.throwIfCaptcha(page, "Google SERP page 2");
@@ -2480,6 +2499,8 @@ var PAAExtractor = class {
2480
2499
  let locationEvidence2 = initialLocationEvidence;
2481
2500
  if ((options.pages ?? 1) >= 2) {
2482
2501
  const p2params = new URLSearchParams({ q: options.query, gl: options.gl, hl: options.hl, pws: "0", start: "10" });
2502
+ if (recencyToTbs(options.recency)) p2params.set("tbs", recencyToTbs(options.recency));
2503
+ if (recencyToTbs(options.recency)) p2params.set("tbs", recencyToTbs(options.recency));
2483
2504
  if (uule) p2params.set("uule", uule);
2484
2505
  await this.driver.navigateTo("https://www.google.com/search?" + p2params.toString());
2485
2506
  await this.throwIfCaptcha(page, "Google SERP page 2");
@@ -2546,6 +2567,7 @@ var PAAExtractor = class {
2546
2567
  let locationEvidence = initialLocationEvidence;
2547
2568
  if ((options.pages ?? 1) >= 2) {
2548
2569
  const p2params = new URLSearchParams({ q: options.query, gl: options.gl, hl: options.hl, pws: "0", start: "10" });
2570
+ if (recencyToTbs(options.recency)) p2params.set("tbs", recencyToTbs(options.recency));
2549
2571
  if (uule) p2params.set("uule", uule);
2550
2572
  await this.driver.navigateTo("https://www.google.com/search?" + p2params.toString());
2551
2573
  await this.throwIfCaptcha(page, "Google SERP page 2");