mcp-scraper 0.72.6 → 0.73.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/CHANGELOG.md +33 -1
- package/README.md +16 -2
- package/dist/{analytics-repository-6YLRSWYO.js → analytics-repository-MSLJBHLU.js} +15 -1
- package/dist/bin/api-server.js +3 -3
- package/dist/bin/mcp-scraper-cli.js +1 -1
- package/dist/bin/mcp-scraper-install.js +2 -2
- package/dist/bin/mcp-stdio-server.js +4 -4
- package/dist/{chunk-SR7GSLEA.js → chunk-5EWXRBEH.js} +816 -113
- package/dist/{chunk-FVL4GUTP.js → chunk-EQJRPDUS.js} +2 -2
- package/dist/{chunk-D5CX3WHG.js → chunk-JIWGG7Z4.js} +1 -1
- package/dist/{chunk-XRH2DUAQ.js → chunk-KRIIVDV2.js} +188 -14
- package/dist/{chunk-RAFQEPJ4.js → chunk-Q2J23DHY.js} +1 -1
- package/dist/{chunk-I45JV4EU.js → chunk-RV2D27R4.js} +1 -1
- package/dist/{chunk-K2SXQGKM.js → chunk-S45DGELW.js} +1 -1
- package/dist/{extract-bundle-337ZDIIQ.js → extract-bundle-2V22S7EU.js} +2 -2
- package/dist/{gmail-service-QXDGNWUJ.js → gmail-service-JHL4PQFN.js} +2 -2
- package/dist/{server-LQ6TMI5W.js → server-N6MCRSQW.js} +14448 -12853
- package/dist/{site-extract-repository-ACNAVNDN.js → site-extract-repository-DUAEAU6A.js} +2 -2
- package/dist/{worker-JQORPCFQ.js → worker-CBK5DWEE.js} +1 -1
- package/package.json +16 -4
- package/dist/bin/api-server.cjs +0 -108648
- package/dist/bin/api-server.d.cts +0 -1
- package/dist/bin/api-server.d.ts +0 -1
- package/dist/bin/mcp-scraper-cli.cjs +0 -3219
- package/dist/bin/mcp-scraper-cli.d.cts +0 -1
- package/dist/bin/mcp-scraper-cli.d.ts +0 -1
- package/dist/bin/mcp-scraper-install.cjs +0 -134
- package/dist/bin/mcp-scraper-install.d.cts +0 -1
- package/dist/bin/mcp-scraper-install.d.ts +0 -1
- package/dist/bin/mcp-stdio-server.cjs +0 -22333
- package/dist/bin/mcp-stdio-server.d.cts +0 -1
- package/dist/bin/mcp-stdio-server.d.ts +0 -1
- package/dist/bin/paa-harvest.cjs +0 -4745
- package/dist/bin/paa-harvest.d.cts +0 -1
- package/dist/bin/paa-harvest.d.ts +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,36 @@ All notable changes to MCP Scraper are documented here. The format is based on [
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.73.0] - 2026-08-27
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- Added a backend-owned, 142-operation analytics REST contract with generated Web validators and exact MCP/SDK projections for enhanced confirmed journeys.
|
|
12
|
+
- Added consent-governed identity promotion for verified forms and authenticated accounts, including same-Site anonymous-history backfill, encrypted masked identity profiles, audited single-person reads, and deletion tombstones that prevent silent recreation.
|
|
13
|
+
- Added date-bounded Journey reporting for summaries, common pages, events, acquisition and referrers, sessions, and chronology, with confirmed and best-guess totals kept separate.
|
|
14
|
+
- Added first-party MCP Scraper subscription revenue outcomes through the ordinary versioned conversion-rule pipeline without copying billing contact data into analytics.
|
|
15
|
+
- Added real PostgreSQL integration coverage for tenant isolation, consent withdrawal, deletion, no-resurrection, migration replay, and provider activation eligibility.
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- Consolidated Scheduler, Web, and Memory source ownership into this product repository under isolated `apps/` project roots while retaining the public SDK as the only separate client repository.
|
|
20
|
+
- Aligned the main server with `mcpscraper-memory-tools` 1.16.0 so nested Mastra builds cannot inherit the server's former package versions from the shared repository root.
|
|
21
|
+
- Expanded the public MCP catalog to 331 tools, including distinct confirmed/best-guess Journey listing and complete enhanced Journey reads with bounded `from` and `to` windows.
|
|
22
|
+
- Browser and embedded-form conversions now preserve the conversion record while allowing provider activation only for a confirmed person with current advertising-measurement consent.
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
- Kept nested `apps/` source available to Vercel so each consolidated project can build from its configured monorepo root.
|
|
27
|
+
- Prevented cross-Site identity, privacy, and Journey references; removed subject-specific export/provider payload remnants on withdrawal or deletion; and normalized unknown/deleted references to zero-discovery responses.
|
|
28
|
+
- Normalized PostgreSQL timestamp projections and reconciled consent-withdrawal responses with the strict public REST contract.
|
|
29
|
+
- Made consented login and first-party form resolution self-initialize an approved Site-scoped primary identity graph, so older Sites persist stable person references and masked profiles without manual namespace setup.
|
|
30
|
+
|
|
31
|
+
## [0.72.7] - 2026-08-27
|
|
32
|
+
|
|
33
|
+
### Fixed
|
|
34
|
+
|
|
35
|
+
- Completed Gmail Memory imports now report recovered historical errors as resolved and derive attachment indexing from the verified nested file-asset receipts, keeping counts and sample states consistent with durable Memory state.
|
|
36
|
+
|
|
7
37
|
## [0.72.6] - 2026-08-27
|
|
8
38
|
|
|
9
39
|
### Fixed
|
|
@@ -1278,7 +1308,9 @@ All notable changes to MCP Scraper are documented here. The format is based on [
|
|
|
1278
1308
|
- Write actions remain unavailable until the account owner explicitly enables them.
|
|
1279
1309
|
- Provider-specific connection data is normalized into one agent-facing contract.
|
|
1280
1310
|
|
|
1281
|
-
[Unreleased]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.
|
|
1311
|
+
[Unreleased]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.73.0...HEAD
|
|
1312
|
+
[0.73.0]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.72.7...v0.73.0
|
|
1313
|
+
[0.72.7]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.72.6...v0.72.7
|
|
1282
1314
|
[0.72.6]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.72.5...v0.72.6
|
|
1283
1315
|
[0.72.5]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.72.4...v0.72.5
|
|
1284
1316
|
[0.72.4]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.72.3...v0.72.4
|
package/README.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
MCP Scraper is an MCP server for live web intelligence tools backed by `https://mcpscraper.dev`.
|
|
4
4
|
|
|
5
|
+
## Product repository
|
|
6
|
+
|
|
7
|
+
This repository owns the complete private product runtime while preserving independent service and
|
|
8
|
+
deployment boundaries:
|
|
9
|
+
|
|
10
|
+
- `/` — primary MCP/API server and public `mcp-scraper` package;
|
|
11
|
+
- `apps/scheduler` — private scheduled execution and orchestration service;
|
|
12
|
+
- `apps/web` — private Next.js product and marketing application;
|
|
13
|
+
- `apps/memory` — hosted Memory service plus its independently publishable DB, Tools, and stdio packages.
|
|
14
|
+
|
|
15
|
+
`mcpscraper-sdk` remains the only separate public-client repository. See [`apps/README.md`](apps/README.md)
|
|
16
|
+
and [`product-topology.json`](product-topology.json) for exact ownership, source receipts, release units,
|
|
17
|
+
deployment roots, and verification commands.
|
|
18
|
+
|
|
5
19
|
## Install
|
|
6
20
|
|
|
7
21
|
Use the MCPB Desktop Extension for the branded Claude Desktop install, or use the npm package from any MCP client that can run stdio commands.
|
|
@@ -159,7 +173,7 @@ Build the branded one-click bundle:
|
|
|
159
173
|
npm run build:mcpb
|
|
160
174
|
```
|
|
161
175
|
|
|
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.
|
|
176
|
+
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.73.0`, SHA-256 `570d31a9b16833b89de8ea5296e5d97b3d4696336c94651739b716a0bda81ce6`). 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
177
|
|
|
164
178
|
The MCPB install exposes every tool — web-intelligence plus all `browser_*` tools — through the one `mcp-scraper` server.
|
|
165
179
|
|
|
@@ -321,7 +335,7 @@ The `mcp-scraper` server (and the MCPB bundle, which runs it) exposes both secti
|
|
|
321
335
|
|
|
322
336
|
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.
|
|
323
337
|
|
|
324
|
-
The canonical tool inventory is generated at `docs/mcp-tool-manifest.generated.json`. The unified server exposes
|
|
338
|
+
The canonical tool inventory is generated at `docs/mcp-tool-manifest.generated.json`. The unified server exposes 331 tools: 230 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.
|
|
325
339
|
|
|
326
340
|
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.
|
|
327
341
|
|
|
@@ -12,11 +12,14 @@ import {
|
|
|
12
12
|
analyticsEventCounts,
|
|
13
13
|
analyticsForecast,
|
|
14
14
|
analyticsHealth,
|
|
15
|
+
analyticsIdentityPromotionAllowed,
|
|
16
|
+
analyticsIdentityResolutionAllowed,
|
|
15
17
|
analyticsOverview,
|
|
16
18
|
analyticsPaths,
|
|
17
19
|
analyticsTimeseries,
|
|
18
20
|
archiveAnalyticsActivationDestination,
|
|
19
21
|
archiveAnalyticsCampaignLink,
|
|
22
|
+
backfillAnalyticsConfirmedHistory,
|
|
20
23
|
claimAnalyticsCrmImportRows,
|
|
21
24
|
claimAnalyticsFormDeliveryJobs,
|
|
22
25
|
closeAnalyticsPool,
|
|
@@ -33,6 +36,7 @@ import {
|
|
|
33
36
|
deferAnalyticsCrmImportRow,
|
|
34
37
|
deferAnalyticsFormDelivery,
|
|
35
38
|
deleteAnalyticsSite,
|
|
39
|
+
enrichAnalyticsExistingCrmIdentity,
|
|
36
40
|
getAnalyticsActivationDestinationConnectionRef,
|
|
37
41
|
getAnalyticsPersonJourney,
|
|
38
42
|
getAnalyticsPool,
|
|
@@ -41,6 +45,7 @@ import {
|
|
|
41
45
|
ingestAnalyticsEvents,
|
|
42
46
|
isAnalyticsFormPlacementApproved,
|
|
43
47
|
linkAnalyticsFormIdentity,
|
|
48
|
+
linkAnalyticsIdentityInTransaction,
|
|
44
49
|
listAnalyticsActivationDestinations,
|
|
45
50
|
listAnalyticsActivationReceipts,
|
|
46
51
|
listAnalyticsCampaignLinks,
|
|
@@ -57,6 +62,7 @@ import {
|
|
|
57
62
|
normalizeObservedHostname,
|
|
58
63
|
pollAnalyticsActivationDiagnostics,
|
|
59
64
|
prepareAnalyticsLinkerIssue,
|
|
65
|
+
projectAnalyticsPixelEventConsent,
|
|
60
66
|
queueAnalyticsActivation,
|
|
61
67
|
queueAnalyticsFormDelivery,
|
|
62
68
|
recordAnalyticsFormSubmission,
|
|
@@ -66,6 +72,7 @@ import {
|
|
|
66
72
|
requireAnalyticsAccess,
|
|
67
73
|
requireAnalyticsEditor,
|
|
68
74
|
resolveAnalyticsCampaignLink,
|
|
75
|
+
resolveAnalyticsConfirmedActivationIdentity,
|
|
69
76
|
retryAnalyticsActivationJob,
|
|
70
77
|
sanitizeAnalyticsProperties,
|
|
71
78
|
sanitizeClickIds,
|
|
@@ -77,7 +84,7 @@ import {
|
|
|
77
84
|
updateAnalyticsPixel,
|
|
78
85
|
upsertAnalyticsAdSpend,
|
|
79
86
|
upsertAnalyticsHostGroup
|
|
80
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-5EWXRBEH.js";
|
|
81
88
|
import "./chunk-PJEEKOUM.js";
|
|
82
89
|
import "./chunk-WEFPBAAG.js";
|
|
83
90
|
export {
|
|
@@ -94,11 +101,14 @@ export {
|
|
|
94
101
|
analyticsEventCounts,
|
|
95
102
|
analyticsForecast,
|
|
96
103
|
analyticsHealth,
|
|
104
|
+
analyticsIdentityPromotionAllowed,
|
|
105
|
+
analyticsIdentityResolutionAllowed,
|
|
97
106
|
analyticsOverview,
|
|
98
107
|
analyticsPaths,
|
|
99
108
|
analyticsTimeseries,
|
|
100
109
|
archiveAnalyticsActivationDestination,
|
|
101
110
|
archiveAnalyticsCampaignLink,
|
|
111
|
+
backfillAnalyticsConfirmedHistory,
|
|
102
112
|
claimAnalyticsCrmImportRows,
|
|
103
113
|
claimAnalyticsFormDeliveryJobs,
|
|
104
114
|
closeAnalyticsPool,
|
|
@@ -115,6 +125,7 @@ export {
|
|
|
115
125
|
deferAnalyticsCrmImportRow,
|
|
116
126
|
deferAnalyticsFormDelivery,
|
|
117
127
|
deleteAnalyticsSite,
|
|
128
|
+
enrichAnalyticsExistingCrmIdentity,
|
|
118
129
|
getAnalyticsActivationDestinationConnectionRef,
|
|
119
130
|
getAnalyticsPersonJourney,
|
|
120
131
|
getAnalyticsPool,
|
|
@@ -123,6 +134,7 @@ export {
|
|
|
123
134
|
ingestAnalyticsEvents,
|
|
124
135
|
isAnalyticsFormPlacementApproved,
|
|
125
136
|
linkAnalyticsFormIdentity,
|
|
137
|
+
linkAnalyticsIdentityInTransaction,
|
|
126
138
|
listAnalyticsActivationDestinations,
|
|
127
139
|
listAnalyticsActivationReceipts,
|
|
128
140
|
listAnalyticsCampaignLinks,
|
|
@@ -139,6 +151,7 @@ export {
|
|
|
139
151
|
normalizeObservedHostname,
|
|
140
152
|
pollAnalyticsActivationDiagnostics,
|
|
141
153
|
prepareAnalyticsLinkerIssue,
|
|
154
|
+
projectAnalyticsPixelEventConsent,
|
|
142
155
|
queueAnalyticsActivation,
|
|
143
156
|
queueAnalyticsFormDelivery,
|
|
144
157
|
recordAnalyticsFormSubmission,
|
|
@@ -148,6 +161,7 @@ export {
|
|
|
148
161
|
requireAnalyticsAccess,
|
|
149
162
|
requireAnalyticsEditor,
|
|
150
163
|
resolveAnalyticsCampaignLink,
|
|
164
|
+
resolveAnalyticsConfirmedActivationIdentity,
|
|
151
165
|
retryAnalyticsActivationJob,
|
|
152
166
|
sanitizeAnalyticsProperties,
|
|
153
167
|
sanitizeClickIds,
|
package/dist/bin/api-server.js
CHANGED
|
@@ -17,15 +17,15 @@ loadDotEnv();
|
|
|
17
17
|
async function main() {
|
|
18
18
|
const [{ serve }, { app }, { startWorker }, { migrate }] = await Promise.all([
|
|
19
19
|
import("@hono/node-server"),
|
|
20
|
-
import("../server-
|
|
21
|
-
import("../worker-
|
|
20
|
+
import("../server-N6MCRSQW.js"),
|
|
21
|
+
import("../worker-CBK5DWEE.js"),
|
|
22
22
|
import("../db-566MOHHD.js")
|
|
23
23
|
]);
|
|
24
24
|
const PORT = parseInt(process.env.PORT ?? "3001");
|
|
25
25
|
try {
|
|
26
26
|
await migrate();
|
|
27
27
|
if (process.env.ANALYTICS_DATABASE_URL) {
|
|
28
|
-
const { migrateAnalytics } = await import("../analytics-repository-
|
|
28
|
+
const { migrateAnalytics } = await import("../analytics-repository-MSLJBHLU.js");
|
|
29
29
|
await migrateAnalytics();
|
|
30
30
|
}
|
|
31
31
|
startWorker();
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
renderInstallTerminal
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-Q2J23DHY.js";
|
|
5
5
|
import {
|
|
6
6
|
PACKAGE_VERSION
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-JIWGG7Z4.js";
|
|
8
8
|
|
|
9
9
|
// bin/mcp-scraper-install.ts
|
|
10
10
|
var noColor = process.argv.includes("--no-color") || process.env.NO_COLOR !== void 0 || process.env.FORCE_COLOR === "0" || !process.stdout.isTTY;
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
registerScheduledResultsMcpTools,
|
|
14
14
|
registerSerpIntelligenceCaptureTools,
|
|
15
15
|
resolveDeploymentProfile
|
|
16
|
-
} from "../chunk-
|
|
16
|
+
} from "../chunk-KRIIVDV2.js";
|
|
17
17
|
import "../chunk-PGJQDMC2.js";
|
|
18
18
|
import "../chunk-T3MZISOF.js";
|
|
19
19
|
import "../chunk-7RQULQF3.js";
|
|
@@ -21,14 +21,14 @@ import "../chunk-OM7HVEJ3.js";
|
|
|
21
21
|
import "../chunk-CXY5WV45.js";
|
|
22
22
|
import {
|
|
23
23
|
renderInstallTerminal
|
|
24
|
-
} from "../chunk-
|
|
24
|
+
} from "../chunk-Q2J23DHY.js";
|
|
25
25
|
import "../chunk-VXLU74YZ.js";
|
|
26
26
|
import "../chunk-GGZEC22A.js";
|
|
27
27
|
import {
|
|
28
28
|
PACKAGE_VERSION
|
|
29
|
-
} from "../chunk-
|
|
29
|
+
} from "../chunk-JIWGG7Z4.js";
|
|
30
30
|
import "../chunk-DNM65UCK.js";
|
|
31
|
-
import "../chunk-
|
|
31
|
+
import "../chunk-EQJRPDUS.js";
|
|
32
32
|
import "../chunk-WEFPBAAG.js";
|
|
33
33
|
|
|
34
34
|
// bin/mcp-stdio-server.ts
|