mcp-scraper 0.79.3 → 0.80.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,37 @@ All notable changes to MCP Scraper are documented here. The format is based on [
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.80.0] - 2026-08-29
8
+
9
+ ### Added
10
+
11
+ - Added a resumable Personal Assistant setup journey that separates product availability, operator activation, provider connections, sender registration and binding, personal-phone enrollment and consent, first-message testing, and per-feature readiness without erasing healthy state when one dependency is unavailable.
12
+ - Added verified recipient enrollment through inbound `START` or a short-lived web challenge, with masked owner-scoped contact records, versioned consent disclosures, safe resend and removal flows, and explicit sender and destination identity throughout Assistant and Scheduling.
13
+ - Added owner-safe diagnostics, fixed-message delivery tests, encrypted unknown-sender quarantine and authenticated claim flows, MMS and attachment lifecycle states, cost and usage controls, and reviewed export, revocation, removal, deletion, and number-release ceremonies.
14
+ - Added `assistant_diagnostics_get` and `assistant_delivery_test`, bringing the public catalog to 356 tools and the governed Assistant surface to 17 tools while preserving its two resources and one setup prompt.
15
+
16
+ ### Changed
17
+
18
+ - Made Scheduling the only Personal Assistant automation lifecycle owner, with exact draft, readiness, reviewed persistence, activation, accepted readback, connection operations, browser login grants, delivery destinations, fallbacks, quiet hours, urgent exceptions, retry, expiry, and failure-notification parity.
19
+ - Expanded the authenticated Assistant owner API to 77 closed-schema operations and regenerated the OpenAPI, MCP manifest, CLI, cURL, Node, and Python contracts without generic or unknown schema fallbacks.
20
+ - Replaced generic hosted-adapter and “finish setup” failures with component-owned activation blockers, truthful connection health, safe retry guidance, and opaque support receipts.
21
+
22
+ ### Security
23
+
24
+ - Kept regulatory contact information separate from delivery consent, prevented ambiguous tenant routing and hidden quarantined content from reaching an assistant, and required exact owner, sender, recipient, consent, grant, schedule, and idempotency evidence at every external-write boundary.
25
+ - Versioned `START`, `STOP`, `HELP`, privacy, terms, enrollment, first-message, and carrier-submission copy so live messaging policy can evolve without rewriting submitted provider evidence.
26
+
27
+ ### Migration
28
+
29
+ - Advance the Personal Assistant database schema and deployment contract to `2026-08-28.13` before enabling the new recipient, quarantine, first-text diagnostic, or lifecycle routes. Hosted outbound messaging remains unavailable until the configured vault, Twilio resources, provider clients, administrator write authority, and carrier registration gates are verified.
30
+
31
+ ## [0.79.4] - 2026-08-29
32
+
33
+ ### Fixed
34
+
35
+ - Pinned the public schema runtime used by fresh npm installs, preventing dependency-range drift from changing 35 datetime-bearing MCP input schemas between hosted production and the published stdio package.
36
+ - Added fresh-registry hosted-versus-stdio contract parity to the patch-release gate, so an accepted publication is not treated as complete until the downloaded package reproduces the canonical 354-tool contract.
37
+
7
38
  ## [0.79.3] - 2026-08-29
8
39
 
9
40
  ### Fixed
@@ -1493,7 +1524,10 @@ All notable changes to MCP Scraper are documented here. The format is based on [
1493
1524
  - Write actions remain unavailable until the account owner explicitly enables them.
1494
1525
  - Provider-specific connection data is normalized into one agent-facing contract.
1495
1526
 
1496
- [Unreleased]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.79.2...HEAD
1527
+ [Unreleased]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.80.0...HEAD
1528
+ [0.80.0]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.79.4...v0.80.0
1529
+ [0.79.4]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.79.3...v0.79.4
1530
+ [0.79.3]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.79.2...v0.79.3
1497
1531
  [0.79.2]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.79.1...v0.79.2
1498
1532
  [0.79.1]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.79.0...v0.79.1
1499
1533
  [0.79.0]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.78.0...v0.79.0
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.79.3`, SHA-256 `aa51d15b20740d5fa98d92ce919b4d37ff8f02a949c0186c90e403fd356dad14`). 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.80.0`, SHA-256 `5511ae3c549f79fad7c026d15c39e9f4e80c61597a792c8e70786ceab1266a85`). 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 354 tools: 253 scraper, browser, workflow, billing, connected-service, and personal-assistant tools plus 101 durable-memory tools. The scraper-side inventory includes complete Gmail selection, message, attachment, export, bulk-action, and Memory-import workflows; governed personal-assistant commands, messaging, approvals, grants, number setup, and execution readback; 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 356 tools: 255 scraper, browser, workflow, billing, connected-service, and personal-assistant tools plus 101 durable-memory tools. The scraper-side inventory includes complete Gmail selection, message, attachment, export, bulk-action, and Memory-import workflows; governed personal-assistant commands, messaging, approvals, grants, number setup, and execution readback; 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
 
