mcp-scraper 0.69.1 → 0.72.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.
- package/CHANGELOG.md +63 -2
- package/README.md +6 -2
- package/dist/{analytics-repository-62CAZAIP.js → analytics-repository-6YLRSWYO.js} +3 -2
- package/dist/bin/api-server.cjs +18989 -13102
- package/dist/bin/api-server.js +4 -4
- package/dist/bin/mcp-scraper-cli.cjs +1 -1
- package/dist/bin/mcp-scraper-cli.js +1 -1
- package/dist/bin/mcp-scraper-install.cjs +3 -3
- package/dist/bin/mcp-scraper-install.js +2 -2
- package/dist/bin/mcp-stdio-server.cjs +10493 -9135
- package/dist/bin/mcp-stdio-server.js +9 -7
- package/dist/bin/paa-harvest.cjs +308 -41
- package/dist/bin/paa-harvest.js +4 -3
- package/dist/{chunk-RODSHBN7.js → chunk-57F5PKS5.js} +1 -1
- package/dist/chunk-7RQULQF3.js +263 -0
- package/dist/{chunk-UL4ZKAWZ.js → chunk-A66DGFOU.js} +1 -1
- package/dist/{chunk-ES25GP6C.js → chunk-CXY5WV45.js} +24 -34
- package/dist/{chunk-Y46YNQMM.js → chunk-F5TK4KMT.js} +1 -1
- package/dist/{chunk-62LEXS5O.js → chunk-F6MUGMRN.js} +306 -44
- package/dist/{chunk-5RFQGIYC.js → chunk-FVL4GUTP.js} +2 -2
- package/dist/{chunk-OZIUFN6B.js → chunk-I45JV4EU.js} +2 -2
- package/dist/{chunk-2LXTOAKS.js → chunk-KIPIBPUB.js} +9 -1
- package/dist/chunk-MB72PA6S.js +2003 -0
- package/dist/chunk-OM7HVEJ3.js +26 -0
- package/dist/chunk-PJEEKOUM.js +404 -0
- package/dist/{chunk-RX2QAHML.js → chunk-RAFQEPJ4.js} +2 -2
- package/dist/{chunk-KO5CK5ZT.js → chunk-SR7GSLEA.js} +202 -441
- package/dist/chunk-T3MZISOF.js +240 -0
- package/dist/{chunk-65FTMB7G.js → chunk-WEFPBAAG.js} +180 -9
- package/dist/{chunk-LN6N3YLK.js → chunk-WFQ2E4WE.js} +1 -1
- package/dist/{chunk-2LMMZUU5.js → chunk-XYRD4KLT.js} +3173 -2019
- package/dist/{db-ZGZAKYBW.js → db-566MOHHD.js} +7 -1
- package/dist/{extract-bundle-SXSJCPQI.js → extract-bundle-337ZDIIQ.js} +4 -4
- package/dist/gmail-service-E276SBJU.js +25 -0
- package/dist/index.cjs +322 -49
- package/dist/index.d.cts +15 -2
- package/dist/index.d.ts +15 -2
- package/dist/index.js +4 -3
- package/dist/{lead-list-enrichment-repository-CXLVIV3R.js → lead-list-enrichment-repository-WWEMJ7EN.js} +2 -2
- package/dist/{location-data-repository-G72M7DTN.js → location-data-repository-H4B2BWGY.js} +2 -2
- package/dist/{server-VDJBV4V4.js → server-QY2AZ2OW.js} +8377 -6637
- package/dist/{site-extract-repository-RLB3TFJ3.js → site-extract-repository-ACNAVNDN.js} +3 -3
- package/dist/{worker-KHSJG365.js → worker-JQORPCFQ.js} +9 -7
- package/package.json +1 -1
- package/dist/chunk-2L4C4DAZ.js +0 -103
package/CHANGELOG.md
CHANGED
|
@@ -4,10 +4,66 @@ All notable changes to MCP Scraper are documented here. The format is based on [
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.72.1] - 2026-08-27
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- The Vercel API migration gate now keeps a cold-start invocation open long enough for additive remote database migrations to finish, preventing the five-second gate from repeatedly freezing a still-pending migration and returning `503` after deployment.
|
|
12
|
+
|
|
13
|
+
## [0.72.0] - 2026-08-27
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- Added ten Gmail workflow tools for complete message and attachment reads, immutable reviewed selections, full-fidelity exports, replay-safe bulk management and deletion, and resumable Memory imports with durable status receipts.
|
|
18
|
+
- Added owner-bound internal artifact resolution so Memory can retain Gmail attachments without exposing provider credentials, storage keys, or attachment bytes to model context.
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- Gmail bulk work now freezes an explicit selection before export, mutation, or Memory import, and Scheduler consumes the same signed main-owned canonical export contract.
|
|
23
|
+
- Complete Gmail reads preserve normalized headers, full MIME structure, raw EML artifacts, inline and ordinary attachment provenance, and visibly untrusted provider content.
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- Gmail retries and concurrent resumes now reuse durable selection, action-chunk, export, and import receipts instead of duplicating labels, notes, files, checkpoints, or manifests.
|
|
28
|
+
|
|
29
|
+
## [0.71.0] - 2026-08-27
|
|
30
|
+
|
|
31
|
+
### Added
|
|
32
|
+
|
|
33
|
+
- Added portable `harvest_paa_start` and `harvest_paa_status` tools for durable long-running PAA research, with stable idempotency recovery, progress, attempt provenance, completeness, billing state, and bounded provider telemetry.
|
|
34
|
+
- Added progressive PAA checkpoints that preserve and merge the best unique rows across browser retries and stale-job recovery instead of losing already captured questions when a provider session or caller is interrupted.
|
|
35
|
+
- Added exact Bright Data browser-session identity, sanitized Session Logs enrichment, disconnect attribution, bandwidth usage telemetry, and retryable reconciliation without making provider telemetry a prerequisite for result delivery.
|
|
36
|
+
|
|
37
|
+
### Changed
|
|
38
|
+
|
|
39
|
+
- PAA settlement now charges once from the final deduplicated retained rows, including recoverable partial results, while empty interrupted jobs continue to fail and refund.
|
|
40
|
+
- The generated public MCP inventory now reports 320 tools: 219 scraper, browser, workflow, billing, and connected-service tools plus 101 durable-memory tools.
|
|
41
|
+
|
|
42
|
+
### Fixed
|
|
43
|
+
|
|
44
|
+
- PAA quality now marks missing answers or source URLs as partial, preserves safe outbound Google citation targets, and keeps genuine no-PAA SERPs distinct from interrupted empty captures.
|
|
45
|
+
- Runtime-injected Nango action definitions now have a portable unit-test shim, allowing clean npm checkouts to execute the existing CRM integration suites without shipping the Nango CLI as a product dependency.
|
|
46
|
+
|
|
47
|
+
## [0.70.0] - 2026-08-27
|
|
48
|
+
|
|
49
|
+
### Added
|
|
50
|
+
|
|
51
|
+
- Added durable scheduled CRM outcome reconciliation and separately controlled outbound Person Summary and Pipeline Event policies, with provisioning, mapping, test, receipt, retry, dead-letter, cancellation, and worker-health evidence.
|
|
52
|
+
- Added MCP operations for CRM outbound policies and receipts, bringing the unified runtime and developer contract to 318 tools with operation-specific schemas.
|
|
53
|
+
|
|
54
|
+
### Changed
|
|
55
|
+
|
|
56
|
+
- Confirmed CRM outcomes now resolve through the exact site, provider, connection, and contact mapping; current consent, GPC, withdrawal, deletion, namespace, and candidate-ineligibility boundaries are revalidated before conversion or activation.
|
|
57
|
+
- Eligible confirmed people retain consented advertising click identifiers from their linked first-party sessions and touches for later CRM-stage conversion activation.
|
|
58
|
+
|
|
7
59
|
### Fixed
|
|
8
60
|
|
|
61
|
+
- The production server now owns its strict normalized CRM outcome projection instead of importing from the independently deployed Nango project, so Vercel can build from its intentionally restricted source context.
|
|
9
62
|
- Meta activation asset discovery now resolves the authorized ad account before listing its datasets, so the dashboard can select an actual connected dataset instead of requiring a copied ID.
|
|
10
63
|
- `analytics_test_activation_destination` now accepts and forwards the provider test code required by Meta/TikTok or the test ID required by Reddit, matching the REST and dashboard contracts.
|
|
64
|
+
- Activation delivery now carries only validated provider-specific destination configuration into each claimed job, including the required Google operating account, while malformed or unapproved fields fail closed.
|
|
65
|
+
- Privacy withdrawal and deletion now use statement-specific PostgreSQL parameters, preventing cleanup from failing on sparse placeholder numbering.
|
|
66
|
+
- Confirmed form identity now links prior same-site anonymous sessions and attribution touches without overwriting an existing person, preserving later CRM attribution and activation eligibility.
|
|
11
67
|
|
|
12
68
|
## [0.69.0] - 2026-08-27
|
|
13
69
|
|
|
@@ -28,7 +84,8 @@ All notable changes to MCP Scraper are documented here. The format is based on [
|
|
|
28
84
|
|
|
29
85
|
### Fixed
|
|
30
86
|
|
|
31
|
-
- Activation readiness now
|
|
87
|
+
- Activation readiness transitions now cast evidence IDs separately for UUID comparisons and text receipt storage, preventing PostgreSQL from rejecting accepted test and delivery receipts during verification.
|
|
88
|
+
- X-Ray now unwraps typed provider receipts returned through the connected-service MCP envelope, so one accepted Meta test event persists its evidence and verifies the destination instead of remaining configured and unverified.
|
|
32
89
|
- Public catalog mirrors, provider inventories, readiness guards, and release contracts now agree on the 315-tool and 329-action production surfaces.
|
|
33
90
|
|
|
34
91
|
## [0.68.0] - 2026-08-26
|
|
@@ -1191,7 +1248,11 @@ All notable changes to MCP Scraper are documented here. The format is based on [
|
|
|
1191
1248
|
- Write actions remain unavailable until the account owner explicitly enables them.
|
|
1192
1249
|
- Provider-specific connection data is normalized into one agent-facing contract.
|
|
1193
1250
|
|
|
1194
|
-
[Unreleased]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.
|
|
1251
|
+
[Unreleased]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.72.1...HEAD
|
|
1252
|
+
[0.72.1]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.72.0...v0.72.1
|
|
1253
|
+
[0.72.0]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.71.0...v0.72.0
|
|
1254
|
+
[0.71.0]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.70.0...v0.71.0
|
|
1255
|
+
[0.70.0]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.69.0...v0.70.0
|
|
1195
1256
|
[0.69.0]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.68.0...v0.69.0
|
|
1196
1257
|
[0.68.0]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.67.1...v0.68.0
|
|
1197
1258
|
[0.67.1]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.67.0...v0.67.1
|
package/README.md
CHANGED
|
@@ -159,7 +159,7 @@ Build the branded one-click bundle:
|
|
|
159
159
|
npm run build:mcpb
|
|
160
160
|
```
|
|
161
161
|
|
|
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.
|
|
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.72.1`, SHA-256 `3f74c6b05ba0828f35525832d7e71d2b928839db0f7cfa3a02106da219930d6d`). 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.
|
|
163
163
|
|
|
164
164
|
The MCPB install exposes every tool — web-intelligence plus all `browser_*` tools — through the one `mcp-scraper` server.
|
|
165
165
|
|
|
@@ -257,6 +257,10 @@ env = { MCP_SCRAPER_API_KEY = "sk_live_your_key" }
|
|
|
257
257
|
|
|
258
258
|
### Connected-account tools
|
|
259
259
|
|
|
260
|
+
- `gmail_search_messages`, `gmail_get_message`, and `gmail_get_attachment` — search Gmail, read one complete normalized message (including full MIME and raw EML artifacts), and retrieve external or inline attachment bytes through owner-scoped artifact pointers. Gmail content is always treated as untrusted data.
|
|
261
|
+
- `gmail_prepare_selection` and `gmail_export_selection` — freeze an exact reviewed set of up to 5,000 messages for 24 hours, then export full-fidelity JSONL/EML without silently substituting the first provider page.
|
|
262
|
+
- `gmail_bulk_manage_messages` and `gmail_bulk_delete_messages` — apply replay-safe label, read-state, archive, Inbox, Trash, or restore changes to one unchanged selection. Permanent delete is a separate destructive tool, requires literal confirmation plus the broader Gmail scope, and should be tested only with a purpose-created disposable message.
|
|
263
|
+
- `gmail_prepare_memory_import`, `gmail_import_to_memory`, and `gmail_import_status` — preview vault and attachment routing, start or resume a checkpointed import, and inspect progress without advancing it. Source archives default to Library; relationship Communications are opt-in and require one exact existing identity. Safe attachments are retained as private files with truthful `search_ready`, `stored_not_indexed`, `skipped`, `refused`, or `failed` status.
|
|
260
264
|
- `list_service_connections` — list this caller's tenant-owned Nango OAuth and official remote MCP connections, including verified provider-side account email/name when exposed, exact live reads, gated actions, permanently blocked administrative tools, credential transport, and schema-discovery metadata. Provider identity is distinct from the MCP Scraper login, and connections are never shared between customers.
|
|
261
265
|
- `describe_service_connection_tool` — fetch the sanitized live MCP Tool definition for one tool listed on one tenant-owned connection, including its current callability, input schema, optional output schema, safe annotations, and schema hash. Use this before constructing provider-native arguments; provider functions stay behind the generic bridges instead of becoming dozens of permanent top-level tools.
|
|
262
266
|
- `export_connected_service_data` — fetch a fresh Gmail, Google Calendar, Google Search Console, Zoom, Slack, Resend, or Meta dataset in one MCP call. Slack's `slack_channel_messages` dataset accepts a `channelId`, paginates top-level history, fetches threaded replies in bounded parallel batches, preserves file metadata, honors retry delays, and supports `allTime:true`; it never joins or changes the channel. Zoom's `zoom_transcripts` dataset resolves VTT files from recording metadata and downloads them through the authenticated connection without looping the separately rate-limited `get-meeting-transcript` function. Search Console's `search_console_performance` dataset walks accessible properties and bounded live Search Analytics pages with continuation. Small exports return inline; larger exports become private JSONL retained for seven days with exact `report_artifact_read` arguments plus an optional 15-minute human download URL. For relationship work, gather source evidence first: inspect existing People records, resolve the exact provider account, preserve provider provenance when writing a linked Communication, and never treat an export as permission to mutate the source account.
|
|
@@ -317,7 +321,7 @@ The `mcp-scraper` server (and the MCPB bundle, which runs it) exposes both secti
|
|
|
317
321
|
|
|
318
322
|
All MCP tools return `structuredContent` with the IDs, URLs, CSV paths, transcripts, browser session handles, replay paths, artifacts, recipe fields, or blueprint fields needed by the next step, plus readable text content for compatibility. Runtime `tools/list` omits output schemas so strict clients can register the complete catalog; the generated developer manifest retains every canonical output schema for validation and typed SDK generation. All tools carry MCP annotations; file-writing tools such as replay downloads and annotations state their filesystem side effects.
|
|
319
323
|
|
|
320
|
-
The canonical tool inventory is generated at `docs/mcp-tool-manifest.generated.json`. The unified server exposes
|
|
324
|
+
The canonical tool inventory is generated at `docs/mcp-tool-manifest.generated.json`. The unified server exposes 330 tools: 229 scraper, browser, workflow, billing, and connected-service tools plus 101 durable-memory tools. The scraper-side inventory includes complete Gmail selection, message, attachment, export, bulk-action, and Memory-import workflows; durable PAA starts and status; rendered site-content similarity; governed Local Sourcebook and Transparent Commons workflows; direct site-export reads; Editorial Reading Room and News Publisher templates; and production X-Ray analytics, attribution, CRM policy and receipt, campaign, export, and scheduled-report tools. Successful evidence-compiled Local Sourcebook revisions publish automatically to their canonical `localsourcebook.com` category profile and review URLs; administrator controls handle exceptional rejection or unpublishing. Release verification compares the exact local and hosted tool-name sets, not only the count.
|
|
321
325
|
|
|
322
326
|
For contract parity, stdio and MCPB memory calls invoke the matching public tool on the hosted MCP Scraper `/mcp` endpoint. The hosted aggregate runtime owns MCP Scraper-specific billing, scheduling, credential, and in-process cutover policy; its internal `/memory/mcp-call` bridge is a fallback to the standalone memory service, not the public stdio execution path. Direct `mcp-memory` OAuth and stdio clients continue to use `memory.mcpscraper.dev` and must be verified as a separate dependent release surface.
|
|
323
327
|
|
|
@@ -77,8 +77,9 @@ import {
|
|
|
77
77
|
updateAnalyticsPixel,
|
|
78
78
|
upsertAnalyticsAdSpend,
|
|
79
79
|
upsertAnalyticsHostGroup
|
|
80
|
-
} from "./chunk-
|
|
81
|
-
import "./chunk-
|
|
80
|
+
} from "./chunk-SR7GSLEA.js";
|
|
81
|
+
import "./chunk-PJEEKOUM.js";
|
|
82
|
+
import "./chunk-WEFPBAAG.js";
|
|
82
83
|
export {
|
|
83
84
|
ANALYTICS_CONTENT_SORTS,
|
|
84
85
|
AnalyticsRepositoryError,
|