Context Providers
Filesystem Context Provider
FilesystemContextProvider wraps a local directory and gives the agent a single `query_<id>` tool.
FilesystemContextProvider wraps a local directory and gives the agent a single query_<id> tool. A read-only sub-agent uses FileTools scoped to the root to list, search, and read files.
"""
Filesystem Context Provider
===========================
FilesystemContextProvider wraps a local directory and gives the agent
a single `query_<id>` tool. The tool routes through a read-only sub-agent
that has `FileTools` scoped to the root — list, search, and read files.
Requires: OPENAI_API_KEY
"""
from __future__ import annotations
import asyncio
from pathlib import Path
from agno.agent import Agent
from agno.context.fs import FilesystemContextProvider
from agno.models.openai import OpenAIResponses
# ---------------------------------------------------------------------------
# Create the provider
# ---------------------------------------------------------------------------
fs = FilesystemContextProvider(
id="cookbooks",
root=Path(__file__).resolve().parent,
model=OpenAIResponses(id="gpt-5.6-luna"),
)
# ---------------------------------------------------------------------------
# Create the Agent
# ---------------------------------------------------------------------------
agent = Agent(
model=OpenAIResponses(id="gpt-5.4"),
tools=fs.get_tools(),
instructions=fs.instructions(),
markdown=True,
)
# ---------------------------------------------------------------------------
# Run the Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
print(f"\nfs.status() = {fs.status()}\n")
prompt = (
"Walk me through setting up an agno context provider. Read "
"the README and a simple example in this directory, then "
"lay out the minimal steps with a short code snippet. Cite "
"the files you pulled from."
)
print(f"> {prompt}\n")
asyncio.run(agent.aprint_response(prompt))Run the Example
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activateInstall dependencies
uv pip install -U agno openaiExport your OpenAI API key
export OPENAI_API_KEY="your_openai_api_key_here"Clone Agno
Clone the pinned Agno source and run the remaining commands from its root:
git clone https://github.com/agno-agi/agno.git
cd agno
git checkout v3.0.4Run the example
Run the example from the repository root:
python cookbook/12_context/00_filesystem.pyFull source: cookbook/12_context/00_filesystem.py
Composition: LearningMachine + FileSystem, One Deliberate Order
The point of the manual door: LearningMachine, FileSystem and your own system prompt compose in one order you can read off the page.
Web Context Provider with Exa
Run WebContextProvider with ExaBackend so an agent searches and fetches web pages through Exa's search + contents API.