mcp-scraper 0.43.1 → 0.43.3

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.
Files changed (40) hide show
  1. package/README.md +1 -1
  2. package/dist/bin/api-server.cjs +7 -17
  3. package/dist/bin/api-server.cjs.map +1 -1
  4. package/dist/bin/api-server.js +2 -2
  5. package/dist/bin/mcp-scraper-cli.cjs +1 -1
  6. package/dist/bin/mcp-scraper-cli.cjs.map +1 -1
  7. package/dist/bin/mcp-scraper-cli.js +3 -4
  8. package/dist/bin/mcp-scraper-cli.js.map +1 -1
  9. package/dist/bin/mcp-scraper-install.cjs +1 -1
  10. package/dist/bin/mcp-scraper-install.cjs.map +1 -1
  11. package/dist/bin/mcp-scraper-install.js +1 -1
  12. package/dist/bin/mcp-stdio-server.cjs +2321 -2437
  13. package/dist/bin/mcp-stdio-server.cjs.map +1 -1
  14. package/dist/bin/mcp-stdio-server.js +2 -3
  15. package/dist/bin/mcp-stdio-server.js.map +1 -1
  16. package/dist/bin/paa-harvest.js +2 -3
  17. package/dist/bin/paa-harvest.js.map +1 -1
  18. package/dist/{chunk-CB5C3BPB.js → chunk-3ZUBQQPQ.js} +23 -2
  19. package/dist/chunk-3ZUBQQPQ.js.map +1 -0
  20. package/dist/chunk-4LQVW2EK.js +7 -0
  21. package/dist/chunk-4LQVW2EK.js.map +1 -0
  22. package/dist/{chunk-HO4DOPEG.js → chunk-CHC3RCFA.js} +8 -21
  23. package/dist/chunk-CHC3RCFA.js.map +1 -0
  24. package/dist/{chunk-LXVIQZ7Y.js → chunk-H7LQ6PTI.js} +3 -5
  25. package/dist/{chunk-LXVIQZ7Y.js.map → chunk-H7LQ6PTI.js.map} +1 -1
  26. package/dist/{chunk-FQI5PFE7.js → chunk-ZSJHRZY5.js} +3 -5
  27. package/dist/{chunk-FQI5PFE7.js.map → chunk-ZSJHRZY5.js.map} +1 -1
  28. package/dist/index.js +2 -3
  29. package/dist/index.js.map +1 -1
  30. package/dist/{server-WAB6Z47N.js → server-7CLMCX42.js} +7 -8
  31. package/dist/{server-WAB6Z47N.js.map → server-7CLMCX42.js.map} +1 -1
  32. package/dist/{worker-E6MIVF33.js → worker-2LIOH744.js} +3 -4
  33. package/dist/{worker-E6MIVF33.js.map → worker-2LIOH744.js.map} +1 -1
  34. package/package.json +2 -2
  35. package/dist/chunk-3CQZ3DAT.js +0 -7
  36. package/dist/chunk-3CQZ3DAT.js.map +0 -1
  37. package/dist/chunk-CB5C3BPB.js.map +0 -1
  38. package/dist/chunk-HO4DOPEG.js.map +0 -1
  39. package/dist/chunk-K443GQY5.js +0 -24
  40. package/dist/chunk-K443GQY5.js.map +0 -1
package/README.md CHANGED
@@ -90,7 +90,7 @@ Build the branded one-click bundle:
90
90
  npm run build:mcpb
