Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.agno.com/llms.txt

Use this file to discover all available pages before exploring further.

Search and fetch content from the web. The provider exposes one tool: query_web. You choose the backend (Exa, Parallel, or MCP).
from agno.agent import Agent
from agno.context.web import WebContextProvider, ExaBackend

web = WebContextProvider(backend=ExaBackend())

agent = Agent(
    model=...,
    tools=web.get_tools(),
)

agent.print_response("What are the latest developments in AI agents?")
WebContextProvider is read-only. There is no update_web tool.

Backends

Neural search engine. Best for semantic queries.
from agno.context.web import WebContextProvider, ExaBackend

web = WebContextProvider(backend=ExaBackend())
Requires EXA_API_KEY environment variable.

Configuration

ParameterTypeDefaultDescription
backendContextBackendrequiredSearch backend (ExaBackend, ExaMCPBackend, ParallelBackend, ParallelMCPBackend).
idstr"web"Tool becomes query_<id>.
modelModelNoneModel for the sub-agent.
modeContextModedefaultSee Mode.

Tools Exposed

ToolDescription
query_webSearch the web, fetch pages, synthesize answers with citations.

Lifecycle

WebContextProvider requires setup and teardown for the backend connection:
web = WebContextProvider(backend=ExaMCPBackend())

await web.asetup()
try:
    agent = Agent(model=..., tools=web.get_tools())
    await agent.arun("Search for...")
finally:
    await web.aclose()

Example queries

QueryWhat happens
”What is the current state of WebGPU support?”Searches, fetches recent articles, synthesizes
”Find documentation on Python 3.12 new features”Searches docs, returns summary with links
”Research competitors to Stripe Atlas”Multi-source search and synthesis

Resources

Exa Tools Reference

ExaTools methods

Cookbook Example

Working example