Skip to the page

ZeroClaw

Set ZeroClaw's web search provider to SearXNG with SpecStream's address, and web_search_tool searches the live web through the SpecStream Search API. There is no SearXNG server to run and no code to change.

SpecStream for ZeroClawAI assistants

What you need

  • ZeroClaw, with its config at ~/.zeroclaw/config.toml.
  • A SpecStream API key. New accounts start with $10 of credit, no card. Create an account.
  1. 1. Get a SpecStream key

    Get your key on the Search API screen of your SpecStream workspace.

  2. 2. Point the SearXNG provider at SpecStream

    ZeroClaw's SearXNG provider sends no key, so the key goes in the address. Under [web_search] in config.toml, set search_provider to searxng and searxng_instance_url to this address, with your key in place of YOUR_SPECSTREAM_KEY. Leave /search off the end, because ZeroClaw adds it to every request.

    max_results takes 1 to 10 and is 5 when you leave it out. A search costs the same up to 10 results, so 10 gives the agent more to read at no extra cost.

    ~/.zeroclaw/config.toml
    [web_search]
    enabled = true
    search_provider = "searxng"
    searxng_instance_url = "https://api.specstream.ai/searxng/YOUR_SPECSTREAM_KEY"
    max_results = 10
  3. 3. Or keep the key out of the file

    searxng_instance_url is not stored as a secret, so in config.toml the key sits in plain text. ZeroClaw reads any setting from a ZEROCLAW_ variable, with __ between the parts of its path. Set the address in the environment ZeroClaw starts from, and keep only search_provider = "searxng" in the file:

    Environment
    export ZEROCLAW_web_search__searxng_instance_url="https://api.specstream.ai/searxng/YOUR_SPECSTREAM_KEY"
  4. 4. Restart ZeroClaw and ask

    ZeroClaw picks the provider when it builds the tool, so restart the agent or the daemon after the change. Then ask a question that needs the web. web_search_tool returns each result's title, URL and snippet, read from SpecStream's reply.

What ZeroClaw sends

Each search is GET https://api.specstream.ai/searxng/<key>/search with q, format=json and pageno=1. The Search API answers in SearXNG's JSON shape, and ZeroClaw reads results[].title, url and content and keeps the first max_results. publishedDate is null on most results.

If searxng_instance_url is empty, the tool answers SearXNG instance URL not configured. If search_provider holds a name ZeroClaw does not know, it logs a warning and searches DuckDuckGo instead. It accepts searxng, searx, searx-ng and searx_ng.

Why not run SearXNG yourself

SearXNG is a server you install, keep running and set to answer in JSON. With the SpecStream address there is no server to host, and the results come from the most accurate web search API on SimpleQA Verified and WideSearch. The scores and the method are on the benchmarks page.

Page reading and structured data over MCP

ZeroClaw is also an MCP client, and SpecStream's MCP server gives the agent more than search. Add it with the http transport and your key in headers, which ZeroClaw stores as secrets. An agent connects only to the servers its mcp_bundles grant, so add the bundle to your agent's alias, assistant in this example, next to the bundles it already has. Then restart the session.

  • specstream__search_web answers a question from the live web with up to 10 results, each with its URL.
  • specstream__read_pages returns the main text of up to 20 pages or documents (PDF, Word, Excel) a call, read live.
  • specstream__compile and specstream__quote_capacity_work read a request for many records and price it. Both cost nothing.
  • specstream__authorize_capacity_work starts a Deep Search run only with the maximum you approved, and specstream__list_find_rows reads the rows, each value with its source URL and read time.

Approvals

MCP tool calls go through the agent's risk profile. To let searches and page reads run without a prompt, add specstream__search_web and specstream__read_pages to auto_approve in risk_profiles.<alias>, and leave specstream__authorize_capacity_work out so a paid run still asks first.

Cost

Each search through the SearXNG address is one Search API call on the fast tier, which costs a fifth of the default search's $5 per 1,000 searches of up to 10 results. ZeroClaw names no result count, so every search is billed at the base price, and a search that returns no results costs nothing. Over MCP, each page read_pages reads is $0.80 per 1,000 pages, and a page with no text is not charged. All of it comes out of your balance with no quote and no approval. New accounts start with $10 of credit, no card.

Turn it off

Set search_provider back to duckduckgo, ZeroClaw's default, and restart. Remove the specstream server from your bundles to end MCP access. To end the key's access everywhere, revoke it under Agents & API in your SpecStream workspace. Questions go to [email protected].

More

SpecStream for ZeroClaw covers what it does in ZeroClaw 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].