mcp-scraper 0.67.1 → 0.68.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 +25 -1
- package/README.md +2 -2
- package/dist/{analytics-repository-RUXBFSFX.js → analytics-repository-DJCV6HCX.js} +38 -3
- package/dist/bin/api-server.cjs +12027 -7007
- package/dist/bin/api-server.js +3 -3
- 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 +285 -13
- package/dist/bin/mcp-stdio-server.js +4 -4
- package/dist/{chunk-CNLLTD5B.js → chunk-SZEDXVJH.js} +2169 -83
- package/dist/{chunk-VES63X4Q.js → chunk-TV76V5OO.js} +1 -1
- package/dist/{chunk-STQQOEHC.js → chunk-V6H7NGSV.js} +284 -12
- package/dist/{chunk-AYJHI2FK.js → chunk-WNL42AMC.js} +2 -2
- package/dist/{chunk-HUNXSVKU.js → chunk-XKWTKQ7Y.js} +2 -2
- package/dist/{chunk-LCGTNWOT.js → chunk-YUGC5K35.js} +1 -1
- package/dist/{extract-bundle-QQIYJSBW.js → extract-bundle-TBETDXWP.js} +2 -2
- package/dist/{server-ROIJWWJG.js → server-PWHUIHZO.js} +9617 -7001
- package/dist/{site-extract-repository-7EP6UX6I.js → site-extract-repository-I5PHDLPQ.js} +2 -2
- package/dist/{worker-JGWV2LID.js → worker-HUEIDH6F.js} +1 -1
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,29 @@ All notable changes to MCP Scraper are documented here. The format is based on [
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.68.0] - 2026-08-26
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- X-Ray now models explicit sessions, immutable attribution touches, deterministic people, canonical phone and CRM events, versioned conversion rules, signed webhook receipts, and full cross-system customer journeys.
|
|
12
|
+
- Added signed webhook ingestion for CallRail, CallTrackingMetrics, Twilio, HubSpot, and HighLevel, plus durable encrypted CRM import and ad-activation delivery workers with bounded retries and dead-letter evidence.
|
|
13
|
+
- Added X-Ray MCP tools for connection readiness, conversion rules, canonical server events, attribution coverage, and person journeys.
|
|
14
|
+
- Added declarative page, click, phone-link, and same-origin form event definitions that existing Pixel installs load automatically, with matching REST and MCP controls.
|
|
15
|
+
- Added direct activation mapping for Google, Meta, TikTok, and Reddit through verified connected-action tools, with per-conversion idempotency and provider receipt state.
|
|
16
|
+
- Added an end-to-end X-Ray proof harness covering consented Google click attribution, phone and CRM stage events, conversion deduplication, verified activation, scheduled delivery, safe receipts, and journey readback.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- Browser collection now retains consented first-party visitor continuity, explicit 30-minute sessions, first/last/ordered attribution touches, dwell time, scroll depth, expanded native click identifiers, and an explicit identify API without probabilistic fingerprinting.
|
|
21
|
+
- Conversion persistence and eligible activation-job creation now commit atomically; configured-but-unverified destinations cannot receive conversion jobs.
|
|
22
|
+
- Restricted contact and webhook payloads use purpose-bound encryption with scheduled expiry, while deterministic identity joins use keyed HMACs and provider match payloads use normalized hashes.
|
|
23
|
+
- Public MCP catalog mirrors now report the canonical 275-tool inventory generated from the runtime contract.
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- X-Ray Pixel now initializes when frameworks insert its script after hydration and sends credential-free beacons without a browser preflight, restoring collection for Next.js and other dynamically rendered sites.
|
|
28
|
+
- Duplicate conversion submissions now return the persisted conversion ID instead of a newly generated non-existent ID.
|
|
29
|
+
|
|
7
30
|
## [0.67.1] - 2026-08-26
|
|
8
31
|
|
|
9
32
|
### Fixed
|
|
@@ -1141,7 +1164,8 @@ All notable changes to MCP Scraper are documented here. The format is based on [
|
|
|
1141
1164
|
- Write actions remain unavailable until the account owner explicitly enables them.
|
|
1142
1165
|
- Provider-specific connection data is normalized into one agent-facing contract.
|
|
1143
1166
|
|
|
1144
|
-
[Unreleased]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.
|
|
1167
|
+
[Unreleased]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.68.0...HEAD
|
|
1168
|
+
[0.68.0]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.67.1...v0.68.0
|
|
1145
1169
|
[0.67.1]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.67.0...v0.67.1
|
|
1146
1170
|
[0.67.0]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.66.7...v0.67.0
|
|
1147
1171
|
[0.66.7]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.66.6...v0.66.7
|
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.68.0`, SHA-256 `bbf4525ff5bb482f889f5b1883e078186e92c1737f3aaf1936e7dae7d4c7a74b`). 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
|
|
|
@@ -317,7 +317,7 @@ The `mcp-scraper` server (and the MCPB bundle, which runs it) exposes both secti
|
|
|
317
317
|
|
|
318
318
|
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
319
|
|
|
320
|
-
The canonical tool inventory is generated at `docs/mcp-tool-manifest.generated.json`. The unified server exposes
|
|
320
|
+
The canonical tool inventory is generated at `docs/mcp-tool-manifest.generated.json`. The unified server exposes 275 tools: 174 scraper, browser, workflow, billing, and connected-service tools plus 101 durable-memory tools. The scraper-side inventory includes rendered site-content similarity, governed Local Sourcebook tools, Transparent Commons entity, linkset, and publication tools, direct site-export text and image readers, the searchable News Publisher and Editorial Reading Room template workflow, and 33 X-Ray tools for pixel administration, reporting, attribution journeys, campaign links, exports, and scheduled reports. 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
321
|
|
|
322
322
|
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
323
|
|
|
@@ -17,8 +17,10 @@ import {
|
|
|
17
17
|
analyticsTimeseries,
|
|
18
18
|
archiveAnalyticsActivationDestination,
|
|
19
19
|
archiveAnalyticsCampaignLink,
|
|
20
|
+
claimAnalyticsCrmImportRows,
|
|
20
21
|
claimAnalyticsFormDeliveryJobs,
|
|
21
22
|
closeAnalyticsPool,
|
|
23
|
+
completeAnalyticsCrmImportRow,
|
|
22
24
|
completeAnalyticsFormDelivery,
|
|
23
25
|
createAnalyticsActivationDestination,
|
|
24
26
|
createAnalyticsCampaignLink,
|
|
@@ -28,18 +30,23 @@ import {
|
|
|
28
30
|
createAnalyticsForm,
|
|
29
31
|
createAnalyticsPixel,
|
|
30
32
|
createAnalyticsSite,
|
|
33
|
+
deferAnalyticsCrmImportRow,
|
|
31
34
|
deferAnalyticsFormDelivery,
|
|
32
35
|
deleteAnalyticsSite,
|
|
36
|
+
getAnalyticsActivationDestinationConnectionRef,
|
|
33
37
|
getAnalyticsPersonJourney,
|
|
34
38
|
getAnalyticsPool,
|
|
35
39
|
getPublicAnalyticsForm,
|
|
40
|
+
identityHmac,
|
|
36
41
|
ingestAnalyticsEvents,
|
|
37
42
|
isAnalyticsFormPlacementApproved,
|
|
38
43
|
linkAnalyticsFormIdentity,
|
|
39
44
|
listAnalyticsActivationDestinations,
|
|
45
|
+
listAnalyticsActivationReceipts,
|
|
40
46
|
listAnalyticsCampaignLinks,
|
|
41
47
|
listAnalyticsCrmImports,
|
|
42
48
|
listAnalyticsForms,
|
|
49
|
+
listAnalyticsHostGroups,
|
|
43
50
|
listAnalyticsPeople,
|
|
44
51
|
listAnalyticsPixels,
|
|
45
52
|
listAnalyticsSites,
|
|
@@ -48,19 +55,30 @@ import {
|
|
|
48
55
|
normalizeAnalyticsUrl,
|
|
49
56
|
normalizeContentOptions,
|
|
50
57
|
normalizeObservedHostname,
|
|
58
|
+
pollAnalyticsActivationDiagnostics,
|
|
59
|
+
prepareAnalyticsLinkerIssue,
|
|
51
60
|
queueAnalyticsActivation,
|
|
52
61
|
queueAnalyticsFormDelivery,
|
|
53
62
|
recordAnalyticsFormSubmission,
|
|
63
|
+
redeemAnalyticsLinkerRecord,
|
|
54
64
|
refreshAnalyticsDailyRollups,
|
|
55
65
|
refreshAnalyticsDailyRollupsIfDue,
|
|
66
|
+
requireAnalyticsAccess,
|
|
67
|
+
requireAnalyticsEditor,
|
|
56
68
|
resolveAnalyticsCampaignLink,
|
|
69
|
+
retryAnalyticsActivationJob,
|
|
57
70
|
sanitizeAnalyticsProperties,
|
|
58
71
|
sanitizeClickIds,
|
|
72
|
+
setAnalyticsActivationReadiness,
|
|
59
73
|
setAnalyticsPixelDomainState,
|
|
74
|
+
sweepAnalyticsRestrictedRetention,
|
|
75
|
+
testAnalyticsActivationDestination,
|
|
60
76
|
updateAnalyticsBusinessModel,
|
|
61
77
|
updateAnalyticsPixel,
|
|
62
|
-
upsertAnalyticsAdSpend
|
|
63
|
-
|
|
78
|
+
upsertAnalyticsAdSpend,
|
|
79
|
+
upsertAnalyticsHostGroup
|
|
80
|
+
} from "./chunk-SZEDXVJH.js";
|
|
81
|
+
import "./chunk-65FTMB7G.js";
|
|
64
82
|
export {
|
|
65
83
|
ANALYTICS_CONTENT_SORTS,
|
|
66
84
|
AnalyticsRepositoryError,
|
|
@@ -80,8 +98,10 @@ export {
|
|
|
80
98
|
analyticsTimeseries,
|
|
81
99
|
archiveAnalyticsActivationDestination,
|
|
82
100
|
archiveAnalyticsCampaignLink,
|
|
101
|
+
claimAnalyticsCrmImportRows,
|
|
83
102
|
claimAnalyticsFormDeliveryJobs,
|
|
84
103
|
closeAnalyticsPool,
|
|
104
|
+
completeAnalyticsCrmImportRow,
|
|
85
105
|
completeAnalyticsFormDelivery,
|
|
86
106
|
createAnalyticsActivationDestination,
|
|
87
107
|
createAnalyticsCampaignLink,
|
|
@@ -91,18 +111,23 @@ export {
|
|
|
91
111
|
createAnalyticsForm,
|
|
92
112
|
createAnalyticsPixel,
|
|
93
113
|
createAnalyticsSite,
|
|
114
|
+
deferAnalyticsCrmImportRow,
|
|
94
115
|
deferAnalyticsFormDelivery,
|
|
95
116
|
deleteAnalyticsSite,
|
|
117
|
+
getAnalyticsActivationDestinationConnectionRef,
|
|
96
118
|
getAnalyticsPersonJourney,
|
|
97
119
|
getAnalyticsPool,
|
|
98
120
|
getPublicAnalyticsForm,
|
|
121
|
+
identityHmac,
|
|
99
122
|
ingestAnalyticsEvents,
|
|
100
123
|
isAnalyticsFormPlacementApproved,
|
|
101
124
|
linkAnalyticsFormIdentity,
|
|
102
125
|
listAnalyticsActivationDestinations,
|
|
126
|
+
listAnalyticsActivationReceipts,
|
|
103
127
|
listAnalyticsCampaignLinks,
|
|
104
128
|
listAnalyticsCrmImports,
|
|
105
129
|
listAnalyticsForms,
|
|
130
|
+
listAnalyticsHostGroups,
|
|
106
131
|
listAnalyticsPeople,
|
|
107
132
|
listAnalyticsPixels,
|
|
108
133
|
listAnalyticsSites,
|
|
@@ -111,16 +136,26 @@ export {
|
|
|
111
136
|
normalizeAnalyticsUrl,
|
|
112
137
|
normalizeContentOptions,
|
|
113
138
|
normalizeObservedHostname,
|
|
139
|
+
pollAnalyticsActivationDiagnostics,
|
|
140
|
+
prepareAnalyticsLinkerIssue,
|
|
114
141
|
queueAnalyticsActivation,
|
|
115
142
|
queueAnalyticsFormDelivery,
|
|
116
143
|
recordAnalyticsFormSubmission,
|
|
144
|
+
redeemAnalyticsLinkerRecord,
|
|
117
145
|
refreshAnalyticsDailyRollups,
|
|
118
146
|
refreshAnalyticsDailyRollupsIfDue,
|
|
147
|
+
requireAnalyticsAccess,
|
|
148
|
+
requireAnalyticsEditor,
|
|
119
149
|
resolveAnalyticsCampaignLink,
|
|
150
|
+
retryAnalyticsActivationJob,
|
|
120
151
|
sanitizeAnalyticsProperties,
|
|
121
152
|
sanitizeClickIds,
|
|
153
|
+
setAnalyticsActivationReadiness,
|
|
122
154
|
setAnalyticsPixelDomainState,
|
|
155
|
+
sweepAnalyticsRestrictedRetention,
|
|
156
|
+
testAnalyticsActivationDestination,
|
|
123
157
|
updateAnalyticsBusinessModel,
|
|
124
158
|
updateAnalyticsPixel,
|
|
125
|
-
upsertAnalyticsAdSpend
|
|
159
|
+
upsertAnalyticsAdSpend,
|
|
160
|
+
upsertAnalyticsHostGroup
|
|
126
161
|
};
|