@@ -17,8 +17,8 @@ loadDotEnv();
17
17
  async function main() {
18
18
  const [{ serve }, { app, personalAssistantProductionStartup }, { startWorker }, { migrate }] = await Promise.all([
19
19
  import("@hono/node-server"),
20
- import("../server-MDWFOUTS.js"),
21
- import("../worker-3LUFQWWJ.js"),
20
+ import("../server-XBRLYGTR.js"),
21
+ import("../worker-ICCZR443.js"),
22
22
  import("../db-Z34LPZNR.js")
23
23
  ]);
24
24
  const PORT = parseInt(process.env.PORT ?? "3001");
@@ -13,7 +13,7 @@ import "../chunk-VXLU74YZ.js";
13
13
  import "../chunk-GGZEC22A.js";
14
14
  import {
15
15
  PACKAGE_VERSION
16
- } from "../chunk-IHYG52ZW.js";
16
+ } from "../chunk-YPOOARYN.js";
17
17
 
18
18
  // src/cli/human-cli.ts
19
19
  import { Command } from "commander";
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runMcpScraperStdio
4
- } from "../chunk-TCYZ7HMU.js";
5
- import "../chunk-7UZAVM4J.js";
4
+ } from "../chunk-ID7J23WP.js";
5
+ import "../chunk-OY25W46Q.js";
6
6
  import "../chunk-PGJQDMC2.js";
7
7
  import "../chunk-DNM65UCK.js";
8
8
  import "../chunk-T3MZISOF.js";
9
9
  import "../chunk-6HAV7LCE.js";
10
- import "../chunk-VFCUGTCF.js";
10
+ import "../chunk-PMONKQGJ.js";
11
11
  import "../chunk-OM7HVEJ3.js";
12
12
  import "../chunk-5UAFBKJR.js";
13
- import "../chunk-MVB25X55.js";
13
+ import "../chunk-P4447RNF.js";
14
14
  import "../chunk-VXLU74YZ.js";
15
15
  import "../chunk-GGZEC22A.js";
16
- import "../chunk-IHYG52ZW.js";
16
+ import "../chunk-YPOOARYN.js";
17
17
  import "../chunk-YXNDOQXN.js";
18
18
 
19
19
  // src/mcp/thorbit-restricted-tool-surface.ts
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  renderInstallTerminal
4
- } from "../chunk-MVB25X55.js";
4
+ } from "../chunk-P4447RNF.js";
5
5
  import {
6
6
  PACKAGE_VERSION
7
- } from "../chunk-IHYG52ZW.js";
7
+ } from "../chunk-YPOOARYN.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;
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runMcpScraperStdio
4
- } from "../chunk-TCYZ7HMU.js";
5
- import "../chunk-7UZAVM4J.js";
4
+ } from "../chunk-ID7J23WP.js";
5
+ import "../chunk-OY25W46Q.js";
6
6
  import "../chunk-PGJQDMC2.js";
7
7
  import "../chunk-DNM65UCK.js";
8
8
  import "../chunk-T3MZISOF.js";
9
9
  import "../chunk-6HAV7LCE.js";
10
- import "../chunk-VFCUGTCF.js";
10
+ import "../chunk-PMONKQGJ.js";
11
11
  import "../chunk-OM7HVEJ3.js";
12
12
  import "../chunk-5UAFBKJR.js";
13
- import "../chunk-MVB25X55.js";
13
+ import "../chunk-P4447RNF.js";
14
14
  import "../chunk-VXLU74YZ.js";
15
15
  import "../chunk-GGZEC22A.js";
16
- import "../chunk-IHYG52ZW.js";
16
+ import "../chunk-YPOOARYN.js";
17
17
  import "../chunk-YXNDOQXN.js";
18
18
 
19
19
  // bin/mcp-stdio-server.ts
@@ -19,7 +19,7 @@ import {
19
19
  LedgerOperation,
20
20
  MC_PER_CREDIT,
21
21
  calculateConnectedUsageCharge
22
- } from "./chunk-VFCUGTCF.js";
22
+ } from "./chunk-PMONKQGJ.js";
23
23
  import {
24
24
  recordVendorUsage,
25
25
  runWithCostContext
@@ -12,13 +12,13 @@ import {
12
12
  registerScheduledResultsMcpTools,
13
13
  registerSerpIntelligenceCaptureTools,
14
14
  resolveDeploymentProfile
15
- } from "./chunk-7UZAVM4J.js";
15
+ } from "./chunk-OY25W46Q.js";
16
16
  import {
17
17
  renderInstallTerminal
18
- } from "./chunk-MVB25X55.js";
18
+ } from "./chunk-P4447RNF.js";
19
19
  import {
20
20
  PACKAGE_VERSION
21
- } from "./chunk-IHYG52ZW.js";
21
+ } from "./chunk-YPOOARYN.js";
22
22
 
23
23
  // src/mcp/stdio-runtime.ts
24
24
  import { readFileSync } from "fs";