Agent Web Search
Set AGENT_WEB_SEARCH_TAVILY_ENDPOINT to https://api.specstream.ai/tavily/search, put your SpecStream key in TAVILY_API_KEY and add tavily to AGENT_WEB_SEARCH_PROVIDERS. Agent Web Search's own Tavily provider then sends its searches to the SpecStream Search API, at $1 per 1,000 searches of up to 10 results. No code changes, no fork.
What you need
- Agent Web Search 0.8.1 or later (
pipx install agent-web-search-mcp), as the MCP server, the CLI or the Hermes plugin. - A SpecStream key. Get your key on the Search API screen of your SpecStream workspace. New accounts start with $10 of credit, no card.
- 1
1. Set the three variables
The Tavily provider reads
AGENT_WEB_SEARCH_TAVILY_ENDPOINTwhen it starts and posts every search to that exact address, so give the whole search address,/searchincluded. It sendsTAVILY_API_KEYas a Bearer token, which is where SpecStream reads its key.Keep
ddgs,exa,parallelin the list to add SpecStream beside the keyless defaults, or set the list totavilyalone so every query is one SpecStream search.Shell, for the CLI - 2
2. Give them to your MCP client
The MCP server reads its environment from the client that starts it. In a client that reads an
mcpServersfile, add anenvblock to theagent-web-searchentry. Keep that file out of git: the project's README asks you not to put keys in checked in MCP configuration.The CLI and the Hermes plugin read the same variables from the environment they run in. Restart the client so the server starts again with the new values.
mcpServers entry - 3
3. Check it with the Tavily provider alone
When several providers run, one that fails is left out of the reply and the others still answer, so a wrong address or key can go unnoticed. Run the CLI with only the Tavily provider and the same variables set. A working setup prints
providers.tavily.results; a problem printsall_providers_failedwithtavily HTTPand the status code. This check is one search.Terminal - 4
4. Ask your agent
The MCP server has one tool,
web_search. Itsprovidersargument can narrow a call to["tavily"], but it can't turn on a provider that isn't inAGENT_WEB_SEARCH_PROVIDERSwhen the server starts.
What the Tavily provider sends
Each search is POST on the endpoint with query, max_results (1 to 20, 5 by default), search_depth set to basic, topic set to general, and no answer, page text or images. A time_range of d, w, m or y goes as day, week, month or year, and SpecStream keeps results from that window.
SpecStream answers in Tavily's shape. Agent Web Search reads title, url, content as each result's description, and published_date as published_at when the page states its date.
When a search fails
| Message | What it means | What to do |
|---|---|---|
tavily HTTP 401 | The key is missing, unknown, expired or revoked. | Check TAVILY_API_KEY, or make a new key under Agents & API. |
tavily HTTP 432 | The balance is empty, or the call would go over the account's monthly limit. | Add balance in your SpecStream workspace. |
tavily HTTP 403 | The key has no finds:spend scope, or the call would go over the key's limit. | Raise the key's limit, or make a key that can spend. |
tavily HTTP 429 | The account used its calls for the minute, or search is busy. Nothing is charged. | Send it again after the wait. |
Cost
Each search the Tavily provider makes is one fast Search API call: $1 per 1,000 searches of up to 10 results. The default max_results of 5 stays inside that price. A call that asks for 11 to 20 results adds $0.0012. A search that returns no results costs nothing. Every call comes out of your balance with no quote and no approval, and each one is in your account's request log. New accounts start with $10 of credit, no card. See pricing.
The other providers in your list keep their own terms. ddgs and keyless exa and parallel send nothing to SpecStream.
Why this provider
The SpecStream Search API is the most accurate web search API on SimpleQA Verified and WideSearch. Scores and method are on the benchmarks page. The same key works on the other drop-in addresses, listed in drop-in search, and on the Search API itself.
Lists of records as well
Agent Web Search returns search results. For Deep Search, which returns every match on the live web as structured rows, add SpecStream to the same agent as an MCP server at https://api.specstream.ai/mcp, as in the MCP guide. Both use one account.
Turn it off
Remove tavily from AGENT_WEB_SEARCH_PROVIDERS, or delete AGENT_WEB_SEARCH_TAVILY_ENDPOINT to send the provider back to Tavily's own address, and restart the client. To end the key's access, revoke it under Agents & API in your SpecStream workspace. Questions go to [email protected].
More
SpecStream for Agent Web Search covers what it does in Agent Web Search on one page. Every other tool has its guide in Connect your tools. You see the most a request can cost before it starts, and the matches are paid from your balance. Billing has the details. For help, email [email protected].