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