Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Scarpfly MCP connector

OAuth 2.1/DCR SearchAIDeveloper Tools

Connect 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

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. 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>
  3. 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.actions
    const connector = 'scarpflymcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { 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 call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'scarpflymcp_get_page_url',
    toolInput: {},
    })
    console.log(result)

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

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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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_navigate # Navigate an active cloud browser session to a new URL. 3 params

Navigate an active cloud browser session to a new URL.

Name Type Required Description
session_id string required Active cloud browser session ID. Obtain from cloud_browser_open.
url string required Target URL to fetch or interact with.
url_source string required Where this URL came from. user_prompt = user named it; page_snapshot = found in last take_snapshot; webmcp_tool = returned by a WebMCP tool. Any other provenance means the URL was invented and the call will be rejected.
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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).

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.

Name Type Required Description
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.