tavily-mcp
io.github.tavily-ai/tavily-mcp
About tavily-mcp
tavily-mcp is an MCP server published by the GitHub account tavily-ai. MCP server for advanced web search using Tavily
It runs on your own machine: your AI client starts it from the npm package tavily-mcp at version 0.2.15.
It asks for one secret: TAVILY_API_KEY. Give it a key with the least access that still works.
Version 0.2.15 was published on 26 January 2026, and the source code is public, so you can read it before installing.
Written from the registry entry. 9 automated checks on the registry entry and the package code: 7 pass, 0 warn, 0 fail, 2 info. How we check.
What it asks for
| Variable | Required | Secret | Description |
|---|---|---|---|
TAVILY_API_KEY | Yes | Yes | Your Tavily API key from tavily.com |
DEFAULT_PARAMETERS | No | No | JSON string with default search parameters (e.g., {"include_images": true, "max_results": 15}) |
Checks
| Check | Result | Detail |
|---|---|---|
| Source repository linked | Pass | https://github.com/tavily-ai/tavily-mcp |
| Version pinned | Pass | Every package has an explicit version |
| Secrets requested | Info | Asks for 1 secret: TAVILY_API_KEY |
| Known package registry | Pass | All packages come from npm, PyPI, OCI, NuGet or MCPB |
| Namespace ownership | Info | Name verified via GitHub account tavily-ai |
| Registry text aimed at the AI | Pass | Description and settings contain no hidden characters or instructions to the AI |
| Install scripts | Pass | tavily-mcp@0.2.15 runs nothing at install |
| Code red flags | Pass | Read 3 files in tavily-mcp@0.2.15: no obfuscation, encoded execution, credential reads or data-collection endpoints found |
| Text aimed at the AI | Pass | No hidden characters or instructions to the AI in 3 files, including comments and the README |
Code review: Pass
We read all 667 lines in 1 files of tavily-mcp 0.2.15 on 2026-10-31, without running it.
Tavily gives the AI web search, page extraction, site crawling and site mapping. Every request goes only to Tavily's API with your search text or URLs and your Tavily API key; the actual web fetching happens on Tavily's servers. It reads no files apart from an optional .env and runs no commands.
What we found
- Info The API key is sent twice per request (Authorization header and api_key body field), both only to api.tavily.com over HTTPS.
build/index.js:35,466,507,525,543 - Info DEFAULT_PARAMETERS env JSON silently overrides model-chosen search parameters (search tool only); invalid JSON is echoed in a console warning.
build/index.js:61-73,469-473 - Info dotenv reads .env from the current working directory, so a .env in the folder the client starts it from can set TAVILY_API_KEY.
build/index.js:10 - Info Server reports version 0.2.10 although the package is 0.2.15; cosmetic.
build/index.js:25 - Info The manifest file was not in the reviewed tree; dependencies listed are inferred from import statements. None look unusual or typosquatted for the job.
package.json/pyproject
| Talks to | api.tavily.com (/search, /extract, /crawl, /map): query / URLs / crawl instructions and options; TAVILY_API_KEY both as Bearer header and as api_key in the JSON body; X-Client-Source: MCP (only when a tool is called) |
|---|---|
| Keys and settings | TAVILY_API_KEY: api.tavily.com (Authorization header and request body)DEFAULT_PARAMETERS: local; JSON that overrides tavily_search parameters before sending |
| Files on your machine | dotenv loads a .env file from the working directory at startup (index.js:10). No other file access. URLs to crawl/extract are fetched by Tavily's servers, not locally, so there is no local SSRF. |
| Runs programs | None. |
| Telemetry | None. |
| Tools | tavily_search, tavily_extract, tavily_crawl, tavily_map |
| Tool descriptions | clean. No hidden or invisible text, no cross-tool instructions. |
This covers the package's own code only, not the 4 packages it depends on (@modelcontextprotocol/sdk, axios, dotenv, yargs). A new version drops this review until we read it again.
Popularity & health: 82 / 100
Worked out from public numbers and our own checks, not from user reviews or ratings. It says how used and how looked-after a server is, not whether it is safe.
308 forks, 89 merged pull requests. Sources: GitHub, npm, PyPI (pypistats.org) and Hacker News (Algolia), fetched 2026-10-31.
What people say
No Hacker News threads link to its source code.
Look further: search Reddit, search Hacker News, read its GitHub issues. These are not reviews we checked.
Facts
| Registry name | io.github.tavily-ai/tavily-mcp |
|---|---|
| Publisher | GitHub account tavily-ai |
| How the name is verified | Name verified via GitHub account tavily-ai. The registry ties the name prefix to that account or domain; it does not check the code. |
| Type | Local: runs on your machine from a package |
| Packages | npm tavily-mcp 0.2.15 (stdio) |
| Version | 0.2.15 |
| Published | |
| Last updated | |
| Source repository | https://github.com/tavily-ai/tavily-mcp |
| Website | None linked |
| Category | Search & web (assigned by keyword rule, not by hand) |