Tavily
Tavily is a hosted web-search API for agents, and tavily-mcp is the vendor's stdio bridge to it. It exposes five tools: search, extract, crawl, map, and research. An agent gets ranked web results and cleaned page text back as JSON instead of raw HTML, so it never has to parse a search results page itself.
How we started it
npx -y tavily-mcpUse it if you want your agent to read the live web and you're willing to pay Tavily per call. When we booted it the boot log admitted something most search servers hide: without a key it runs in keyless mode where search and extract work and the rest reply with an apology, so a first test can look healthy while crawl and map are dead. The other cost is that all five tools point at one vendor's index, so your agent's view of the web is whatever Tavily ranked that day. If you need results you can audit or self-host, skip it.
Use it if
Skip it if
The bill for your context window
| Tool | Est. tokens | Described? | Required params |
|---|---|---|---|
| tavily_search | ~723 | yes (145 chars) | 1 |
| tavily_crawl | ~484 | yes (101 chars) | 1 |
| tavily_map | ~319 | yes (83 chars) | 1 |
| tavily_extract | ~209 | yes (79 chars) | 1 |
| tavily_research | ~188 | yes (269 chars) | 1 |
Five tools weighing about 1,924 estimated tokens is a fair trade, and it sits almost exactly on the batch median, so Tavily costs you roughly what a typical server costs while doing more than most. The weight is lopsided: tavily_search alone accounts for 723 of those estimated tokens because its schema carries every filter the API supports, while tavily_research is the cheapest of the five despite having the longest description. If you only ever call search, you are still paying for crawl and map on every single turn, and there is no flag to trim the list.
Setup reality
It runs from npx with no build step, and the harness recorded no missing env vars because the server starts happily without any. That is the trap. Set TAVILY_API_KEY from your Tavily dashboard before you judge it, or you're evaluating a crippled copy. Transport is stdio, so it drops straight into a Claude Desktop or client config block with the command and args and nothing else. No OAuth, no callback URL, no local daemon.
Questions people ask
Does the Tavily MCP server work without an API key?
Partly. Our boot log shows it starting in keyless mode with search and extract available; the other tools return a message saying a key is required. Treat keyless as a smoke test, not a trial of the real thing.
How much context does tavily-mcp use?
Its tools/list payload measured 7,694 bytes, about 1,924 tokens by the chars/4 estimate, when we measured version 0.2.22 on 2026-08-19. That is the standing cost before your agent makes a single search call.
What's the difference between tavily_crawl and tavily_map?
Map returns a site's link structure; crawl fetches the pages themselves. Map first when you don't know a docs site's shape, then crawl only the branch you want, since crawling everything is how the bill grows.
Is it slow to start?
It took 6.7 seconds to initialize in our run, which is mostly npx fetching the package. Pin the version in your config or install it locally and that wait mostly disappears on later launches.
Other search servers we started
| Server | Vendor | Boots | Context tax |
|---|---|---|---|
| Brave Search (archived) | Anthropic (archived) | ✗ | ~0 tokens |
| DuckDuckGo Search | community | ✗ | ~0 tokens |
| Exa | Exa Labs | ✓ | ~534 tokens |
How this page is made: the server is spawned as an unprivileged user with a clean environment and no credentials, then asked for its tools, resources and prompts over stdio. Token figures are estimates at four characters per token, not a tokenizer count. One run, one machine. Corrections: contact the desk.