mcp-scraper 0.2.18 → 0.2.19

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 (34) hide show
  1. package/README.md +14 -8
  2. package/dist/bin/api-server.cjs +1 -1
  3. package/dist/bin/api-server.cjs.map +1 -1
  4. package/dist/bin/api-server.js +1 -1
  5. package/dist/bin/browser-agent-stdio-server.cjs +1 -1
  6. package/dist/bin/browser-agent-stdio-server.cjs.map +1 -1
  7. package/dist/bin/browser-agent-stdio-server.js +2 -2
  8. package/dist/bin/mcp-scraper-cli.cjs +1 -1
  9. package/dist/bin/mcp-scraper-cli.cjs.map +1 -1
  10. package/dist/bin/mcp-scraper-cli.js +1 -1
  11. package/dist/bin/mcp-scraper-combined-stdio-server.cjs +105 -1
  12. package/dist/bin/mcp-scraper-combined-stdio-server.cjs.map +1 -1
  13. package/dist/bin/mcp-scraper-combined-stdio-server.js +18 -3
  14. package/dist/bin/mcp-scraper-combined-stdio-server.js.map +1 -1
  15. package/dist/bin/mcp-scraper-install.cjs +6 -4
  16. package/dist/bin/mcp-scraper-install.cjs.map +1 -1
  17. package/dist/bin/mcp-scraper-install.js +5 -92
  18. package/dist/bin/mcp-scraper-install.js.map +1 -1
  19. package/dist/bin/mcp-stdio-server.cjs +1 -1
  20. package/dist/bin/mcp-stdio-server.cjs.map +1 -1
  21. package/dist/bin/mcp-stdio-server.js +2 -2
  22. package/dist/{chunk-RJMCASQH.js → chunk-4UEVYYDW.js} +2 -2
  23. package/dist/{chunk-P5PLQU3H.js → chunk-76P4DKWR.js} +2 -2
  24. package/dist/chunk-MCBOZ2JF.js +96 -0
  25. package/dist/chunk-MCBOZ2JF.js.map +1 -0
  26. package/dist/chunk-RU2HZD55.js +7 -0
  27. package/dist/chunk-RU2HZD55.js.map +1 -0
  28. package/dist/{server-VVY5K44O.js → server-CRUSZA2Q.js} +3 -3
  29. package/package.json +1 -1
  30. package/dist/chunk-M5SAUO4K.js +0 -7
  31. package/dist/chunk-M5SAUO4K.js.map +0 -1
  32. /package/dist/{chunk-RJMCASQH.js.map → chunk-4UEVYYDW.js.map} +0 -0
  33. /package/dist/{chunk-P5PLQU3H.js.map → chunk-76P4DKWR.js.map} +0 -0
  34. /package/dist/{server-VVY5K44O.js.map → server-CRUSZA2Q.js.map} +0 -0
@@ -2,9 +2,9 @@
2
2
  import {
3
3
  HttpMcpToolExecutor,
4
4
  buildPaaExtractorMcpServer
5
- } from "../chunk-RJMCASQH.js";
5
+ } from "../chunk-4UEVYYDW.js";
6
6
  import "../chunk-M2S27J6Z.js";
7
- import "../chunk-M5SAUO4K.js";
7
+ import "../chunk-RU2HZD55.js";
8
8
 
9
9
  // bin/mcp-stdio-server.ts
10
10
  import { readFileSync } from "fs";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-M2S27J6Z.js";
4
4
  import {
5
5
  PACKAGE_VERSION
6
- } from "./chunk-M5SAUO4K.js";
6
+ } from "./chunk-RU2HZD55.js";
7
7
 
8
8
  // src/harvest-timeout.ts
9
9
  var VERCEL_FUNCTION_MAX_MS = 3e5;
@@ -2658,4 +2658,4 @@ export {
2658
2658
  registerPaaExtractorMcpTools,
2659
2659
  HttpMcpToolExecutor
2660
2660
  };
2661
- //# sourceMappingURL=chunk-RJMCASQH.js.map
2661
+ //# sourceMappingURL=chunk-4UEVYYDW.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  PACKAGE_VERSION
3
- } from "./chunk-M5SAUO4K.js";
3
+ } from "./chunk-RU2HZD55.js";
4
4
 
5
5
  // src/mcp/browser-agent-mcp-server.ts
6
6
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
@@ -790,4 +790,4 @@ export {
790
790
  buildBrowserAgentMcpServer,
791
791
  registerBrowserAgentMcpTools
792
792
  };
