mcp-scraper 0.65.1 → 0.66.1

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 (89) hide show
  1. package/CHANGELOG.md +31 -1
  2. package/README.md +11 -6
  3. package/dist/{analytics-repository-IKE53S3E.js → analytics-repository-RUXBFSFX.js} +1 -2
  4. package/dist/bin/api-server.cjs +1844 -71
  5. package/dist/bin/api-server.js +4 -5
  6. package/dist/bin/mcp-scraper-cli.cjs +1 -2
  7. package/dist/bin/mcp-scraper-cli.js +6 -7
  8. package/dist/bin/mcp-scraper-install.cjs +7 -3
  9. package/dist/bin/mcp-scraper-install.js +2 -3
  10. package/dist/bin/mcp-stdio-server.cjs +5150 -3467
  11. package/dist/bin/mcp-stdio-server.js +11 -11
  12. package/dist/bin/paa-harvest.cjs +8 -3
  13. package/dist/bin/paa-harvest.js +4 -5
  14. package/dist/{chunk-5PIO7QBG.js → chunk-3PIXKLGZ.js} +3 -4
  15. package/dist/{chunk-VIWT35S6.js → chunk-4OT7BAIE.js} +1 -2
  16. package/dist/{chunk-ORKXE7VX.js → chunk-4P3PHFPQ.js} +11 -6
  17. package/dist/{chunk-AMLFKPLL.js → chunk-75VW7CWE.js} +4 -7
  18. package/dist/{chunk-FG6LJGJ7.js → chunk-77LQV73B.js} +0 -1
  19. package/dist/{chunk-DKIG2TEE.js → chunk-AQKJOSIB.js} +2 -3
  20. package/dist/{chunk-2XUXVKT4.js → chunk-AYJHI2FK.js} +0 -1
  21. package/dist/{chunk-5BEPOFKG.js → chunk-CNLLTD5B.js} +0 -1
  22. package/dist/{chunk-EKJ65E3Z.js → chunk-DNM65UCK.js} +0 -1
  23. package/dist/{chunk-PDAKCYHZ.js → chunk-E4LMY5OJ.js} +6258 -3747
  24. package/dist/{chunk-MQGBCWZD.js → chunk-GGZEC22A.js} +64 -1
  25. package/dist/{chunk-4VG3NUUY.js → chunk-GTGSD4YS.js} +2 -2
  26. package/dist/{chunk-MQQS7ONH.js → chunk-KBTUPRTF.js} +8 -296
  27. package/dist/{chunk-XPEN6OG5.js → chunk-NS754CRS.js} +15 -3
  28. package/dist/{chunk-UN4LZVCB.js → chunk-OZJMVCDK.js} +1 -2
  29. package/dist/{chunk-342OUCSG.js → chunk-PGJQDMC2.js} +1 -2
  30. package/dist/{chunk-G3P3ZDB4.js → chunk-RJ7JVYKU.js} +0 -1
  31. package/dist/{chunk-N54JS5WP.js → chunk-TNJIPV74.js} +1 -2
  32. package/dist/{chunk-4LINSJNI.js → chunk-TNLGHNLX.js} +1 -2
  33. package/dist/chunk-VRJ7CO6L.js +6 -0
  34. package/dist/chunk-VXLU74YZ.js +293 -0
  35. package/dist/{chunk-DCWXVAQT.js → chunk-WID3MFRS.js} +6 -2
  36. package/dist/{db-BRI465XQ.js → db-PO7N7ZP3.js} +1 -2
  37. package/dist/{extract-bundle-UWKJT4MU.js → extract-bundle-SIBFUA6I.js} +8 -10
  38. package/dist/index.cjs +8 -3
  39. package/dist/index.js +4 -5
  40. package/dist/{lead-list-enrichment-repository-ODWGRVCQ.js → lead-list-enrichment-repository-OTAUQONJ.js} +2 -3
  41. package/dist/{location-data-repository-67MMEVZQ.js → location-data-repository-RM2KJ3H5.js} +3 -4
  42. package/dist/{server-RSHSZBUZ.js → server-ELEJNRRE.js} +875 -1629
  43. package/dist/{site-extract-repository-J3RH3MOS.js → site-extract-repository-ASYEJO7Z.js} +4 -5
  44. package/dist/{worker-YKRIK5LS.js → worker-MAVYYWM7.js} +8 -9
  45. package/package.json +3 -1
  46. package/dist/analytics-repository-IKE53S3E.js.map +0 -1
  47. package/dist/bin/api-server.cjs.map +0 -1
  48. package/dist/bin/api-server.js.map +0 -1
  49. package/dist/bin/mcp-scraper-cli.cjs.map +0 -1
  50. package/dist/bin/mcp-scraper-cli.js.map +0 -1
  51. package/dist/bin/mcp-scraper-install.cjs.map +0 -1
  52. package/dist/bin/mcp-scraper-install.js.map +0 -1
  53. package/dist/bin/mcp-stdio-server.cjs.map +0 -1
  54. package/dist/bin/mcp-stdio-server.js.map +0 -1
  55. package/dist/bin/paa-harvest.cjs.map +0 -1
  56. package/dist/bin/paa-harvest.js.map +0 -1
  57. package/dist/chunk-2XUXVKT4.js.map +0 -1
  58. package/dist/chunk-342OUCSG.js.map +0 -1
  59. package/dist/chunk-4LINSJNI.js.map +0 -1
  60. package/dist/chunk-4VG3NUUY.js.map +0 -1
  61. package/dist/chunk-5BEPOFKG.js.map +0 -1
  62. package/dist/chunk-5PIO7QBG.js.map +0 -1
  63. package/dist/chunk-AMLFKPLL.js.map +0 -1
  64. package/dist/chunk-CGKWNXJR.js +0 -7
  65. package/dist/chunk-CGKWNXJR.js.map +0 -1
  66. package/dist/chunk-DCWXVAQT.js.map +0 -1
  67. package/dist/chunk-DKIG2TEE.js.map +0 -1
  68. package/dist/chunk-EKJ65E3Z.js.map +0 -1
  69. package/dist/chunk-FG6LJGJ7.js.map +0 -1
  70. package/dist/chunk-G3P3ZDB4.js.map +0 -1
  71. package/dist/chunk-MQGBCWZD.js.map +0 -1
  72. package/dist/chunk-MQQS7ONH.js.map +0 -1
  73. package/dist/chunk-N54JS5WP.js.map +0 -1
  74. package/dist/chunk-ORKXE7VX.js.map +0 -1
  75. package/dist/chunk-PDAKCYHZ.js.map +0 -1
  76. package/dist/chunk-UN4LZVCB.js.map +0 -1
  77. package/dist/chunk-UVFB24RZ.js +0 -67
  78. package/dist/chunk-UVFB24RZ.js.map +0 -1
  79. package/dist/chunk-VIWT35S6.js.map +0 -1
  80. package/dist/chunk-XPEN6OG5.js.map +0 -1
  81. package/dist/db-BRI465XQ.js.map +0 -1
  82. package/dist/extract-bundle-UWKJT4MU.js.map +0 -1
  83. package/dist/index.cjs.map +0 -1
  84. package/dist/index.js.map +0 -1
  85. package/dist/lead-list-enrichment-repository-ODWGRVCQ.js.map +0 -1
  86. package/dist/location-data-repository-67MMEVZQ.js.map +0 -1
  87. package/dist/server-RSHSZBUZ.js.map +0 -1
  88. package/dist/site-extract-repository-J3RH3MOS.js.map +0 -1
  89. package/dist/worker-YKRIK5LS.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,32 @@ All notable changes to MCP Scraper are documented here. The format is based on [
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.66.1] - 2026-08-24
8
+
9
+ ### Changed
10
+
11
+ - Task-capable MCP clients now run long PAA research as a durable job with live, preserved progress instead of tying the work lifecycle to one request window; legacy synchronous callers retain a bounded compatibility wait.
12
+ - The npm install card and MCPB description now share one manually curated current-release message.
13
+ - MCPB releases are now deterministic, self-contained server bundles with enforced archive-size, file-count, source-map, and `node_modules` gates instead of shipping the repository dependency tree; npm publishing also rejects source maps or unexpected dist size and file growth.
14
+
15
+ ### Fixed
16
+
17
+ - Replaying a still-running durable PAA request now returns its existing job before concurrency enforcement, avoiding a false capacity error and duplicate charge risk.
18
+ - MCP Task polling now reads both structured MCP output and JSON text envelopes, reports question, row, or city progress, and preserves terminal failure and cancellation states.
19
+ - Client-side timeout errors now say that the caller stopped waiting without claiming that active durable server work was cancelled.
20
+
21
+ ## [0.66.0] - 2026-08-24
22
+
23
+ ### Added
24
+
25
+ - `lead_list_enrich` accepts up to three model-authored `peopleQueryTemplates`, interpolated safely across business rows with explicit maximum-search billing.
26
+
27
+ ### Fixed
28
+
29
+ - Owner and leadership enrichment now uses focused role queries, reads AI Overview alongside organic evidence, preserves AI citation provenance, and stops searching once the requested people bound is filled instead of issuing one hard-coded multi-role query.
30
+ - Google harvests now retry closed browser, page, or context sessions with a fresh bounded browser attempt and return the actionable `browser_session_interrupted` code if all attempts fail, instead of a misleading non-retryable generic outage.
31
+ - Disabled internal browser credentials are classified as first-party service failures, while concurrency-limit rejections are recorded with their actual active and entitled slot counts for support diagnosis without retaining the customer's search text.
32
+
7
33
  ## [0.65.1] - 2026-08-24
