How to Configure Web Search for a navin AI Agent
navin includes built-in web search and web fetch tools. Search uses DuckDuckGo by default and can be configured for API-backed or self-hosted providers.
What you will build
- web tools enabled in navin
- one search provider selected in the WebUI or
config.json - optional web fetch settings for page reading
When to use this
Configure web search when the agent needs current information, public web research, source discovery, or page fetching during a task.
Install
python -m pip install navin-ai
navin webui # configure provider & model in the platform (Settings → Providers)
navin agent -m "Hello!"
Web tools are enabled by default. Configure them only when you want a specific provider, API key, proxy, fetch behavior, or SSRF allowlist.
Minimal working example
For local interactive setup:
- Run
navin webui. - Open Settings → Web.
- Enable web search, choose a provider, and enter its API key if required.
- Save and restart when prompted.
- Ask a question that requires current information and inspect the cited sources.
For manual or deployment-managed config, use the default search provider:
{
"tools": {
"web": {
"enable": true,
"search": {
"provider": "duckduckgo"
}
}
}
}
Or use an API-backed provider:
{
"tools": {
"web": {
"search": {
"provider": "brave",
"apiKey": "${BRAVE_API_KEY}"
}
}
}
}
Ask a question that requires current information and inspect the tool activity in the WebUI or logs.
Production notes
- Keep API keys in environment variables.
- Set
maxResultswhen you need fewer or more search results per query. - Set
tools.web.proxyonly to a proxy you trust. - Use
fetch.useJinaReader: falseif you need local page conversion.
Security notes
- Web fetch and HTTP MCP share an SSRF guard.
- Private, loopback, link-local, and cloud metadata addresses are blocked by default.
- Add
tools.ssrfWhitelistonly for narrow trusted CIDRs. - Do not give public chat users unrestricted web and shell access without review.
Troubleshooting
- If search returns no results, switch provider or check the provider API key.
- If fetch is blocked, inspect the target URL and SSRF whitelist.
- If a proxy changes network behavior, verify
NO_PROXYand proxy settings.