Tavily's search, page extraction, site mapping and crawling for agents.
- Started in our test
- ★ 2.5K GitHub stars
- Last commit 22 Oct 2026
At a glance
Tavily is a search API built for AI agents, and this is the company's own server. Its search tool returns cleaned-up results with optional images and answer text, the extract tool pulls the readable content out of given pages, map lists the pages on a site, crawl walks a site and returns what it finds, and research gathers several sources into one written answer.
You need a Tavily API key, which you can get by signing up for a free account. Tavily also hosts the server at mcp.tavily.com, which you can sign into with OAuth instead of pasting a key.
- Made by
- Tavily
- Licence
- MIT
- Latest version
- 0.2.22 (5 Aug 2026)
- npm package
- tavily-mcp
- GitHub stars
- 2.5K
- Last commit
- 22 Oct 2026
- Tools
- 5
- Runs on
- Your computer or hosted
Our check: We ran this exact config on 27 Oct 2026: it started and answered with 5 tools.
What's in the pod: its tools
We found 5 tools when we started it on 27 Oct 2026. 0 only read. The rest can change things, so keep your app's "ask before each tool call" setting on for them.
Changes things5 tools · Can create, edit, send or delete.
| Tool | What it is for |
|---|---|
tavily_crawl | Crawls a site from a URL and returns the content of the pages it reaches. |
tavily_extract | Pulls the readable content out of one or more URLs as Markdown or text. |
tavily_map | Lists the pages on a site, starting from a URL. |
tavily_research | Researches a question across many sources and writes up the answer. |
tavily_search | Searches the web and returns snippets and links, with options for depth, topic, dates and images. |
Grouped and described by us. The README on GitHub lists the inputs each tool takes.
How clearly it describes its tools to your assistant
- Tools with a description
- 5 of 5
- Say if they change things
- 0 of 5
- Context it takes, at least
- ~400 tokens
No tool says whether it only reads or can change things, so your client treats them all alike: keep approvals on.
From the tool list it sent us. The token figure counts names, descriptions and input names; the full schemas your client loads add more.
Set it up
Pick your app for the exact snippet and where it goes.
Where it goes: claude_desktop_config.json (Settings → Developer → Edit Config)
{
"mcpServers": {
"tavily": {
"command": "npx",
"args": [
"-y",
"tavily-mcp@latest"
],
"env": {
"TAVILY_API_KEY": "YOUR_API_KEY"
}
}
}
}Where it goes: Your terminal, in the project folder
claude mcp add-json tavily '{"command":"npx","args":["-y","tavily-mcp@latest"],"env":{"TAVILY_API_KEY":"YOUR_API_KEY"}}'Where it goes: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
"mcpServers": {
"tavily": {
"command": "npx",
"args": [
"-y",
"tavily-mcp@latest"
],
"env": {
"TAVILY_API_KEY": "YOUR_API_KEY"
}
}
}
}Where it goes: .vscode/mcp.json in your project
{
"servers": {
"tavily": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"tavily-mcp@latest"
],
"env": {
"TAVILY_API_KEY": "YOUR_API_KEY"
}
}
}
}Where it goes: ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"tavily": {
"command": "npx",
"args": [
"-y",
"tavily-mcp@latest"
],
"env": {
"TAVILY_API_KEY": "YOUR_API_KEY"
}
}
}
}Where it goes: Not supported
ChatGPT only connects to remote servers by URL. This one runs on your computer, so use Claude, Cursor or VS Code.
Set DEFAULT_PARAMETERS in env to a JSON object, such as {"search_depth": "advanced", "max_results": 10}, to change what every search asks for.
Remote option
Hosted by Tavily. Sign in with OAuth, or add ?tavilyApiKey= with your key to the address.
https://mcp.tavily.com/mcp/New to this? See the setup guides for Claude Code, Cursor, Claude Desktop and ChatGPT.
Settings
Names are exactly as the project spells them. Required ones are marked.
| Setting | What it does |
|---|---|
TAVILY_API_KEYEnvironment variable · required | Your key from app.tavily.com.tvly-... |
DEFAULT_PARAMETERSEnvironment variable | A JSON object of defaults applied to every search. The hosted server takes the same as a header.{"search_depth": "advanced", "max_results": 10} |
TAVILY_HUMAN_IDEnvironment variable | An ID for the person the requests are for, sent to Tavily for per-user analytics. Tavily hashes it before storing it. |
?tavilyApiKey=Config | Your key as a query string on the hosted URL, for clients without OAuth or header support.https://mcp.tavily.com/mcp/?tavilyApiKey=tvly-... |
What it can touch
It can read
- The public web, through Tavily's search, extraction and crawling
It can change
- Your Tavily credit balance
Safer setup: It does not change anything outside your Tavily account. Keep crawl limits low, since large crawls use more credits.
Before you start
- A Tavily API key
- Node.js 20 or newer, for the local version
If it does not work
- Calls fail with an authentication error
- Check TAVILY_API_KEY in the env block, or the key in the hosted URL.
- The OAuth sign-in uses the wrong key
- Name the key you want mcp_auth_default in your Tavily account. A personal key with that name wins over a team key.
- OAuth gets stuck after a change
- Clear the stored tokens with rm -rf ~/.mcp-auth and sign in again.
Peas in a pod: similar servers
How Tavily MCP lines up against other browser and web data servers on the shelf.
| Server | Tools | Runs on | Licence | Stars |
|---|---|---|---|---|
| Tavily MCP | 5 | Your computer or hosted | MIT | 2.5K |
| Playwright MCP | 25 | Your computer | Apache-2.0 | 38.7K |
| Firecrawl | 28 | Your computer | MIT | 7.7K |
| Exa | 2 | Your computer or hosted | – | 5.2K |
| Bright Data | 32 | Your computer | MIT | 2.7K |
Questions
Is it free?
The server is MIT licensed. Tavily's API has a free tier, with paid plans for more use.
Local or hosted?
The tools are the same. The hosted server at mcp.tavily.com needs no Node.js and supports OAuth sign-in.
Tavily or Exa or Firecrawl?
All three search and read the web for agents. Tavily keeps it to five general tools; Firecrawl goes deeper on scraping and Exa on semantic search.
Is this the official server?
Yes. Tavily publishes it in tavily-ai/tavily-mcp.
Something wrong on this page? Tell us.