8
34
 
9
35
  ### Fixed
@@ -1047,7 +1073,11 @@ All notable changes to MCP Scraper are documented here. The format is based on [
1047
1073
  - Write actions remain unavailable until the account owner explicitly enables them.
1048
1074
  - Provider-specific connection data is normalized into one agent-facing contract.
1049
1075
 
1050
- [Unreleased]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.64.0...HEAD
1076
+ [Unreleased]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.66.0...HEAD
1077
+ [0.66.0]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.65.1...v0.66.0
1078
+ [0.65.1]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.65.0...v0.65.1
1079
+ [0.65.0]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.64.1...v0.65.0
1080
+ [0.64.1]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.64.0...v0.64.1
1051
1081
  [0.64.0]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.63.2...v0.64.0
1052
1082
  [0.63.2]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.63.1...v0.63.2
1053
1083
  [0.63.1]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.63.0...v0.63.1
package/README.md CHANGED
@@ -112,6 +112,10 @@ For a few pasted rows, start directly:
112
112
  "defaultEntityType": "business",
113
113
  "resolveMissingUrls": true,
114
114
  "peopleDiscovery": "owners",
115
+ "peopleQueryTemplates": [
116
+ "{business} owner of company {city} {region}",
117
+ "\"{business}\" founder {city} {region}"
118
+ ],
115
119
  "maxPeoplePerLead": 2,
116
120
  "outputFormats": ["csv", "xlsx"],
117
121
  "idempotencyKey": "roofers-fort-collins-001"
@@ -141,10 +145,11 @@ input styles, macros, charts, comments, and formulas are not preserved or execut
141
145
  Every discovered contact includes source provenance. Email scope is explicit (`person`, `team`,
142
146
  `office`, or `unknown`), so a brokerage inbox is not represented as a realtor's direct address. Public
143
147
  occurrence is not deliverability verification, consent, or permission to contact someone. Associated-
144
- people discovery defaults off. When enabled, each business row uses one exact-business role search and
145
- at most one LinkedIn result search per retained person; it does not open LinkedIn profiles. Role evidence
146
- and profile-match evidence remain separate, and indexed public occurrences are not treated as verified
147
- current employment.
148
+ people discovery defaults off. When enabled, the calling model can supply up to three ordered query
149
+ templates with one role intent each; every role query reads AI Overview plus organic evidence, and the
150
+ worker stops once the requested people bound is filled. It performs at most one LinkedIn result search
151
+ per retained person and does not open LinkedIn profiles. Role evidence, AI citations, and profile-match
152
+ evidence remain separate, and indexed public occurrences are not treated as verified current employment.
148
153
 
149
154
  ### Claude Desktop MCPB
150
155
 
@@ -154,7 +159,7 @@ Build the branded one-click bundle:
154
159
  npm run build:mcpb
155
160
  ```
156
161
 
157
- The generated bundle is written to `build/mcpb/mcp-scraper-<version>.mcpb` and copied to `public/downloads/` for the hosted download. The current public bundle is `https://mcpscraper.dev/downloads/mcp-scraper.mcpb` (`0.65.1`, SHA-256 `83bcdadf86cf6a800c37e8497e1fb85c157d620d9ab0920149528fcf67f46728`). Install it by opening or dragging it into Claude Desktop. Claude displays the `MCP Scraper` install card, icon, and API-key configuration field from the bundle manifest.
162
+ The generated bundle is written to `build/mcpb/mcp-scraper-<version>.mcpb` and copied to `public/downloads/` for the hosted download. The current public bundle is `https://mcpscraper.dev/downloads/mcp-scraper.mcpb` (`0.66.1`, SHA-256 `4784c8f97d3e4eebe423f11454760efbfca7d65b5f03bcb27401b15d84d6a4ad`). Install it by opening or dragging it into Claude Desktop. Claude displays the `MCP Scraper` install card, icon, API-key configuration field, and manually curated current-release message from the bundle manifest.
158
163
 
159
164
  The MCPB install exposes every tool — web-intelligence plus all `browser_*` tools — through the one `mcp-scraper` server.
160
165
 
@@ -357,7 +362,7 @@ Users who do not update can keep using the tools their installed package already
357
362
 
358
363
  Raw `npx` MCP server installs are command/config based. `mcp-scraper` is context-aware: terminal TTY prints onboarding text and the ASCII card; MCP-client stdio pipes stay protocol-clean. Do not print marketing text to stdout from an active MCP stdio session; stdout is reserved for JSON-RPC protocol messages.
359
364
 
360
- For a branded Claude Desktop install, package MCP Scraper as an MCPB Desktop Extension. The repository builds one MCPB bundle with a generated icon, `manifest.json`, bundled runtime dependencies, and `user_config` fields for API-key setup, API URL, and output folder.
365
+ For a branded Claude Desktop install, package MCP Scraper as an MCPB Desktop Extension. The repository builds one MCPB bundle with a generated icon, `manifest.json`, one self-contained server file, and `user_config` fields for API-key setup, API URL, and output folder. The build rejects `node_modules`, source maps, oversized archives, and unexpected file growth.
361
366
 
362
367
  ```bash
363
368
  npm run build:mcpb
@@ -60,7 +60,7 @@ import {
60
60
  updateAnalyticsBusinessModel,
61
61
  updateAnalyticsPixel,
62
62
  upsertAnalyticsAdSpend
63
- } from "./chunk-5BEPOFKG.js";
63
+ } from "./chunk-CNLLTD5B.js";
64
64
  export {
65
65
  ANALYTICS_CONTENT_SORTS,
66
66
  AnalyticsRepositoryError,
@@ -124,4 +124,3 @@ export {
124
124
  updateAnalyticsPixel,
125
125
  upsertAnalyticsAdSpend
126
126
  };
127
- //# sourceMappingURL=analytics-repository-IKE53S3E.js.map