91
91
  ```
92
92
 
93
- 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.43.1`, SHA-256 `ba9b7fd21ad3e17916577db76cc396958f3c7cc86371e78a361d0027a779d5cc`). Install it by opening or dragging it into Claude Desktop. Claude displays the `MCP Scraper` install card, icon, and API-key configuration field from the bundle manifest.
93
+ 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.43.3`, SHA-256 `e9f3d7896517f57e3081a31cb5f3b2d5eb1a653684106f0ac9682b4947f2d16f`). Install it by opening or dragging it into Claude Desktop. Claude displays the `MCP Scraper` install card, icon, and API-key configuration field from the bundle manifest.
94
94
 
95
95
  The MCPB install exposes every tool — web-intelligence plus all `browser_*` tools — through the one `mcp-scraper` server.
96
96
 
@@ -15264,11 +15264,11 @@ var init_workflow_catalog = __esm({
15264
15264
  {
15265
15265
  id: "lead_generation",
15266
15266
  title: "Lead Generation",
15267
- description: "Build an outreach-ready local lead list for a niche in one market: Google Maps businesses with confirmed review counts and booking URLs, enriched with email and social links scraped from each business website (proxy/browser-backed so blocked sites still resolve).",
15267
+ description: "Build an outreach-ready local lead list for a niche in one market: Google Maps businesses with confirmed review counts and booking URLs, enriched with email and social links from each business website.",
15268
15268
  primaryWorkflowId: "get-leads",
15269
15269
  recommendedTools: ["workflow_run", "maps_search", "maps_place_intel", "extract_url"],
15270
15270
  requiredInputs: ["query", "location"],
15271
- optionalInputs: ["maxResults", "enrichWebsites", "hydrateReviewCounts", "concurrency", "proxyMode"],
15271
+ optionalInputs: ["maxResults", "enrichWebsites", "hydrateReviewCounts", "concurrency"],
15272
15272
  produces: ["leads CSV (name, phone, website, email, socials, review count, booking URL)", "evidence JSON", "HTML report", "outreach task list"],
15273
15273
  runHint: 'Use workflow_run with workflowId get-leads. Put the niche in query (e.g. "roofers") and the market in location (e.g. "Houston, TX"); do not combine them.'
15274
15274
  },
@@ -39483,7 +39483,7 @@ var PACKAGE_VERSION;
39483
39483
  var init_version = __esm({
39484
39484
  "src/version.ts"() {
39485
39485
  "use strict";
39486
- PACKAGE_VERSION = "0.43.1";
39486
+ PACKAGE_VERSION = "0.43.3";
39487
39487
  }
39488
39488
  });
39489
39489
 
@@ -40227,7 +40227,6 @@ var init_mcp_tool_schemas = __esm({
40227
40227
  "use strict";
40228
40228
  import_zod39 = require("zod");
40229
40229
  init_contracts();
40230
- init_schemas2();
40231
40230
  init_wayback_schemas();
40232
40231
  init_media_transcription();
40233
40232
  WEBSITE_URL_OR_DOMAIN_ERROR = "Expected a public http(s) URL or bare domain (for example example.com)";
@@ -40268,8 +40267,6 @@ var init_mcp_tool_schemas = __esm({
40268
40267
  gl: import_zod39.z.string().length(2).default("us").describe("Google country code inferred from location or user language."),
40269
40268
  hl: import_zod39.z.string().default("en").describe("Google interface/content language inferred from the user request."),
40270
40269
  device: import_zod39.z.enum(["desktop", "mobile"]).default("desktop").describe("SERP device context. Use mobile only for mobile rankings."),
40271
- proxyMode: import_zod39.z.enum(["configured", "none"]).default(DEFAULT_PROXY_MODE).describe("Leave unset for direct egress. Set configured only when the installed server has a configured proxy and the user explicitly needs it; location is handled separately with UULE and query text."),
40272
- proxyZip: import_zod39.z.string().regex(/^\d{5}$/).optional().describe("Optional US ZIP override for configured proxy routing."),
40273
40270
  debug: import_zod39.z.boolean().default(false).describe("Include sanitized diagnostics for debugging.")
40274
40271
  };
40275
40272
  ExtractUrlBaseInputSchema = {
@@ -40480,8 +40477,6 @@ var init_mcp_tool_schemas = __esm({
40480
40477
  hl: import_zod39.z.string().length(2).default("en").describe("Language inferred from user request."),
40481
40478
  maxResults: import_zod39.z.number().int().min(1).max(50).default(10).describe("Number of candidates to return. Default 10, maximum 50."),
40482
40479
  includeServices: import_zod39.z.boolean().default(false).describe("Open each returned business profile to include its configured services and areas served when available. Adds a page visit per business; does not collect review cards."),
40483
- proxyMode: import_zod39.z.enum(["configured", "none"]).default(DEFAULT_MAPS_PROXY_MODE).describe("Leave unset for direct egress. Set configured only when the installed server has a configured proxy and the user explicitly needs it; location remains in the Maps query."),
40484
- proxyZip: import_zod39.z.string().regex(/^\d{5}$/).optional().describe("Optional US ZIP override for configured proxy routing."),
40485
40480
  debug: import_zod39.z.boolean().default(false).describe("Include sanitized browser/proxy diagnostics.")
40486
40481
  };
40487
40482
  DirectoryWorkflowInputSchema = {
@@ -40497,8 +40492,6 @@ var init_mcp_tool_schemas = __esm({
40497
40492
  usZipsCsvPath: import_zod39.z.string().optional().describe("Local/test-only ZIP CSV override. Hosted MCP/API runs ignore filesystem paths and use the active hosted Census + ZIP dataset versions."),
40498
40493
  saveCsv: import_zod39.z.boolean().default(true).describe("Create a directory-ready CSV. Hosted runs return an owner-scoped artifact; local runs may also return a filesystem path."),
40499
40494
  background: import_zod39.z.literal(true).default(true).describe("Hosted MCP directory jobs always run durably in the background. Poll directory_workflow_status for progress, terminal billing, and the owner-scoped CSV artifact."),
40500
- proxyMode: import_zod39.z.enum(["configured", "none"]).default(DEFAULT_MAPS_PROXY_MODE).describe("Proxy behavior per city search. Leave unset for direct egress; set configured only when the installed server has a configured proxy and the user explicitly needs it."),
40501
- proxyZip: import_zod39.z.string().regex(/^\d{5}$/).optional().describe("Optional US ZIP override for configured proxy routing."),
40502
40495
  debug: import_zod39.z.boolean().default(false).describe("Include sanitized browser/proxy diagnostics.")
40503
40496
  };
40504
40497
  LocationMarketsInputSchema = {
@@ -41725,8 +41718,6 @@ var init_mcp_tool_schemas = __esm({
41725
41718
  gl: import_zod39.z.string().length(2).default("us").describe("Google country code inferred from location or user language."),
41726
41719
  hl: import_zod39.z.string().default("en").describe("Google interface/content language inferred from user request."),
41727
41720
  device: import_zod39.z.enum(["desktop", "mobile"]).default("desktop").describe("SERP device context. Use mobile only for mobile rankings."),
41728
- proxyMode: import_zod39.z.enum(["configured", "none"]).default(DEFAULT_PROXY_MODE).describe("Leave unset for direct egress. Set configured only when the installed server has a configured proxy and the user explicitly needs it; location is handled separately with UULE and query text."),
41729
- proxyZip: import_zod39.z.string().regex(/^\d{5}$/).optional().describe("Optional US ZIP override for configured proxy routing."),
41730
41721
  debug: import_zod39.z.boolean().default(false).describe("Include sanitized diagnostics for debugging."),
41731
41722
  pages: import_zod39.z.number().int().min(1).max(2).default(1).describe("Number of result pages to fetch (1\u20132)."),
41732
41723
  recency: import_zod39.z.enum(["day", "week", "month", "year"]).optional().describe('Restrict results to a recent time window (Google "past day/week/month/year" filter). Omit for all-time. Useful for "what is being said this week" style queries; pairs well with a site: operator in the query.')
@@ -41737,8 +41728,6 @@ var init_mcp_tool_schemas = __esm({
41737
41728
  gl: import_zod39.z.string().length(2).default("us").describe("Google country code inferred from the requested market."),
41738
41729
  hl: import_zod39.z.string().default("en").describe("Google interface/content language inferred from the user request."),
41739
41730
  device: import_zod39.z.enum(["desktop", "mobile"]).default("desktop").describe("SERP device context. Use mobile only for mobile rankings/evidence."),
41740
- proxyMode: import_zod39.z.enum(["configured", "none"]).default(DEFAULT_PROXY_MODE).describe("Leave unset for direct egress. Set configured only when the installed server has a configured proxy and the user explicitly needs it; location is handled separately with UULE and query text."),
41741
- proxyZip: import_zod39.z.string().regex(/^\d{5}$/).optional().describe("Optional US ZIP override for configured proxy routing."),
41742
41731
  debug: import_zod39.z.boolean().default(false).describe("Include sanitized browser/proxy/location diagnostics."),
41743
41732
  pages: import_zod39.z.number().int().min(1).max(2).default(1).describe("Google result pages to capture. Use 2 only for deeper ranking evidence."),
41744
41733
  includePageSnapshots: import_zod39.z.boolean().default(false).describe("Also capture ranking-page snapshots for selected SERP URLs. Each attempted snapshot adds 1 Credit."),
@@ -43057,9 +43046,10 @@ function registerPaaExtractorMcpTools(server, executor, options = {}) {
43057
43046
  ownerId,
43058
43047
  secret: options.taskHandleSecret ?? `local:${ownerId}`
43059
43048
  });
43060
- const harvestPaaInputSchema = schemaWithoutFields(HarvestPaaInputSchema, exposesDevelopmentDiagnostics ? [] : ["debug"]);
43061
- const searchSerpInputSchema = schemaWithoutFields(SearchSerpInputSchema, exposesDevelopmentDiagnostics ? [] : ["debug"]);
43062
- const mapsSearchInputSchema = schemaWithoutFields(MapsSearchInputSchema, exposesDevelopmentDiagnostics ? [] : ["debug"]);
43049
+ const privateSearchFields = exposesDevelopmentDiagnostics ? [] : ["debug"];
43050
+ const harvestPaaInputSchema = schemaWithoutFields(HarvestPaaInputSchema, privateSearchFields);
43051
+ const searchSerpInputSchema = schemaWithoutFields(SearchSerpInputSchema, privateSearchFields);
43052
+ const mapsSearchInputSchema = schemaWithoutFields(MapsSearchInputSchema, privateSearchFields);
43063
43053
  const directoryWorkflowInputSchema = schemaWithoutFields(
43064
43054
  DirectoryWorkflowInputSchema,
43065
43055
  exposesDevelopmentDiagnostics ? [] : ["debug", "usZipsCsvPath"]