tavily-mcp

📁 darraghh1/my-claude-setup 📅 9 days ago
8
总安装量
8
周安装量
#35992
全站排名
安装命令
npx skills add https://github.com/darraghh1/my-claude-setup --skill tavily-mcp

Agent 安装分布

claude-code 8
mcpjam 6
kilo 6
junie 6
windsurf 6
zencoder 6

Skill 文档

Tavily Web Search & Research

You are an expert at using the Tavily MCP server for web search, content extraction, site crawling, and multi-source research. Tavily provides high-quality, AI-optimized search results and deep content extraction.

Critical: These Are Direct Tool Calls

MCP tools are direct tool calls — exactly like Read, Grep, or Bash. They are NOT CLI commands.

CORRECT — call the tool directly:

Tool: mcp__tavily__tavily_search
Parameters: { "query": "Next.js 15 server actions best practices 2026" }

WRONG — do NOT shell out:

Bash: claude mcp call tavily tavily_search ...  # This does not work

All Tavily MCP tools use the mcp__tavily__ prefix.

Critical: Output Size Awareness

Tool Output Size Cost Notes
tavily_search (basic) Small-Medium Low 5-10 results with snippets
tavily_search (advanced) Medium Medium More results, deeper analysis
tavily_extract Medium-Large Medium Full page content — scales with page size
tavily_crawl Large-Very Large High Multiple pages — scales with depth/breadth settings
tavily_map Medium Low URL list only (no content)
tavily_research Very Large Very High Multi-source synthesis — use sparingly

Start with tavily_search for most questions. Only escalate to tavily_research for comprehensive multi-source analysis.

Workflow 1: Quick Search

Trigger: User asks a factual question, needs current information, or wants a quick answer.

Steps

  1. Search with targeted query:

    tavily_search({
      query: "Supabase RLS best practices 2026",
      search_depth: "basic"
    })
    
  2. If results are insufficient, try advanced search:

    tavily_search({
      query: "Supabase RLS best practices 2026",
      search_depth: "advanced"
    })
    
  3. Optionally filter by domain:

    tavily_search({
      query: "Next.js middleware",
      include_domains: ["nextjs.org", "vercel.com"]
    })
    

Workflow 2: Extract Content from URL

Trigger: User provides a URL and wants its content, or search results point to a page needing deeper extraction.

Steps

  1. Extract page content:

    tavily_extract({
      urls: ["https://example.com/article"],
      extract_depth: "basic"
    })
    
  2. For protected sites or complex pages (tables, dynamic content):

    tavily_extract({
      urls: ["https://example.com/pricing"],
      extract_depth: "advanced"
    })
    

Note: tavily_extract can handle multiple URLs in parallel — pass them all in the urls array.

Workflow 3: Site Discovery & Crawling

Trigger: User says “explore this site”, “what pages does this site have?”, “crawl the docs”, “map the site structure”

Steps

  1. Map the site first (URL structure only, no content):

    tavily_map({
      url: "https://docs.example.com",
      max_depth: 2,
      max_urls: 50
    })
    
  2. Then crawl specific sections (full content):

    tavily_crawl({
      url: "https://docs.example.com/guides",
      max_depth: 1,
      max_breadth: 10
    })
    

Key Patterns

  • Always tavily_map before tavily_crawl — understand structure first, then extract content
  • tavily_crawl defaults: max_depth: 1, max_breadth: 20 — increase carefully
  • Crawling entire sites is expensive — target specific sections

Workflow 4: Deep Research

Trigger: User says “research this topic thoroughly”, “give me a comprehensive analysis”, “compare options for X”

Steps

  1. Start with a search to gauge complexity:

    tavily_search({ query: "...", search_depth: "advanced" })
    
  2. If a single search isn’t enough, use research:

    tavily_research({
      query: "Comprehensive comparison of Supabase vs Firebase for multi-tenant SaaS in 2026",
      max_results: 10
    })
    

Use tavily_research sparingly — it makes multiple internal requests and produces very large output. Most questions are answered by tavily_search alone.

Decision Tree

User Needs Best Tool Why
Quick factual answer tavily_search (basic) Fast, low cost
Thorough search results tavily_search (advanced) More results, deeper snippets
Content from a specific URL tavily_extract Direct page content
Site structure overview tavily_map URL list only, no content
Multiple pages from a site tavily_crawl Follows links, extracts content
Comprehensive multi-source analysis tavily_research Multi-source synthesis (expensive)

Search Tips

  • Include the year for current info: “React server components 2026” not just “React server components”
  • Use include_domains to target authoritative sources: ["nextjs.org", "supabase.com"]
  • Use exclude_domains to filter noise: ["medium.com", "w3schools.com"]
  • Be specific: “Supabase RLS policies for multi-tenant SaaS with account_id” beats “Supabase security”

Troubleshooting

Search Returns Outdated Results

  1. Add the current year to your query: “topic 2026”
  2. Use search_depth: "advanced" for better results
  3. Use include_domains to target official docs or recent sources

Extract Returns Empty or Partial Content

  1. Try extract_depth: "advanced" for JavaScript-rendered pages
  2. Some sites block extraction — fall back to WebFetch or browser_navigate (Playwright MCP)
  3. Check if the URL requires authentication — Tavily cannot access authenticated content

Crawl Produces Too Much Output

  1. Reduce max_depth (default 1 is usually sufficient)
  2. Reduce max_breadth (default 20 — try 5-10 for targeted crawls)
  3. Use tavily_map first to identify the specific URLs you need, then tavily_extract those URLs directly

Research Takes Too Long

tavily_research makes multiple internal API calls. If it’s too slow:

  1. Use tavily_search with search_depth: "advanced" instead
  2. Run multiple targeted tavily_search calls in parallel
  3. Only use tavily_research when comprehensive synthesis is truly needed