Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Anchor Browser MCP server

Vendor MCP
Open markdown

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

Tools
25
What they doRead · write · destructive
9 · 16 · 09 read16 write0 destructive
Users sign in with
OAuth app
Scalekit's or your own

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 Anchor Browser MCP connection

    In AgentKit > Connections, create an Anchor Browser MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for Anchor Browser MCP server, so you don't need to register an OAuth app.

  4. 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 = 'anchorbrowsermcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Anchor Browser 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: 'anchorbrowsermcp_anchor_console_messages',
    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
  • anchorbrowsermcp_anchor_console_messagesReturns all console messages captured since the current page was loaded.Read-only

    Get Console Messages

    Returns all console messages captured since the current page was loaded. Use this to inspect JavaScript log output, warnings, and errors for debugging or validation purposes.

    Inputs

    This tool takes no inputs.

  • anchorbrowsermcp_anchor_generate_playwright_codeGenerate a Playwright test script for a given scenario described as a series of steps.Read-only

    Generate Playwright Code

    Generate a Playwright test script for a given scenario described as a series of steps. Provide a test name, description, and ordered list of step instructions; the tool returns runnable Playwright code. Use this to automate browser test authoring from natural language instructions.

    Inputs

    descriptionstringrequired
    The description of the test
    namestringrequired
    The name of the test
    stepsarrayrequired
    The steps of the test
  • anchorbrowsermcp_anchor_get_body_htmlGet the HTML content of the body element from the current page, or of a specific element when a selector is provided.Read-only

    Get Body HTML

    Get the HTML content of the body element from the current page, or of a specific element when a selector is provided. Useful for identifying the DOM structure and locating paths to important elements. By default, comments, scripts, styles, images, and SVGs are excluded to keep the output concise.

    Inputs

    slimResponsebooleanrequired
    Whether to exclude HTML comments, script tags, style tags, images and svgs in the output (default: true)default true
    selectorstring
    The selector of the element to be saved for example: .class-name, #id, etc.
  • anchorbrowsermcp_anchor_network_requestsReturns all network requests captured since the current page was loaded.Read-only

    List Network Requests

    Returns all network requests captured since the current page was loaded. Use this to inspect API calls, resource loads, and HTTP traffic for debugging, auditing, or understanding page behavior.

    Inputs

    This tool takes no inputs.

  • anchorbrowsermcp_anchor_pdf_saveSave the current browser page as a PDF file.Read-only

    Save Page as PDF

    Save the current browser page as a PDF file. Useful for archiving page content, generating printable reports, or capturing rendered page state as a document. An optional filename can be specified; otherwise a timestamped default is used.

    Inputs

    filenamestring
    File name to save the pdf to. Defaults to `page-{timestamp}.pdf` if not specified.
  • anchorbrowsermcp_anchor_snapshotCapture an accessibility snapshot of the current page.Read-only

    Capture Accessibility Snapshot

    Capture an accessibility snapshot of the current page. This produces a structured representation of the page's accessible elements (roles, labels, states), which is more useful than a screenshot for planning and executing further interactions. Use this to understand page structure before performing actions.

    Inputs

    This tool takes no inputs.

  • anchorbrowsermcp_anchor_tab_listList all currently open tabs in the cloud browser session, returning their indices and titles or URLs.Read-only

    List Browser Tabs

    List all currently open tabs in the cloud browser session, returning their indices and titles or URLs. Use this to inspect available tabs before selecting or closing one.

    Inputs

    This tool takes no inputs.

  • anchorbrowsermcp_anchor_take_screenshotTake a screenshot of the current browser page or a specific element.Read-only

    Take Screenshot

    Take a screenshot of the current browser page or a specific element. Returns a JPEG image by default (or PNG when raw mode is enabled). Use this to visually inspect page state; note that screenshots cannot be used as input for further actions — use anchor_snapshot instead when you need to interact with elements.

    Inputs

    elementstring
    Human-readable element description used to obtain permission to screenshot the element. If not provided, the screenshot will be taken of viewport. If element is provided, ref must be provided too.
    filenamestring
    File name to save the screenshot to. Defaults to `page-{timestamp}.{png|jpeg}` if not specified.
    rawboolean
    Whether to return without compression (in PNG format). Default is false, which returns a JPEG image.
    refstring
    Exact target element reference from the page snapshot. If not provided, the screenshot will be taken of viewport. If ref is provided, element must be provided too.