793
- //# sourceMappingURL=chunk-P5PLQU3H.js.map
793
+ //# sourceMappingURL=chunk-76P4DKWR.js.map
@@ -0,0 +1,96 @@
1
+ // src/install-terminal.ts
2
+ var CODES = {
3
+ reset: "\x1B[0m",
4
+ cyan: "\x1B[36m",
5
+ lime: "\x1B[32m",
6
+ amber: "\x1B[33m",
7
+ red: "\x1B[31m",
8
+ muted: "\x1B[90m",
9
+ bold: "\x1B[1m"
10
+ };
11
+ function colorize(value, tone, enabled) {
12
+ if (!enabled) return value;
13
+ return `${CODES[tone]}${value}${CODES.reset}`;
14
+ }
15
+ function toolRow(label, tools, enabled) {
16
+ const padded = label.padEnd(9, " ");
17
+ return ` ${colorize(padded, "muted", enabled)} ${tools.join(colorize(" . ", "muted", enabled))}`;
18
+ }
19
+ function renderInstallTerminal(options) {
20
+ const color = options.color ?? true;
21
+ const apiKeyValue = options.apiKeyConfigured ? "$MCP_SCRAPER_API_KEY" : "sk_live_your_key";
22
+ const ascii = String.raw`
23
+ __ __ ____ ____
24
+ | \/ |/ ___| _ \
25
+ | |\/| | | | |_) |
26
+ | | | | |___| __/
27
+ |_| |_|\____|_|
28
+
29
+ ____ ____ ____ _ ____ _____ ____
30
+ / ___| / ___| _ \ / \ | _ \| ____| _ \
31
+ \___ \| | | |_) | / _ \ | |_) | _| | |_) |
32
+ ___) | |___| _ < / ___ \| __/| |___| _ <
33
+ |____/ \____|_| \_\/_/ \_\_| |_____|_| \_\
34
+ `;
35
+ const claudeCommand = [
36
+ "claude mcp add mcp-scraper --scope user",
37
+ ` --env MCP_SCRAPER_API_KEY=${apiKeyValue}`,
38
+ " -- npx -y -p mcp-scraper@latest mcp-scraper-combined"
39
+ ].join(" \\\n");
40
+ const codexConfig = [
41
+ "[mcp_servers.mcp-scraper]",
42
+ 'command = "npx"',
43
+ 'args = ["-y", "-p", "mcp-scraper@latest", "mcp-scraper-combined"]',
44
+ `env = { MCP_SCRAPER_API_KEY = "${apiKeyValue}" }`
45
+ ].join("\n");
46
+ return [
47
+ colorize(`mcp-scraper v${options.version}`, "bold", color),
48
+ colorize("> mcp-scraper-install", "muted", color),
49
+ colorize(ascii, "amber", color),
50
+ `${colorize("MCP Scraper Agent", "cyan", color)} . v${options.version} . mcpscraper.dev`,
51
+ "1/1 install surfaces ready",
52
+ colorize("Newest: MCP workflow tools for market analysis, ICP research, CRO audits, brand briefs, and AI search visibility.", "lime", color),
53
+ "",
54
+ `${colorize("Tools", "cyan", color)} ${colorize("(38 MCP tools)", "muted", color)}`,
55
+ toolRow("search", ["harvest_paa", "search_serp", "maps_search", "maps_place_intel"], color),
56
+ toolRow("extract", ["extract_url", "map_site_urls", "extract_site", "directory_workflow"], color),
57
+ toolRow("build", ["rank_tracker_blueprint", "cron plan", "database prompt"], color),
58
+ toolRow("media", ["youtube_harvest", "youtube_transcribe", "facebook_ad_search", "facebook_page_intel", "facebook_ad_transcribe", "facebook_video_transcribe"], color),
59
+ toolRow("browser", ["browser_open", "browser_screenshot", "browser_read", "browser_locate", "browser_replay_mark", "browser_replay_annotate"], color),
60
+ toolRow("account", ["credits_info", "local reports", "MCP resources"], color),
61
+ `${colorize("Workflows", "cyan", color)} ${colorize("(MCP + CLI + API)", "muted", color)}`,
62
+ toolRow("route", ["workflow_list", "workflow_suggest", "workflow_run", "workflow_status", "workflow_artifact_read"], color),
63
+ toolRow("seo", ["directory", "agent-packet", "local audit", "map/serp comparison", "PAA/AIO briefs", "scheduled runs"], color),
64
+ "",
65
+ colorize("Usage tips:", "amber", color),
66
+ "Run mcp-scraper-combined in a human terminal to print this card; MCP clients get the same command as a silent stdio server.",
67
+ "Explicit card command: npx -y -p mcp-scraper@latest mcp-scraper-install",
68
+ "Start with workflow_suggest for broad jobs like market analysis, ICP research, CRO audits, brand briefs, content gaps, and AI visibility.",
69
+ "For MCP clients, use mcp-scraper-combined so one install can mix SERP, Maps, browser, reports, and saved MCP resources.",
70
+ "If you hit the concurrency limit, add an extra slot for $5/month with mcp-scraper-cli billing concurrency checkout.",
71
+ "",
72
+ `${colorize("Ready.", "lime", color)} Install the combined MCP server with one of these paths:`,
73
+ "",
74
+ colorize("Setup doctor", "amber", color),
75
+ "npx -y -p mcp-scraper@latest mcp-scraper-cli doctor",
76
+ "",
77
+ colorize("Claude Code", "amber", color),
78
+ claudeCommand,
79
+ "",
80
+ colorize("Codex config", "amber", color),
81
+ codexConfig,
82
+ "",
83
+ colorize("Claude Desktop Extension", "amber", color),
84
+ "Download: https://mcpscraper.dev/downloads/mcp-scraper.mcpb",
85
+ "",
86
+ colorize("Safety note:", "muted", color),
87
+ "mcp-scraper-combined prints this card only when stdin/stdout are an interactive TTY. In MCP clients it writes only JSON-RPC to stdout.",
88
+ "Use --stdio or MCP_SCRAPER_FORCE_STDIO=1 to force server mode from a terminal.",
89
+ ""
90
+ ].join("\n");
91
+ }
92
+
93
+ export {
94
+ renderInstallTerminal
95
+ };
96
+ //# sourceMappingURL=chunk-MCBOZ2JF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/install-terminal.ts"],"sourcesContent":["export interface InstallTerminalOptions {\n color?: boolean\n version: string\n apiKeyConfigured?: boolean\n}\n\ntype Tone = 'cyan' | 'lime' | 'amber' | 'red' | 'muted' | 'bold'\n\nconst CODES: Record<Tone | 'reset', string> = {\n reset: '\\x1b[0m',\n cyan: '\\x1b[36m',\n lime: '\\x1b[32m',\n amber: '\\x1b[33m',\n red: '\\x1b[31m',\n muted: '\\x1b[90m',\n bold: '\\x1b[1m',\n}\n\nfunction colorize(value: string, tone: Tone, enabled: boolean): string {\n if (!enabled) return value\n return `${CODES[tone]}${value}${CODES.reset}`\n}\n\nfunction toolRow(label: string, tools: string[], enabled: boolean): string {\n const padded = label.padEnd(9, ' ')\n return ` ${colorize(padded, 'muted', enabled)} ${tools.join(colorize(' . ', 'muted', enabled))}`\n}\n\nexport function renderInstallTerminal(options: InstallTerminalOptions): string {\n const color = options.color ?? true\n const apiKeyValue = options.apiKeyConfigured ? '$MCP_SCRAPER_API_KEY' : 'sk_live_your_key'\n const ascii = String.raw`\n __ __ ____ ____ \n| \\/ |/ ___| _ \\\n| |\\/| | | | |_) |\n| | | | |___| __/\n|_| |_|\\____|_|\n\n ____ ____ ____ _ ____ _____ ____\n/ ___| / ___| _ \\ / \\ | _ \\| ____| _ \\\n\\___ \\| | | |_) | / _ \\ | |_) | _| | |_) |\n ___) | |___| _ < / ___ \\| __/| |___| _ <\n|____/ \\____|_| \\_\\/_/ \\_\\_| |_____|_| \\_\\\n`\n\n const claudeCommand = [\n 'claude mcp add mcp-scraper --scope user',\n ` --env MCP_SCRAPER_API_KEY=${apiKeyValue}`,\n ' -- npx -y -p mcp-scraper@latest mcp-scraper-combined',\n ].join(' \\\\\\n')\n\n const codexConfig = [\n '[mcp_servers.mcp-scraper]',\n 'command = \"npx\"',\n 'args = [\"-y\", \"-p\", \"mcp-scraper@latest\", \"mcp-scraper-combined\"]',\n `env = { MCP_SCRAPER_API_KEY = \"${apiKeyValue}\" }`,\n ].join('\\n')\n\n return [\n colorize(`mcp-scraper v${options.version}`, 'bold', color),\n colorize('> mcp-scraper-install', 'muted', color),\n colorize(ascii, 'amber', color),\n `${colorize('MCP Scraper Agent', 'cyan', color)} . v${options.version} . mcpscraper.dev`,\n '1/1 install surfaces ready',\n colorize('Newest: MCP workflow tools for market analysis, ICP research, CRO audits, brand briefs, and AI search visibility.', 'lime', color),\n '',\n `${colorize('Tools', 'cyan', color)} ${colorize('(38 MCP tools)', 'muted', color)}`,\n toolRow('search', ['harvest_paa', 'search_serp', 'maps_search', 'maps_place_intel'], color),\n toolRow('extract', ['extract_url', 'map_site_urls', 'extract_site', 'directory_workflow'], color),\n toolRow('build', ['rank_tracker_blueprint', 'cron plan', 'database prompt'], color),\n toolRow('media', ['youtube_harvest', 'youtube_transcribe', 'facebook_ad_search', 'facebook_page_intel', 'facebook_ad_transcribe', 'facebook_video_transcribe'], color),\n toolRow('browser', ['browser_open', 'browser_screenshot', 'browser_read', 'browser_locate', 'browser_replay_mark', 'browser_replay_annotate'], color),\n toolRow('account', ['credits_info', 'local reports', 'MCP resources'], color),\n `${colorize('Workflows', 'cyan', color)} ${colorize('(MCP + CLI + API)', 'muted', color)}`,\n toolRow('route', ['workflow_list', 'workflow_suggest', 'workflow_run', 'workflow_status', 'workflow_artifact_read'], color),\n toolRow('seo', ['directory', 'agent-packet', 'local audit', 'map/serp comparison', 'PAA/AIO briefs', 'scheduled runs'], color),\n '',\n colorize('Usage tips:', 'amber', color),\n 'Run mcp-scraper-combined in a human terminal to print this card; MCP clients get the same command as a silent stdio server.',\n 'Explicit card command: npx -y -p mcp-scraper@latest mcp-scraper-install',\n 'Start with workflow_suggest for broad jobs like market analysis, ICP research, CRO audits, brand briefs, content gaps, and AI visibility.',\n 'For MCP clients, use mcp-scraper-combined so one install can mix SERP, Maps, browser, reports, and saved MCP resources.',\n 'If you hit the concurrency limit, add an extra slot for $5/month with mcp-scraper-cli billing concurrency checkout.',\n '',\n `${colorize('Ready.', 'lime', color)} Install the combined MCP server with one of these paths:`,\n '',\n colorize('Setup doctor', 'amber', color),\n 'npx -y -p mcp-scraper@latest mcp-scraper-cli doctor',\n '',\n colorize('Claude Code', 'amber', color),\n claudeCommand,\n '',\n colorize('Codex config', 'amber', color),\n codexConfig,\n '',\n colorize('Claude Desktop Extension', 'amber', color),\n 'Download: https://mcpscraper.dev/downloads/mcp-scraper.mcpb',\n '',\n colorize('Safety note:', 'muted', color),\n 'mcp-scraper-combined prints this card only when stdin/stdout are an interactive TTY. In MCP clients it writes only JSON-RPC to stdout.',\n 'Use --stdio or MCP_SCRAPER_FORCE_STDIO=1 to force server mode from a terminal.',\n '',\n ].join('\\n')\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,7 @@
1
+ // src/version.ts
2
+ var PACKAGE_VERSION = "0.2.19";
3
+
4
+ export {
5
+ PACKAGE_VERSION
6
+ };
7
+ //# sourceMappingURL=chunk-RU2HZD55.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/version.ts"],"sourcesContent":["export const PACKAGE_VERSION = '0.2.19'\n"],"mappings":";AAAO,IAAM,kBAAkB;","names":[]}
@@ -100,7 +100,7 @@ import {
100
100
  harvestTimeoutBudget,
101
101
  liveWebToolAnnotations,
102
102
  outputBaseDir
103
- } from "./chunk-RJMCASQH.js";
103
+ } from "./chunk-4UEVYYDW.js";
104
104
  import {
105
105
  CaptchaError,
106
106
  RECAPTCHA_INSTRUCTIONS,
@@ -114,7 +114,7 @@ import {
114
114
  workflowDefinition,
115
115
  workflowOutputBaseDir
116
116
  } from "./chunk-F44RBOJ5.js";
117
- import "./chunk-M5SAUO4K.js";
117
+ import "./chunk-RU2HZD55.js";
118
118
 
119
119
  // src/api/outbound-sanitize.ts
120
120
  var KEY_RENAMES = {
@@ -14733,4 +14733,4 @@ app.get("/blog/:slug/", (c) => {
14733
14733
  export {
14734
14734
  app
14735
14735
  };
14736
- //# sourceMappingURL=server-VVY5K44O.js.map
14736
+ //# sourceMappingURL=server-CRUSZA2Q.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-scraper",
3
- "version": "0.2.18",
3
+ "version": "0.2.19",
4
4
  "description": "MCP server for MCP Scraper web intelligence tools",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -1,7 +0,0 @@
1
- // src/version.ts
2
- var PACKAGE_VERSION = "0.2.18";
3
-
4
- export {
5
- PACKAGE_VERSION
6
- };
7
- //# sourceMappingURL=chunk-M5SAUO4K.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/version.ts"],"sourcesContent":["export const PACKAGE_VERSION = '0.2.18'\n"],"mappings":";AAAO,IAAM,kBAAkB;","names":[]}