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. See Configuration for the full web_search config reference including API key storage and the provider config setting.
In automatic mode, provider fallback is:
- Exa API when
EXA_API_KEYis configured, otherwise keyless Exa MCP. - Perplexity API when
PERPLEXITY_API_KEYis configured and model-provider fallback is allowed. - Gemini API with Google Search grounding when
GEMINI_API_KEYis 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. The default provider can also be set in config as web_search.provider; the tool argument overrides it for a single call.
Search output is capped at 8 KB total, with excerpts up to 300 characters and answer text up to 2,000 characters. HTTP requests use a 10-second timeout.
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.
In auto mode (default), Kward detects HTML content and extracts readable text by stripping scripts, styles, navigation, and forms, preserving headings, paragraphs, lists, code blocks, and blockquotes. Non-HTML content is returned as cleaned text. Use markdown to format extracted headings and code blocks as Markdown, or text for plain text without formatting.
Fetches follow up to 5 redirects and use a 10-second HTTP timeout.
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.
Fetches follow up to 5 redirects and use a 10-second HTTP timeout.