mcp-scraper 0.3.25 → 0.3.26

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.
@@ -5,13 +5,13 @@ import {
5
5
  exportFanout,
6
6
  registerPaaExtractorMcpTools,
7
7
  sanitizeOutboundDiagnostics
8
- } from "../chunk-FE2WC4JR.js";
8
+ } from "../chunk-2GHI2D6Q.js";
9
9
  import {
10
10
  renderInstallTerminal
11
11
  } from "../chunk-DOBQN3EY.js";
12
12
  import {
13
13
  PACKAGE_VERSION
14
- } from "../chunk-WPHAMNT7.js";
14
+ } from "../chunk-MS2UZ6HR.js";
15
15
  import {
16
16
  browserServiceProfileName,
17
17
  browserServiceProfileSaveChanges
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  PACKAGE_VERSION
3
- } from "./chunk-WPHAMNT7.js";
3
+ } from "./chunk-MS2UZ6HR.js";
4
4
  import {
5
5
  browserServiceProfileName,
6
6
  browserServiceProfileSaveChanges,
@@ -92,33 +92,73 @@ function sanitizeHarvestResult(result) {
92
92
 
93
93
  // src/mcp/server-instructions.ts
94
94
  var SERVER_INSTRUCTIONS = `
95
- This server scrapes and analyzes web, social, search, maps, and site data. Pick a tool by NAME using
96
- this routing map, then load its schema before calling.
95
+ # MCP Scraper
97
96
 
98
- ROUTING
99
- - One web page -> extract_url. Whole site (crawl + SEO report) -> extract_site. Just the URL list -> map_site_urls.
100
- - Web search (organic SERP) -> search_serp. Full SERP + People-Also-Ask / AI-Overview detail -> harvest_paa.
101
- - Google Maps: find places -> maps_search; one place deep-dive + reviews -> maps_place_intel.
102
- - YouTube: find or list videos -> youtube_harvest; transcribe one video -> youtube_transcribe.
103
- - Facebook: find ads -> facebook_ad_search; transcribe an ad -> facebook_ad_transcribe; transcribe a
104
- video -> facebook_video_transcribe; page profile/intel -> facebook_page_intel.
105
- - Instagram: profile inventory -> instagram_profile_content; one post or reel -> instagram_media_download.
106
- - Workflows (multi-step): local directory build -> directory_workflow; rank blueprint -> rank_tracker_workflow;
107
- AI-answer citation fan-out (AEO) -> query_fanout_workflow; deep research -> deep_research_workflow.
108
- - Anything without a dedicated tool (e.g. Reddit, arbitrary logged-in sites) -> the browser_* agent
109
- (browser_open, then navigate/read).
110
- - Logged-in sites (ChatGPT, Claude, Reddit, any account): save the login first -> browser_profile_connect
111
- (returns an mcpscraper.dev sign-in link for the user; one profile holds MANY logins, call it again with
112
- the same profile + a new domain to add accounts) -> poll browser_profile_list until AUTHENTICATED ->
113
- browser_open with that profile. browser_profile_list also shows what a profile is connected to.
97
+ Scrapes and analyzes web, search, maps, social, and site data. **Pick a tool by NAME from the map
98
+ below, then load its schema before calling.** Where a tool needs a value another tool produces, the
99
+ seam is noted so you can chain them.
114
100
 
115
- NOTES
116
- - Bulk / full-site crawls: call extract_site with rotateProxies:true for blocked or rate-limited sites.
117
- It discovers URLs and returns a saved folder/artifact plus a summary, not the full content inline.
118
- - Tools that open a browser session or transcribe media cost credits and take longer. Prefer the
119
- cheapest tool that answers the question (plain search/extract before browser agents).
120
- - Large results are saved to disk or an artifact and returned as a summary plus a path; read the path
121
- for full detail rather than expecting the whole payload inline.
101
+ ## Search & research
102
+ - Organic Google results, rankings, local pack -> **search_serp**.
103
+ - Full SERP plus People-Also-Ask and AI-Overview detail -> **harvest_paa**.
104
+ - \`search_serp\` returns \`organicResults[].url\` (often including reddit.com threads) \u2014 feed those into
105
+ \`extract_url\` or \`reddit_thread\`.
106
+
107
+ ## Pages & sites
108
+ - One page -> **extract_url** (takes a url).
109
+ - Whole site, crawl + SEO report -> **extract_site** (takes a url).
110
+ - Just the URL list/inventory -> **map_site_urls** (takes a url).
111
+ - \`map_site_urls\` returns urls you can feed straight into \`extract_url\`.
112
+
113
+ ## Google Maps
114
+ - Find multiple places/competitors/prospects -> **maps_search** (returns \`results[]\` with name,
115
+ placeUrl, cid).
116
+ - One business deep-dive + reviews -> **maps_place_intel** (takes businessName + location, NOT an id \u2014
117
+ call it directly with a name from a \`maps_search\` result or from the user).
118
+
119
+ ## YouTube
120
+ - Find or list videos -> **youtube_harvest** (returns \`videos[].videoId\`).
121
+ - Transcribe one video -> **youtube_transcribe** (takes a videoId from \`youtube_harvest\`, or a url).
122
+
123
+ ## Facebook
124
+ - Find advertisers -> **facebook_ad_search** (returns \`advertisers[]\` with pageId, libraryId).
125
+ - One advertiser's ads -> **facebook_page_intel** (takes pageId, libraryId, or query; returns
126
+ \`ads[].videoUrl\`).
127
+ - Transcribe an ad video -> **facebook_ad_transcribe** (takes a videoUrl from \`facebook_page_intel\`).
128
+ - Transcribe an organic reel/video/post -> **facebook_video_transcribe** (takes the Facebook url directly).
129
+
130
+ ## Instagram
131
+ - Profile inventory -> **instagram_profile_content** (returns post/reel/tv urls).
132
+ - One post or reel -> **instagram_media_download** (takes a url from \`instagram_profile_content\`, or a
133
+ url the user gives).
134
+
135
+ ## Reddit
136
+ - A reddit.com thread/post URL -> **reddit_thread**. Returns the post plus its comment tree and handles
137
+ Reddit's bot wall itself (no login needed). Find threads first with \`search_serp\`.
138
+
139
+ ## Other sites & logins (browser agent)
140
+ For an arbitrary site or a logged-in dashboard with no dedicated tool, use the browser_* agent. **First
141
+ decide whether the site needs a login:**
142
+ - **Needs a login** (ChatGPT, Claude, any account) -> save it first: **browser_profile_connect** returns
143
+ an mcpscraper.dev sign-in link for the user; one profile holds MANY logins (call it again with the same
144
+ profile + a new domain to add accounts). Poll **browser_profile_list** until AUTHENTICATED, then
145
+ **browser_open** with that profile.
146
+ - **No login** -> **browser_open**, then navigate/read.
147
+
148
+ ## Workflows
149
+ Multi-step orchestrations \u2014 prefer these over hand-chaining primitives when the whole job is one of these:
150
+ - Build a local business directory for a niche across a state/region -> **directory_workflow**.
151
+ - Stand up a rank-tracking blueprint (database + cron + ingestion plan) -> **rank_tracker_workflow**.
152
+ - Find which sources an AI answer cites for a query (AEO) -> **query_fanout_workflow** (open a browser
153
+ session on chatgpt.com or claude.ai FIRST, then run it against that session).
154
+
155
+ ## Notes
156
+ - Bulk / full-site crawls: call \`extract_site\` with \`rotateProxies:true\` for blocked or rate-limited
157
+ sites. It returns a saved folder/artifact plus a summary, not the full content inline.
158
+ - Browser sessions and media transcription cost credits and take longer \u2014 prefer the cheapest tool that
159
+ answers the question (plain search/extract before browser agents).
160
+ - Large results are saved to disk or an artifact and returned as a summary plus a path; read the path for
161
+ full detail rather than expecting the whole payload inline.
122
162
  `.trim();
123
163
 
124
164
  // src/mcp/paa-mcp-server.ts
@@ -4411,4 +4451,4 @@ export {
4411
4451
  HttpMcpToolExecutor,
4412
4452
  exportFanout
4413
4453
  };
4414
- //# sourceMappingURL=chunk-FE2WC4JR.js.map
4454
+ //# sourceMappingURL=chunk-2GHI2D6Q.js.map