unlimited-tavily-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@unlimited-tavily-mcpSearch the web for today's top technology headlines"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
unlimited-tavily-mcp
A local Model Context Protocol server that fronts the official Tavily remote MCP and spreads your tool calls across multiple API keys.
One Tavily key hits its rate limit? The proxy moves to the next one, transparently.
How it works
Round-robin — each call goes to the next ready key in the pool.
Rate-limited keys (429/432) enter a cooldown and rejoin automatically. 432 is Tavily's plan usage-limit status (
This request exceeds your plan's set usage limit) — it is treated like a rate limit because other keys in the pool usually still have quota. ARetry-Afterheader from Tavily is honored when present.Invalid keys (401/403) are disabled for the lifetime of the process.
No blind retries — ambiguous network and server errors are returned as-is so paid operations (search, extract, crawl) are never duplicated.
Live key reload — add a key to the keys file while the server runs; it joins the pool without a restart. Keys are identified only by a short SHA-256 fingerprint; they are never logged.
Full tool pass-through —
tavily_search,tavily_extract,tavily_crawl,tavily_map,tavily_research, including progress notifications for long research calls.
Related MCP server: tavily-proxy-mcp
Requirements
Bun — it runs the TypeScript source directly, no build step needed.
One or more Tavily API keys.
Setup
git clone https://github.com/d1alect-tech/unlimited-tavily-mcp.git
cd unlimited-tavily-mcp
bun installCreate the keys file (default location: ~/.config/opencode/secrets/tavily.keys):
mkdir -p ~/.config/opencode/secrets
cp tavily.keys.example ~/.config/opencode/secrets/tavily.keysPut one key per line. Blank lines and # comments are ignored. Duplicates are dropped.
Use with OpenCode
Add the block from opencode.example.jsonc to your opencode.jsonc, pointing the second command argument at your checkout:
"mcp": {
"tavily": {
"type": "local",
"command": ["bun", "/absolute/path/to/unlimited-tavily-mcp/src/index.ts"],
"enabled": true,
"timeout": 970000
}
}Configuration
Environment variable | Default | Purpose |
|
| Path to the key pool file |
|
| Upstream MCP endpoint (HTTPS enforced) |
Run standalone (speaks MCP over stdio, so any MCP client works):
bun src/index.tsDevelopment
bun run test # type-checks and runs the node:test suite (30 tests)Security
Keys are read from a file outside the repo and never appear in logs — a tvly-* redactor guards every error path. See SECURITY.md.
License
This server cannot be deployed
Maintenance
Related MCP Connectors
The OpenRouter for tools. One MCP connection gives any AI agent 254 hosted tools, pay per call.
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
Official SerpApi MCP server for Google, Bing, and other search engines.
Related MCP Servers
- AlicenseBqualityDmaintenanceA local MCP server that exposes Tavily search as a tool and rotates across multiple API keys for reliability.1MIT
- AlicenseAqualityAmaintenanceA proxy MCP server that connects to Tavily's official Streamable HTTP MCP, managing multiple API keys and automatically switching to the next one when the current key's quota is exhausted.54 npm1MIT
- FlicenseNot gradedqualityDmaintenanceA Cloudflare Worker that proxies requests to the Tavily API with automatic key rotation from a pool, providing search, extract, crawl, and map tools via MCP.22-
- FlicenseNot gradedqualityBmaintenanceA Cloudflare Worker that proxies the Tavily API through MCP, offering search, extract, crawl, and map tools with automatic API key rotation and health-based routing.3-