mcp-scraper 0.73.8 → 0.75.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 CHANGED
@@ -4,6 +4,40 @@ All notable changes to MCP Scraper are documented here. The format is based on [
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.75.0] - 2026-08-28
8
+
9
+ ### Added
10
+
11
+ - Added a production X-Ray customer loop spanning tiered onboarding, editable and live-verifiable event definitions, deterministic known-person journeys, seven attribution models, CRM/call connections, governed manual data movement, ad-platform activation, privacy lifecycle controls, and durable scheduled lanes.
12
+ - Added fail-closed capability and privacy registries, normalized analytics error envelopes, CSV formula neutralization, deletion-aware provider send fences, and complete retention/anonymization coverage across analytics relations.
13
+ - Added dedicated MCP tools and REST operations for CRM preview/commit/export, Google Ads CSV export, Meta technical export, activation mappings and automation, live event verification, enhanced person journeys, and scheduled operations.
14
+
15
+ ### Changed
16
+
17
+ - Reworked X-Ray setup around Minimum, Production, and Advanced outcomes; kept Business selection stable across setup, testing, visual picking, navigation, CRM, and activation; and separated simulations from persisted live evidence.
18
+ - Rebuilt journey and attribution reporting around confirmed versus candidate-assisted evidence, deep-linkable person histories, actionable lead-generation summaries, responsive tables and charts, and explicit unavailable or unproven states.
19
+ - Expanded the public MCP catalog to 339 tools and generated the Web, documentation, authority, SDK, and package contracts from the same release inventory.
20
+
21
+ ### Fixed
22
+
23
+ - Prevented candidate identity, withdrawn consent, or deleted subjects from reaching CRM and ad-provider transports, and prevented IP, coarse location, or device continuity from independently confirming a person.
24
+ - Made activation readiness depend on accepted provider receipts, preserved Google partial-failure evidence and Meta event IDs, and kept unsupported manual or direct-upload claims unavailable instead of optimistic.
25
+ - Added responsive release proof across all 12 X-Ray routes at seven viewport widths, including data, empty, loading, handled-error, table/card, chart-containment, and mobile navigation states.
26
+
27
+ ## [0.74.0] - 2026-08-28
28
+
29
+ ### Added
30
+
31
+ - Added a consent-safe visual event picker to the X-Ray Pixel: an authenticated dashboard user can open an approved website, select a page, button, link, phone link, or form, and return a bounded editable event draft without exposing API keys, form values, or page copy to the website.
32
+
33
+ ### Changed
34
+
35
+ - Reframed X-Ray setup around the four persisted-evidence milestones required for a first attributed conversion and made recipe customization preserve the currently selected Site.
36
+
37
+ ### Fixed
38
+
39
+ - Registered the chart component required by X-Ray Summary visual options, preventing a rendered runtime failure during responsive reporting.
40
+
7
41
  ## [0.73.8] - 2026-08-28
8
42
 
9
43
  ### Fixed
