Skip to content
Scalekit Docs

Connect AI agents to the Tavily MCP server

Vendor MCP5 toolsOAuth 2.1/DCRSearchAIDeveloper Tools

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.

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

    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.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_search',
    toolInput: { query: 'YOUR_QUERY' },
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

Connect this agent connector to let your agent:

  • Search tavily — Search the web for current information and return snippets with source URLs
  • Research tavily — Run comprehensive multi-source research on a topic or question
  • Map tavily — Map a website’s URL structure starting from a base URL
  • Extract tavily — Extract raw content from one or more URLs in markdown or plain text format
  • Crawl tavily — Crawl a website from a starting URL and extract page content with configurable depth and breadth

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.

tavilymcp_tavily_crawl#Crawl a website from a starting URL and extract page content with configurable depth and breadth.11 params

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

NameTypeRequiredDescription
urlstringrequiredThe root URL to begin the crawl
allow_externalbooleanoptionalWhether to return external links in the final response
extract_depthstringoptionalAdvanced extraction retrieves more data, including tables and embedded content, with higher success but may increase latency
formatstringoptionalThe format of the extracted web page content. markdown returns content in markdown format. text returns plain text and may increase latency.
include_faviconbooleanoptionalWhether to include the favicon URL for each result
instructionsstringoptionalNatural language instructions for the crawler. Instructions specify which types of pages the crawler should return.
limitintegeroptionalTotal number of links the crawler will process before stopping
max_breadthintegeroptionalMax number of links to follow per level of the tree (i.e., per page)
max_depthintegeroptionalMax depth of the crawl. Defines how far from the base URL the crawler can explore.
select_domainsarrayoptionalRegex patterns to restrict crawling to specific domains or subdomains (e.g., ^docs\.example\.com$)
select_pathsarrayoptionalRegex patterns to select only URLs with specific path patterns (e.g., /docs/.*, /api/v1.*)
tavilymcp_tavily_extract#Extract raw content from one or more URLs in markdown or plain text format.6 params

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

NameTypeRequiredDescription
urlsarrayrequiredList of URLs to extract content from
extract_depthstringoptionalUse 'advanced' for LinkedIn, protected sites, or tables/embedded content
formatstringoptionalOutput format
include_faviconbooleanoptionalInclude favicon URLs
include_imagesbooleanoptionalInclude images from pages
querystringoptionalQuery to rerank content chunks by relevance
tavilymcp_tavily_map#Map a website's URL structure starting from a base URL.8 params

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

NameTypeRequiredDescription
urlstringrequiredThe root URL to begin the mapping
allow_externalbooleanoptionalWhether to return external links in the final response
instructionsstringoptionalNatural language instructions for the crawler
limitintegeroptionalTotal number of links the crawler will process before stopping
max_breadthintegeroptionalMax number of links to follow per level of the tree (i.e., per page)
max_depthintegeroptionalMax depth of the mapping. Defines how far from the base URL the crawler can explore
select_domainsarrayoptionalRegex patterns to restrict crawling to specific domains or subdomains (e.g., ^docs\.example\.com$)
select_pathsarrayoptionalRegex patterns to select only URLs with specific path patterns (e.g., /docs/.*, /api/v1.*)
tavilymcp_tavily_research#Run comprehensive multi-source research on a topic or question.2 params

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

NameTypeRequiredDescription
inputstringrequiredA comprehensive description of the research task
modelstringoptionalDefines the degree of depth of the research. 'mini' is good for narrow tasks with few subtopics. 'pro' is good for broad tasks with many subtopics