Scarpfly MCP connector
OAuth 2.1/DCR SearchAIDeveloper ToolsConnect to Scrapfly MCP. Scrape web pages, take screenshots, and control a cloud browser with anti-bot bypass, JS rendering, and proxy support.
Scarpfly MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'scarpflymcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Scarpfly MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'scarpflymcp_get_page_url',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "scarpflymcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Scarpfly MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="scarpflymcp_get_page_url",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Scrape web — Fetch a URL with full control over headers, JS rendering, proxy country, anti-scraping protection, and output format
- Get web, page url — Quickly fetch a URL with sensible defaults and return the page content
- Text type — Type text at the current cursor position in the active cloud browser session
- Snapshot take — Take a DOM snapshot of the current page in the cloud browser session
- Screenshot take, cloud browser — Take a screenshot of the current page in the active cloud browser session
- Option select — Select an option in a dropdown element in the active cloud browser session
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
scarpflymcp_browser_unblock
#
Unblock a URL using a headless browser with anti-scraping protection. Returns the page content after bypassing bot detection. 3 params
Unblock a URL using a headless browser with anti-scraping protection. Returns the page content after bypassing bot detection.
url string required Target URL to fetch or interact with. country string optional Two-letter ISO 3166-1 alpha-2 country code for the proxy exit node (e.g. US, DE, FR). timeout integer optional Server-side timeout in milliseconds. Use alongside rendering_wait for JS-heavy pages. scarpflymcp_call_webmcp_tool
#
Call a specific tool from a connected remote WebMCP server by name with provided input. 2 params
Call a specific tool from a connected remote WebMCP server by name with provided input.
tool_name string required Name of the WebMCP tool to call (from list_webmcp_tools) input string optional JSON-stringified parameters to pass to the tool. Omit for tools with no parameters. scarpflymcp_check_if_blocked
#
Check whether a URL returns blocked or captcha content by scraping it and analyzing the response. 10 params
Check whether a URL returns blocked or captcha content by scraping it and analyzing the response.
content string required Page content (HTML/text) from a scrape result. Use raw or clean_html format for best detection accuracy. url string required Target URL to fetch or interact with. country string optional Two-letter ISO 3166-1 alpha-2 country code for the proxy exit node (e.g. US, DE, FR). extraction_model string optional Pre-built AI extraction model to apply. Accepted values: article, event, food_recipe, hotel, product, job_posting, organization, and more. format string optional Output format for the scraped content. Accepted values: markdown, text, clean_html, json, raw. format_options array optional Additional options (only available for markdown and text formats) proxy_pool string optional Proxy pool to route the request through. Accepted values: public_datacenter_pool, public_residential_pool. rendering_wait integer optional Milliseconds to wait after JS rendering before returning the response. response_headers object optional Response headers from the scrape result. Enables header-based antibot detection. status_code integer optional HTTP status code from the scrape result (e.g. 403, 429, 503). Defaults to 200. Improves detection accuracy. scarpflymcp_click
#
Click an element in the active cloud browser session. Requires a uid obtained from take_snapshot. 1 param
Click an element in the active cloud browser session. Requires a uid obtained from take_snapshot.
uid string required Element UID from take_snapshot. Used to target a specific element for interaction. scarpflymcp_cloud_browser_close
#
Close an active cloud browser session by session ID to free up resources. 2 params
Close an active cloud browser session by session ID to free up resources.
session_id string required Active cloud browser session ID. Obtain from cloud_browser_open. user_close_request string required Verbatim quote of the user's close instruction (e.g. "close the session", "stop the browser"). Must contain at least one of: close, end, stop, terminate, dispose, shut down, kill, quit, exit, fermer, arrêter, terminer. Rejected if empty or meta-phrase. scarpflymcp_cloud_browser_downloads
#
Retrieve files downloaded during an active cloud browser session. 2 params
Retrieve files downloaded during an active cloud browser session.
filename string optional No description. session_id string optional Active cloud browser session ID. Obtain from cloud_browser_open. scarpflymcp_cloud_browser_eval
#
Fetch a URL in a cloud browser session and optionally execute JavaScript, with full scraping options available. 9 params
Fetch a URL in a cloud browser session and optionally execute JavaScript, with full scraping options available.
expression string required JavaScript expression to evaluate in the browser page. country string optional Two-letter ISO 3166-1 alpha-2 country code for the proxy exit node (e.g. US, DE, FR). extraction_model string optional Pre-built AI extraction model to apply. Accepted values: article, event, food_recipe, hotel, product, job_posting, organization, and more. format string optional Output format for the scraped content. Accepted values: markdown, text, clean_html, json, raw. format_options array optional Additional options (only available for markdown and text formats) proxy_pool string optional Proxy pool to route the request through. Accepted values: public_datacenter_pool, public_residential_pool. rendering_wait integer optional Milliseconds to wait after JS rendering before returning the response. session_id string optional Active cloud browser session ID. Obtain from cloud_browser_open. url string optional Target URL to fetch or interact with. scarpflymcp_cloud_browser_open
#
Open a cloud browser session on a URL for multi-step interaction such as clicking, filling forms, and navigating pages. 12 params
Open a cloud browser session on a URL for multi-step interaction such as clicking, filling forms, and navigating pages.
url string required Target URL to fetch or interact with. blacklist boolean optional No description. block_fonts boolean optional No description. block_images boolean optional No description. block_media boolean optional No description. block_styles boolean optional No description. cache boolean optional No description. country string optional Two-letter ISO 3166-1 alpha-2 country code for the proxy exit node (e.g. US, DE, FR). debug boolean optional No description. optimize_bandwidth boolean optional No description. proxy_pool string optional Proxy pool to route the request through. Accepted values: public_datacenter_pool, public_residential_pool. timeout integer optional Server-side timeout in milliseconds. Use alongside rendering_wait for JS-heavy pages. scarpflymcp_cloud_browser_performance
#
Get Core Web Vitals and performance metrics for the current page in a cloud browser session. 3 params
Get Core Web Vitals and performance metrics for the current page in a cloud browser session.
preset string optional No description. session_id string optional Active cloud browser session ID. Obtain from cloud_browser_open. timeout_ms integer optional No description. scarpflymcp_cloud_browser_screenshot
#
Take a screenshot of the current page in an active cloud browser session. 10 params
Take a screenshot of the current page in an active cloud browser session.
country string optional Two-letter ISO 3166-1 alpha-2 country code for the proxy exit node (e.g. US, DE, FR). extraction_model string optional Pre-built AI extraction model to apply. Accepted values: article, event, food_recipe, hotel, product, job_posting, organization, and more. format string optional Output format for the scraped content. Accepted values: markdown, text, clean_html, json, raw. format_options array optional Additional options (only available for markdown and text formats) full_page boolean optional Capture the full scrollable page, not just the viewport. Default: false. proxy_pool string optional Proxy pool to route the request through. Accepted values: public_datacenter_pool, public_residential_pool. rendering_wait integer optional Milliseconds to wait after JS rendering before returning the response. selector string optional CSS selector of an element to screenshot. If provided, only that element is captured. session_id string optional Active cloud browser session ID. Obtain from cloud_browser_open. url string optional Target URL to fetch or interact with. scarpflymcp_cloud_browser_sessions
#
List all active cloud browser sessions for the current account. 0 params
List all active cloud browser sessions for the current account.
scarpflymcp_drag
#
Drag an element to another element in the active cloud browser session. Requires uids obtained from take_snapshot. 2 params
Drag an element to another element in the active cloud browser session. Requires uids obtained from take_snapshot.
from_uid string required Element UID to drag from. Obtain via take_snapshot. to_uid string required Element UID to drag to. Obtain via take_snapshot. scarpflymcp_evaluate_script
#
Evaluate a JavaScript expression in the active cloud browser session and return the result. 1 param
Evaluate a JavaScript expression in the active cloud browser session and return the result.
expression string required JavaScript expression to evaluate scarpflymcp_fill
#
Fill a form field in the active cloud browser session. Requires a uid obtained from take_snapshot. 2 params
Fill a form field in the active cloud browser session. Requires a uid obtained from take_snapshot.
uid string required Element UID from take_snapshot. Used to target a specific element for interaction. value string required Text to fill in scarpflymcp_get_page_url
#
Get the current URL of the active cloud browser session. 1 param
Get the current URL of the active cloud browser session.
dummy string optional Unused placeholder field required by the MCP protocol. Pass any string value. scarpflymcp_hover
#
Hover over an element in the active cloud browser session. Requires a uid obtained from take_snapshot. 1 param
Hover over an element in the active cloud browser session. Requires a uid obtained from take_snapshot.
uid string required Element UID from take_snapshot. Used to target a specific element for interaction. scarpflymcp_info_account
#
Retrieve Scrapfly account details including plan, remaining credits, and usage limits. 1 param
Retrieve Scrapfly account details including plan, remaining credits, and usage limits.
dummy string optional Unused placeholder field required by the MCP protocol. Pass any string value. scarpflymcp_info_api_key
#
Retrieve information about the current Scrapfly API key including permissions and rate limits. 1 param
Retrieve information about the current Scrapfly API key including permissions and rate limits.
dummy string optional Unused placeholder field required by the MCP protocol. Pass any string value. scarpflymcp_inspect_page
#
Inspect the current page in a cloud browser session and optionally answer a question about its content. 3 params
Inspect the current page in a cloud browser session and optionally answer a question about its content.
full_page boolean optional No description. question string optional No description. session_id string optional Active cloud browser session ID. Obtain from cloud_browser_open. scarpflymcp_list_webmcp_tools
#
List all tools available on the connected remote WebMCP server. 1 param
List all tools available on the connected remote WebMCP server.
dummy string optional Unused placeholder field required by the MCP protocol. Pass any string value. scarpflymcp_press_key
#
Press a keyboard key in the active cloud browser session (e.g. Enter, Tab, Escape). 1 param
Press a keyboard key in the active cloud browser session (e.g. Enter, Tab, Escape).
key string required Key to press: Enter, Tab, Escape, ArrowDown, etc. scarpflymcp_scraping_instruction_enhanced
#
Get enhanced instructions on how to configure Scrapfly options for a specific scraping task or target site. 1 param
Get enhanced instructions on how to configure Scrapfly options for a specific scraping task or target site.
dummy string optional Unused placeholder field required by the MCP protocol. Pass any string value. scarpflymcp_screenshot
#
Take a screenshot of a URL using Scrapfly's headless browser. Supports full-page capture, custom resolution, and visual deficiency simulation. 15 params
Take a screenshot of a URL using Scrapfly's headless browser. Supports full-page capture, custom resolution, and visual deficiency simulation.
url string required Target URL to fetch or interact with. auto_scroll boolean optional If true, automatically scroll the page to load lazy content. cache boolean optional If true, enable response caching. cache_clear boolean optional If true, bypass & clear cache for this request. cache_ttl integer optional The cache time-to-live in seconds. capture string optional The capture to use for the screenshot. Either fullpage or a CSS selector country string optional Two-letter ISO 3166-1 alpha-2 country code for the proxy exit node (e.g. US, DE, FR). format string optional Image format for the screenshot. Accepted values: jpg, png, webp, gif. js string optional JavaScript code to execute on the page after load. options array optional Screenshot options to use for the screenshot. rendering_wait integer optional Milliseconds to wait after JS rendering before returning the response. resolution string optional The resolution to use for the screenshot. e.g. 1920x1080 vision_deficiency_type string optional The vision deficiency to use for the screenshot. wait_for_selector string optional CSS selector to wait for before returning the response. Use when the target content loads asynchronously. webhook string optional The webhook to call after the request completes. scarpflymcp_scroll
#
Scroll the page or a specific element in the active cloud browser session by pixel delta. 3 params
Scroll the page or a specific element in the active cloud browser session by pixel delta.
deltaX number optional Horizontal scroll pixels (optional) deltaY number optional Vertical scroll pixels (optional, e.g. 500 to scroll down) uid string optional Element UID from take_snapshot. Used to target a specific element for interaction. scarpflymcp_select_option
#
Select an option in a dropdown element in the active cloud browser session. Requires a uid obtained from take_snapshot. 2 params
Select an option in a dropdown element in the active cloud browser session. Requires a uid obtained from take_snapshot.
uid string required Element UID from take_snapshot. Used to target a specific element for interaction. value string required Option value or text to select scarpflymcp_take_screenshot
#
Take a screenshot of the current page in the active cloud browser session. 1 param
Take a screenshot of the current page in the active cloud browser session.
dummy string optional Unused placeholder field required by the MCP protocol. Pass any string value. scarpflymcp_take_snapshot
#
Take a DOM snapshot of the current page in the cloud browser session. Returns element uids needed for click, fill, hover, drag, and scroll operations. 1 param
Take a DOM snapshot of the current page in the cloud browser session. Returns element uids needed for click, fill, hover, drag, and scroll operations.
dummy string optional Unused placeholder field required by the MCP protocol. Pass any string value. scarpflymcp_type_text
#
Type text at the current cursor position in the active cloud browser session. 1 param
Type text at the current cursor position in the active cloud browser session.
text string required Text to type scarpflymcp_web_get_page
#
Quickly fetch a URL with sensible defaults and return the page content. Best for simple one-shot page retrieval. 10 params
Quickly fetch a URL with sensible defaults and return the page content. Best for simple one-shot page retrieval.
pow string required Proof-of-work token for anti-bot bypass. Use scraping_instruction_enhanced to get guidance on the correct value. url string required Target URL to fetch or interact with. capture_flags array optional Screenshot flags to use for the screenshot. capture_page boolean optional If true, also capture the page as a screenshot. country string optional Two-letter ISO 3166-1 alpha-2 country code for the proxy exit node (e.g. US, DE, FR). extraction_model string optional Pre-built AI extraction model to apply. Accepted values: article, event, food_recipe, hotel, product, job_posting, organization, and more. format string optional Output format for the scraped content. Accepted values: markdown, text, clean_html, json, raw. format_options array optional Additional options (only available for markdown and text formats) proxy_pool string optional Proxy pool to route the request through. Accepted values: public_datacenter_pool, public_residential_pool. rendering_wait integer optional Milliseconds to wait after JS rendering before returning the response. scarpflymcp_web_scrape
#
Fetch a URL with full control over headers, JS rendering, proxy country, anti-scraping protection, and output format. 26 params
Fetch a URL with full control over headers, JS rendering, proxy country, anti-scraping protection, and output format.
pow string required Proof-of-work token for anti-bot bypass. Use scraping_instruction_enhanced to get guidance on the correct value. url string required Target URL to fetch or interact with. asp boolean optional Enable Anti Scraping Protection. body string optional Request body for POST/PUT/PATCH requests. cache boolean optional Enable caching of the response. cache_clear boolean optional If true, bypass & clear cache for this URL. cache_ttl integer optional Cache TTL in seconds when cache is true. cookies string optional Cookies to send with the request. country string optional Two-letter ISO 3166-1 alpha-2 country code for the proxy exit node (e.g. US, DE, FR). extraction_model string optional Pre-built AI extraction model to apply. Accepted values: article, event, food_recipe, hotel, product, job_posting, organization, and more. extraction_prompt string optional Custom AI prompt for extracting specific data from the page. Avoid if the model can process the data directly. format string optional Output format for the scraped content. Accepted values: markdown, text, clean_html, json, raw. format_options array optional Additional options (only available for markdown and text formats) headers object optional HTTP headers to send. js string optional JavaScript code to execute on the page after load. js_scenario array optional A schema for validating a sequence of browser actions (JS Scenario) for the Scrapfly API. lang array optional Languages to use for the request (Accept-Language header). Empty for auto-detection/Proxy Location alignment method string optional HTTP method for the request. Accepted values: GET, POST, PUT, PATCH, OPTIONS, HEAD. proxy_pool string optional Proxy pool to route the request through. Accepted values: public_datacenter_pool, public_residential_pool. render_js boolean optional Enable JavaScript rendering with a headless browser. rendering_wait integer optional Milliseconds to wait after JS rendering before returning the response. retry boolean optional If false, disable automatic retry on transient errors. screenshot_flags array optional Screenshot flags to use for the screenshot. screenshots string optional Screenshots with target (fullpage, selector). Example: [{ 'name': 'my_screenshot', 'target': 'fullpage' }, { 'name': 'my_screenshot2', 'target': 'selector', 'css_selector': '#price' }] timeout integer optional Server-side timeout in milliseconds. Use alongside rendering_wait for JS-heavy pages. wait_for_selector string optional CSS selector to wait for before returning the response. Use when the target content loads asynchronously.