tavily-search
Search the web with Tavily and return ranked results, optionally with an AI-generated answer and raw page content.
daysqueryrequiredtopicmax_resultssearch_depthinclude_answerexclude_domainsinclude_domainsinclude_raw_content
io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Oct 31, 2026
Web search, page extraction, crawling, and site mapping powered by the Tavily API.
Tavily-powered research server that lets an assistant search the web, extract page text, crawl sites and map their URL structure.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
researchsearch is a research desk for the web, powered by the Tavily API. It searches with ranked, content-bearing results (and an optional generated answer), pulls the clean text out of specific pages, crawls a site page by page under limits you set, and maps a site's structure so you can see what is there before you read it. It works from the command line or as an MCP server for agents.
A Tavily API key is required. Put it in the TAVILY_API_KEY
environment variable; without it, every operation stops with an error
that names the missing variable, before any request is made.
Or run the container image:
The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.
Exit codes: 0 on success, 1 when an operation fails (a missing
TAVILY_API_KEY, an HTTP error from the service, an unreachable host),
2 for usage errors.
One bin serves both faces. The mcp subcommand starts a stdio MCP
server:
MCP client configuration:
Each tool is one call to the matching Tavily API endpoint. Only the parameters you set are sent — unset optionals are omitted so the service applies its own defaults — and each response is the service's JSON, passed back unchanged.
MIT — see LICENSE.
Source: README.md at commit c9edaa2
Search the web with Tavily and return ranked results, optionally with an AI-generated answer and raw page content.
daysqueryrequiredtopicmax_resultssearch_depthinclude_answerexclude_domainsinclude_domainsinclude_raw_contentExtract clean content from one or more web pages with Tavily.
urlsrequiredqueryextract_depthinclude_imagesCrawl a website from a starting URL with Tavily, extracting content from the pages it visits.
urlrequiredlimitmax_depthmax_breadthinstructionsextract_depthMap a website's structure with Tavily, returning the URLs reachable from a starting page.
urlrequiredlimitmax_depthmax_breadthinstructions90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
export TAVILY_API_KEY="tvly-..."npx @reneturcios/researchsearch search "composting basics"docker run -i -e TAVILY_API_KEY="tvly-..." ghcr.io/cloudcorprecords/researchsearch# Search; results print as JSONresearchsearch search "composting basics"researchsearch search "rate decision" --topic news --days 3 --max-results 5 --answer
# Extract the clean content of one or more pagesresearchsearch extract https://example.com/articleresearchsearch extract https://example.com/a https://example.com/b --depth advanced
# Crawl a site from a starting pageresearchsearch crawl https://example.com --max-depth 2 --limit 25researchsearch crawl https://example.com --instructions "Focus on the guides"
# Map a site's structure (URLs only, no page content)researchsearch map https://example.com --max-depth 1 --limit 50
researchsearch --versionnpx -y @reneturcios/researchsearch mcp{ "mcpServers": { "researchsearch": { "command": "npx", "args": ["-y", "@reneturcios/researchsearch", "mcp"], "env": { "TAVILY_API_KEY": "tvly-..." } } }}npm installnpm run build # tsc -> dist/npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)npm run dev # run the CLI from source via tsx