Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Scrapfly MCP server

Vendor MCP
Open markdown

The Scrapfly MCP connector routes your AI agent's tool calls to Scrapfly's own MCP server through Scalekit. Each user signs in to Scrapfly once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 31 tools.

Tools
31
What they doRead · write · destructive
15 · 15 · 115 read15 write1 destructive
Users sign in with
OAuth app
Your own Scrapfly MCP server app

What you can do

  • Scrape web pages: fetch any URL with JavaScript rendering, proxy country, and anti-bot settings, and return the content
  • Get past blocks: unblock protected pages with a headless browser and check whether a URL returns a captcha
  • Drive a cloud browser: open sessions, navigate, click, type, fill forms, scroll, and select options on live pages
  • Capture screenshots and page state: screenshot URLs or live sessions, take page snapshots, and read performance metrics
  • Check account usage: view plan details, remaining credits, and API key permissions

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    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. Create the Scrapfly MCP connection

    In AgentKit > Connections, create a Scrapfly MCP connection and copy its redirect URI. The name you give it is the connection_name your code passes. See Configure connections.

  4. Register an OAuth app

    Scrapfly MCP server connections use your own OAuth app. Register one with Scrapfly MCP server and add the redirect URI you copied.

    Then enter the app's Client ID and Client Secret on the Scrapfly MCP connection.

  5. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_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 Scrapfly MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'scarpflymcp_cloud_browser_performance',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • scarpflymcp_check_if_blockedCheck whether a URL returns blocked or captcha content by scraping it and analyzing the response.Read-only

    Check If Blocked

    Check whether a URL returns blocked or captcha content by scraping it and analyzing the response.

    Inputs

    contentstringrequired
    Page content (HTML/text) from a scrape result. Use raw or clean_html format for best detection accuracy.
    urlstringrequired
    Target URL to fetch or interact with.
    countrystring
    Two-letter ISO 3166-1 alpha-2 country code for the proxy exit node (e.g. US, DE, FR).default
    extraction_modelstring
    Pre-built AI extraction model to apply. Accepted values: article, event, food_recipe, hotel, product, job_posting, organization, and more.one of articleeventfood_recipehotelhotel_listingjob_listingjob_postingorganizationproductproduct_listingreal_estate_propertyreal_estate_property_listingreview_listsearch_engine_resultssocial_media_postsoftwarestockvehicle_advehicle_ad_listingdefault
    formatstring
    Output format for the scraped content. Accepted values: markdown, text, clean_html, json, raw.one of jsontextmarkdownclean_htmlrawdefault markdown
    format_optionsarray
    Additional options (only available for markdown and text formats)
    proxy_poolstring
    Proxy pool to route the request through. Accepted values: public_datacenter_pool, public_residential_pool.one of public_datacenter_poolpublic_residential_pooldefault public_datacenter_pool
    rendering_waitinteger
    Milliseconds to wait after JS rendering before returning the response.
    response_headersobject
    Response headers from the scrape result. Enables header-based antibot detection.
    status_codeinteger
    HTTP status code from the scrape result (e.g. 403, 429, 503). Defaults to 200. Improves detection accuracy.
  • scarpflymcp_cloud_browser_performanceGet Core Web Vitals and performance metrics for the current page in a cloud browser session.Read-only

    Cloud Browser Performance

    Get Core Web Vitals and performance metrics for the current page in a cloud browser session.

    Inputs

    presetstring
    No description.one of mobiledesktop
    session_idstring
    Active cloud browser session ID. Obtain from cloud_browser_open.
    timeout_msinteger
    No description.
  • scarpflymcp_cloud_browser_screenshotTake a screenshot of the current page in an active cloud browser session.Read-only

    Cloud Browser Screenshot

    Take a screenshot of the current page in an active cloud browser session.

    Inputs

    countrystring
    Two-letter ISO 3166-1 alpha-2 country code for the proxy exit node (e.g. US, DE, FR).default
    extraction_modelstring
    Pre-built AI extraction model to apply. Accepted values: article, event, food_recipe, hotel, product, job_posting, organization, and more.one of articleeventfood_recipehotelhotel_listingjob_listingjob_postingorganizationproductproduct_listingreal_estate_propertyreal_estate_property_listingreview_listsearch_engine_resultssocial_media_postsoftwarestockvehicle_advehicle_ad_listingdefault
    formatstring
    Output format for the scraped content. Accepted values: markdown, text, clean_html, json, raw.one of jsontextmarkdownclean_htmlrawdefault markdown
    format_optionsarray
    Additional options (only available for markdown and text formats)
    full_pageboolean
    Capture the full scrollable page, not just the viewport. Default: false.
    proxy_poolstring
    Proxy pool to route the request through. Accepted values: public_datacenter_pool, public_residential_pool.one of public_datacenter_poolpublic_residential_pooldefault public_datacenter_pool
    rendering_waitinteger
    Milliseconds to wait after JS rendering before returning the response.
    selectorstring
    CSS selector of an element to screenshot. If provided, only that element is captured.
    session_idstring
    Active cloud browser session ID. Obtain from cloud_browser_open.
    urlstring
    Target URL to fetch or interact with.
  • scarpflymcp_cloud_browser_sessionsList all active cloud browser sessions for the current account.Read-only

    Cloud Browser Sessions

    List all active cloud browser sessions for the current account.

    Inputs

    This tool takes no inputs.

  • scarpflymcp_get_page_urlGet the current URL of the active cloud browser session.Read-only

    Get Page Url

    Get the current URL of the active cloud browser session.

    Inputs

    dummystring
    Unused placeholder field required by the MCP protocol. Pass any string value.
  • scarpflymcp_info_accountRetrieve Scrapfly account details including plan, remaining credits, and usage limits.Read-only

    Info Account

    Retrieve Scrapfly account details including plan, remaining credits, and usage limits.

    Inputs

    dummystring
    Unused placeholder field required by the MCP protocol. Pass any string value.
  • scarpflymcp_info_api_keyRetrieve information about the current Scrapfly API key including permissions and rate limits.Read-only

    Info Api Key

    Retrieve information about the current Scrapfly API key including permissions and rate limits.

    Inputs

    dummystring
    Unused placeholder field required by the MCP protocol. Pass any string value.
  • scarpflymcp_inspect_pageInspect the current page in a cloud browser session and optionally answer a question about its content.Read-only

    Inspect Page

    Inspect the current page in a cloud browser session and optionally answer a question about its content.

    Inputs

    full_pageboolean
    No description.
    questionstring
    No description.
    session_idstring
    Active cloud browser session ID. Obtain from cloud_browser_open.