Multi-tools Usage

Combine WebSearchTools and YFinanceTools in one agent to produce a streamed NVDA report from news and financials.

You can enable multiple AI tools and allow a single Agno agent to become a multi-functional problem solver. You can equip an agent with a variety of individual functions, specialized toolkits, or even entire external servers via the Model Context Protocol (MCP).

Prerequisites

  • Install and set up individual AI tools. For example, to use YFinance tools, OpenAIChat and WebSearch, you need to install these packages.

uv pip install -U agno openai ddgs yfinance

Export your OpenAI API key: export OPENAI_API_KEY=your_openai_key.


from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.websearch import WebSearchTools
from agno.tools.yfinance import YFinanceTools

# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------


agent = Agent(
    model=OpenAIChat(id="gpt-4o"),
    tools=[WebSearchTools(), YFinanceTools()],
    instructions=["Use tables to display data"],
    markdown=True,
)

# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    agent.print_response(
        "Write a thorough report on NVDA, get all financial information and latest news",
        stream=True,
    )

YFinanceTools() exposes only the current-price tool by default. For the report requested here, replace it with YFinanceTools(enable_company_info=True, enable_stock_fundamentals=True, enable_income_statements=True, enable_key_financial_ratios=True). News search comes from WebSearchTools; results and financial fields depend on provider availability.

Run the Example

# Clone and setup repo
git clone https://github.com/agno-agi/agno.git
cd agno
git checkout d703c34f3abf3c41275d3fb2da6e0518a8881f24

# Create and activate virtual environment
./scripts/demo_setup.sh
source .venvs/demo/bin/activate

python cookbook/91_tools/multiple_tools.py

For details, see Multiple tool cookbook.