Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Tavily MCP server

Vendor MCP
Open markdown

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

Tools
5
What they doRead · write · destructive
5 · 0 · 05 read0 write0 destructive
Users sign in with
OAuth app
Scalekit's or your own

What you can do

  • Search the web: find current information and return snippets with their source URLs
  • Extract page content: pull the content of one or more URLs as markdown or plain text
  • Crawl and map sites: crawl a website from a starting URL and map its URL structure
  • Research a topic: run multi-source research on a question or topic

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 Tavily MCP connection

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

    Scalekit credentials are available for Tavily 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 = 'tavilymcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Tavily 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: 'tavilymcp_tavily_crawl',
    toolInput: { url: 'https://example.com/url' },
    })
    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
  • tavilymcp_tavily_crawlCrawl a website from a starting URL and extract page content with configurable depth and breadth.Read-only

    Tavily Crawl

    Crawl a website from a starting URL and extract page content with configurable depth and breadth.

    Inputs

    urlstringrequired
    The root URL to begin the crawl
    allow_externalboolean
    Whether to return external links in the final responsedefault true
    extract_depthstring
    Advanced extraction retrieves more data, including tables and embedded content, with higher success but may increase latencyone of basicadvanceddefault basic
    formatstring
    The format of the extracted web page content. markdown returns content in markdown format. text returns plain text and may increase latency.one of markdowntextdefault markdown
    include_faviconboolean
    Whether to include the favicon URL for each resultdefault false
    instructionsstring
    Natural language instructions for the crawler. Instructions specify which types of pages the crawler should return.default
    limitinteger
    Total number of links the crawler will process before stoppingdefault 50
    max_breadthinteger
    Max number of links to follow per level of the tree (i.e., per page)default 20
    max_depthinteger
    Max depth of the crawl. Defines how far from the base URL the crawler can explore.default 1
    select_domainsarray
    Regex patterns to restrict crawling to specific domains or subdomains (e.g., ^docs\.example\.com$)
    select_pathsarray
    Regex patterns to select only URLs with specific path patterns (e.g., /docs/.*, /api/v1.*)
  • tavilymcp_tavily_extractExtract raw content from one or more URLs in markdown or plain text format.Read-only

    Tavily Extract

    Extract raw content from one or more URLs in markdown or plain text format.

    Inputs

    urlsarrayrequired
    List of URLs to extract content from
    extract_depthstring
    Use 'advanced' for LinkedIn, protected sites, or tables/embedded contentone of basicadvanceddefault basic
    formatstring
    Output formatone of markdowntextdefault markdown
    include_faviconboolean
    Include favicon URLsdefault false
    include_imagesboolean
    Include images from pagesdefault false
    querystring
    Query to rerank content chunks by relevancedefault
  • tavilymcp_tavily_mapMap a website's URL structure starting from a base URL.Read-only

    Tavily Map

    Map a website's URL structure starting from a base URL.

    Inputs

    urlstringrequired
    The root URL to begin the mapping
    allow_externalboolean
    Whether to return external links in the final responsedefault true
    instructionsstring
    Natural language instructions for the crawlerdefault
    limitinteger
    Total number of links the crawler will process before stoppingdefault 50
    max_breadthinteger
    Max number of links to follow per level of the tree (i.e., per page)default 20
    max_depthinteger
    Max depth of the mapping. Defines how far from the base URL the crawler can exploredefault 1
    select_domainsarray
    Regex patterns to restrict crawling to specific domains or subdomains (e.g., ^docs\.example\.com$)
    select_pathsarray
    Regex patterns to select only URLs with specific path patterns (e.g., /docs/.*, /api/v1.*)
  • tavilymcp_tavily_researchRun comprehensive multi-source research on a topic or question.Read-only

    Tavily Research

    Run comprehensive multi-source research on a topic or question.

    Inputs

    inputstringrequired
    A comprehensive description of the research task
    modelstring
    Defines the degree of depth of the research. 'mini' is good for narrow tasks with few subtopics. 'pro' is good for broad tasks with many subtopicsone of miniproautodefault auto