Web search
Use web search when the answer depends on current or external information:
- current framework or dependency docs,
- release notes and migration guides,
- security advisories,
- pricing or provider pages,
- bug reports and issue discussions,
- a specific URL you want Kward to inspect.
Example prompts:
Check the current Rails release notes and summarize migration risks for this project.
Find the official OpenRouter docs for model configuration.
Check whether this dependency has a recent security advisory.
Read this URL and explain the setup steps: https://example.com/docs
How Kward researches
Kward has three web tools:
web_searchfinds candidate sources.fetch_contentreads human-readable pages.fetch_rawreads machine-readable files such as JSON, YAML, XML, RSS, OpenAPI specs, or plain text.
A good research flow is:
Search for the official docs, fetch the relevant page, then answer with the source URL.
Kward should search first, then fetch important pages before relying on them.
Network behavior
Web tools are advertised to the model by default. Queries and fetched URLs are sent over the network to the selected provider or target host.
In automatic mode, provider fallback is:
- Exa API when
EXA_API_KEYis configured, otherwise keyless Exa MCP. - Perplexity API when configured and model-provider fallback is allowed.
- Gemini API with Google Search grounding when configured and model-provider fallback is allowed.
- DuckDuckGo HTML search, then bundled public SearXNG instances.
You do not need an API key for basic web search, but keys can improve limits or provider choice.
Disable web tools
Hide all web tools:
{
"web_search": {
"enabled": false
}
}
Use this when working on private projects where no prompt should trigger external lookup.
Tool details
web_search
Finds candidate sources. Arguments:
queries: one to four search strings.max_results: results per query, default 5, capped at 20.provider: optionalauto,exa,perplexity,gemini, orduckduckgo.recency_filter: optionalday,week,month, oryear.domain_filter: optional domains to include, or domains prefixed with-to exclude.
fetch_content
Reads a specific HTTP or HTTPS page and extracts readable text. Use it for docs pages, articles, issues, and release notes.
Arguments:
urlmax_bytes: default 16384, capped at 131072.extract: optionalauto,text, ormarkdown.
fetch_raw
Reads a specific HTTP or HTTPS resource without readability extraction. Use it for JSON, YAML, XML, RSS, OpenAPI specs, and plain text.
Arguments:
urlmax_bytes: default 16384, capped at 131072.accept: optional HTTPAcceptheader.