@@ -1358,7 +1392,12 @@ All notable changes to MCP Scraper are documented here. The format is based on [
1358
1392
  - Write actions remain unavailable until the account owner explicitly enables them.
1359
1393
  - Provider-specific connection data is normalized into one agent-facing contract.
1360
1394
 
1361
- [Unreleased]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.73.5...HEAD
1395
+ [Unreleased]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.75.0...HEAD
1396
+ [0.75.0]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.74.0...v0.75.0
1397
+ [0.74.0]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.73.8...v0.74.0
1398
+ [0.73.8]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.73.7...v0.73.8
1399
+ [0.73.7]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.73.6...v0.73.7
1400
+ [0.73.6]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.73.5...v0.73.6
1362
1401
  [0.73.5]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.73.4...v0.73.5
1363
1402
  [0.73.4]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.73.3...v0.73.4
1364
1403
  [0.73.3]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.73.2...v0.73.3
package/README.md CHANGED
@@ -173,7 +173,7 @@ Build the branded one-click bundle:
173
173
  npm run build:mcpb
174
174
  ```
175
175
 
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.8`, SHA-256 `3a25392d082492e7e7c4c5bda9ca6057256ff49b37bbf3489d699add30cbb0d6`). 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.
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.75.0`, SHA-256 `e1987385ca67a469f9fb73959b123ac8d925bee1f88c8d94252e9239d1e842f9`). 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.
177
177
 
178
178
  The MCPB install exposes every tool — web-intelligence plus all `browser_*` tools — through the one `mcp-scraper` server.
179
179
 
@@ -335,7 +335,7 @@ The `mcp-scraper` server (and the MCPB bundle, which runs it) exposes both secti
335
335
 
336
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.
337
337
 
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.
338
+ The canonical tool inventory is generated at `docs/mcp-tool-manifest.generated.json`. The unified server exposes 339 tools: 238 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.
339
339
 
340
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.
341
341
 
@@ -8,6 +8,7 @@ import {
8
8
  analyticsChannelBreakdown,
9
9
  analyticsContent,
10
10
  analyticsConversions,
11
+ analyticsCsvCell,
11
12
  analyticsDimensions,
12
13
  analyticsEventCounts,
13
14
  analyticsForecast,
@@ -84,7 +85,7 @@ import {
84
85
  updateAnalyticsPixel,
85
86
  upsertAnalyticsAdSpend,
86
87
  upsertAnalyticsHostGroup
87
- } from "./chunk-52PVP5P2.js";
88
+ } from "./chunk-IBQNOZ7E.js";
88
89
  import "./chunk-PJEEKOUM.js";
89
90
  import "./chunk-WEFPBAAG.js";
90
91
  export {
@@ -97,6 +98,7 @@ export {
97
98
  analyticsChannelBreakdown,
98
99
  analyticsContent,
99
100
  analyticsConversions,
101
+ analyticsCsvCell,
100
102
  analyticsDimensions,
101
103
  analyticsEventCounts,
102
104
  analyticsForecast,
@@ -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-FYL32M22.js"),
21
- import("../worker-CBK5DWEE.js"),
20
+ import("../server-KNCC6FXQ.js"),
21
+ import("../worker-7ASMH3MT.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-22MAFYHS.js");
28
+ const { migrateAnalytics } = await import("../analytics-repository-AUTJK4HK.js");
29
29
  await migrateAnalytics();
30
30
  }
31
31
  startWorker();
@@ -13,7 +13,7 @@ import "../chunk-VXLU74YZ.js";
13
13
  import "../chunk-GGZEC22A.js";
14
14
  import {
15
15
  PACKAGE_VERSION
16
- } from "../chunk-Q2QHKUTB.js";
16
+ } from "../chunk-RDPWFAR3.js";
17
17
 
18
18
  // src/cli/human-cli.ts
19
19
  import { Command } from "commander";
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  renderInstallTerminal
4
- } from "../chunk-Q2J23DHY.js";
4
+ } from "../chunk-45AZ5CR2.js";
5
5
  import {
6
6
  PACKAGE_VERSION
7
- } from "../chunk-Q2QHKUTB.js";
7
+ } from "../chunk-RDPWFAR3.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-DDEMQWGT.js";
16
+ } from "../chunk-DT7UD2ER.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-Q2J23DHY.js";
24
+ } from "../chunk-45AZ5CR2.js";
25
25
  import "../chunk-VXLU74YZ.js";
26
26
  import "../chunk-GGZEC22A.js";
27
27
  import {
28
28
  PACKAGE_VERSION
29
- } from "../chunk-Q2QHKUTB.js";
29
+ } from "../chunk-RDPWFAR3.js";
30
30
  import "../chunk-DNM65UCK.js";
31
- import "../chunk-EQJRPDUS.js";
31
+ import "../chunk-6W4ADSWE.js";
32
32
  import "../chunk-WEFPBAAG.js";
33
33
 
34
34
  // bin/mcp-stdio-server.ts
@@ -1,6 +1,6 @@
1
1
  // release-message.json
2
2
  var release_message_default = {
3
- message: "Gmail now provides complete message and attachment reads, immutable reviewed bulk selections, replay-safe mailbox actions, and resumable Memory imports that preserve safe attachments in the intended vault."
3
+ message: "X-Ray now provides a production customer loop for consent-aware identity, journeys, event verification, attribution, CRM and call evidence, governed data movement, activation receipts, and durable automation."
4
4
  };
5
5
 
6
6
  // src/install-terminal.ts
@@ -55,7 +55,7 @@ function renderInstallTerminal(options) {
55
55
  "1/1 install surfaces ready",
56
56
  colorize(`Newest in v${options.version}: ${release_message_default.message}`, "lime", color),
57
57
  "",
58
- `${colorize("Tools", "cyan", color)} ${colorize("(331 MCP tools)", "muted", color)}`,
58
+ `${colorize("Tools", "cyan", color)} ${colorize("(339 MCP tools)", "muted", color)}`,
59
59
  toolRow("search", ["harvest_paa", "search_serp", "maps_search", "maps_place_intel"], color),
60
60
  toolRow("extract", ["extract_url", "map_site_urls", "extract_site", "audit_site", "directory_workflow"], color),
61
61
  toolRow("build", ["create_editorial_reading_room", "rank_tracker_workflow", "portable HTML"], color),
@@ -213,8 +213,8 @@ var PUBLIC_PRODUCT_CONTRACT = {
213
213
  "freeSignupCredits": 0
214
214
  },
215
215
  "inventory": {
216
- "totalTools": 331,
217
- "scraperTools": 230,
216
+ "totalTools": 339,
217
+ "scraperTools": 238,
218
218
  "memoryTools": 101
219
219
  },
220
220
  "concurrencyPack": {
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-DNM65UCK.js";
8
8
  import {
9
9
  LedgerOperation
10
- } from "./chunk-EQJRPDUS.js";
10
+ } from "./chunk-6W4ADSWE.js";
11
11
  import {
12
12
  CREDIT_LOT_TTL,
13
13
  getDb,