mcpField
T
tavily

tavily

github.com/mathews-tomProductivity33890 installsUpdated today
Repository

About tavily

A Tavily API-powered skill for web search and URL content extraction, intended for workflows that need recent information, technical documentation, or the text of a specific page. It returns structured JSON and supports news recency filters and deep search.

Key features

  1. 01Search the web by query
  2. 02Filter news by publication date
  3. 03Deep-search technical documentation
  4. 04Extract text from a specified URL
  5. 05Return results as structured JSON

Use cases

  1. 01Find current information on a topic
  2. 02Search news from the last few days
  3. 03Retrieve full text from a given webpage
  4. 04Research a library's documentation in depth

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/mathews-tom/armory --skill tavily

After installing, type/tavilyin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

evals/
cases.yaml
scripts/
extract.mjs
search.mjs

Details

From the project README

Tavily Search

Web search and URL content extraction powered by Tavily API. Returns clean, structured results optimized for AI consumption — no HTML noise, no cookie banners, no pagination.

When to Use Tavily vs Other Tools

SituationToolReason
Need current information on a topicsearch.mjsTavily aggregates and ranks live results
Need news from the last N dayssearch.mjs --topic news --days NNews mode filters recency
Have a specific URL, need full textextract.mjsExtracts clean article content from URL
Need documentation for a librarysearch.mjs --deepDeep mode covers docs sites thoroughly
Need a static resource already knowndirect fetch or readSkip Tavily if no live lookup needed
Need multiple competing perspectivessearch.mjs -n 10Increase result count for breadth

Scripts

Both scripts exist at scripts/ and require TAVILY_API_KEY in the environment.

  • scripts/search.mjs — query-based web search
  • scripts/extract.mjs — full content extraction from a URL

Search

node {baseDir}/scripts/search.mjs "query"
node {baseDir}/scripts/search.mjs "query" -n 10
node {baseDir}/scripts/search.mjs "query" --deep
node {baseDir}/scripts/search.mjs "query" --topic news
node {baseDir}/scripts/search.mjs "query" --topic news --days 3
Search Options
OptionDefaultDescription
-n <count>5Number of results to return (max: 20). Increase for broader coverage.
--deepoffAdvanced search mode — slower but more comprehensive. Use for complex research questions, technical deep-dives, or when standard results are insufficient.
--topic <topic>generalgeneral for standard search; news for current events filtered by recency.
--days <n>—Only valid with --topic news. Limits results to articles published in the last n days.

Extract Content from URL

node {baseDir}/scripts/extract.mjs "https://example.com/article"

Use when you already have a URL and need the full page content — Tavily strips navigation, ads, and boilerplate, returning structured article text.

Output Format

Search results return a JSON array. Each result contains:

[
  {
    "title": "Article or page title",
    "url": "https://source.com/path",
    "content": "Clean text snippet (AI-optimized excerpt)",
    "score": 0.92
  }
]

score is Tavily's relevance ranking (0–1). Higher is more relevant. When parsing results, use content for summarization and url for attribution. Do not treat content as the full article — use extract.mjs on the URL if complete text is needed.

Extract output returns a single object:

{
  "url": "https://source.com/path",
  "raw_content": "Full extracted page text..."
}

Error Handling

ErrorCauseResolution
TAVILY_API_KEY not setEnvironment variable missingSet TAVILY_API_KEY before running. Get a key at https://tavily.com
401 UnauthorizedInvalid API keyVerify the key value; regenerate at Tavily dashboard if needed
429 Too Many RequestsRate limit hitReduce request frequency; free tier allows 1000 API credits/month
Empty results array []No matches foundBroaden or rephrase the query; try --deep for niche topics
ETIMEDOUT / timeoutNetwork or API latencyRetry once; --deep searches take longer (up to 30s)
Extract returns empty contentPage blocks scrapersUse a different source or fall back to a manual fetch approach

Limitations

  • Rate limits: Free tier is 1000 API credits/month. Each search costs 1 credit; --deep costs more.
  • Content freshness: Results reflect Tavily's index; very recent content (last few hours) may not appear in general mode. Use --topic news for recency-sensitive queries.
  • Result quality: Tavily optimizes for AI-readable content but cannot guarantee factual accuracy. Verify critical claims from primary sources.
  • Paywalled content: Articles behind paywalls return only the publicly accessible excerpt.
  • Non-text content: PDFs, images, and media pages extract poorly or not at all.
  • Language: Best results for English queries. Other languages are supported but result quality varies.

Comments

Markdown supported