Skip to main content

Introduction

Agno provides a rich ecosystem of over 100 built-in tools that extend agent capabilities across various domains. Tools enable agents to interact with external APIs, services, databases, and systems to accomplish complex tasks.

What are Tools?

Tools are functions that agents can call to perform specific actions. Each tool:
  • Has a name and description that helps the agent understand when to use it
  • Accepts parameters defined by a JSON schema
  • Returns results that the agent can use in its response
  • Can be sync or async for optimal performance

Built-in Tool Categories

Search & Web Tools

DuckDuckGoTools

Web search with DuckDuckGo

TavilyTools

AI-optimized search API

BraveSearchTools

Privacy-focused search

SerperTools

Google search API

SerpApiTools

Search engine results

EXATools

Neural search engine

WebsearchTools

Multi-backend web search

LinkupTools

Link analysis

JinaTools

Reader and search API

Developer Tools

GithubTools

Repository management, PRs, issues

BitbucketTools

Bitbucket integration

LinearTools

Issue tracking

JiraTools

Project management

ClickUpTools

Task management

DaytonaTools

Development environments

ShellTools

Shell command execution

PythonTools

Python code execution

DockerTools

Container management

Data & Database Tools

PostgresTools

PostgreSQL operations

DuckDBTools

DuckDB analytics

RedshiftTools

Amazon Redshift

Neo4jTools

Graph database

SQLTools

Generic SQL operations

PandasTools

Data analysis

CSVToolkit

CSV file operations

AI & ML Tools

OpenAITools

GPT-4, DALL-E, Whisper

ReplicateTools

ML model deployment

FalTools

Fast AI inference

ModelsLabTools

Model experiments

LumalabTools

Video generation

ElevenLabsTools

Voice synthesis

CartesiaTools

Audio generation

DesiVocalTools

Indian language TTS

Communication Tools

SlackTools

Slack messaging

DiscordTools

Discord bots

TelegramTools

Telegram integration

WhatsAppTools

WhatsApp messaging

TwilioTools

SMS and voice

ResendTools

Email delivery

GmailTools

Gmail integration

WebexTools

Webex meetings

ZoomTools

Zoom meetings

Productivity Tools

NotionTools

Notion workspace

GoogleSheetsTools

Spreadsheet operations

GoogleDriveTools

File storage

GoogleCalendarTools

Calendar management

TrelloTools

Kanban boards

TodoistTools

Task management

CalComTools

Scheduling

ConfluenceTools

Wiki and docs

Financial Tools

YFinanceTools

Stock market data

OpenBBTools

Investment research

FinancialDatasetsTools

Financial data API

EVMTools

Ethereum blockchain

Web Scraping & Content Tools

FirecrawlTools

Web scraping

SpiderTools

Advanced crawling

Crawl4AITools

AI-powered crawling

BrowserbaseTools

Browser automation

AgentQLTools

DOM querying

ApifyTools

Web automation

ScrapegraphTools

Graph scraping

TrafilaturaTools

Content extraction

NewspaperTools

Article extraction

WebsiteTools

Website interactions

Knowledge & Memory Tools

KnowledgeTools

RAG knowledge base

MemoryTools

Agent memory

Mem0Tools

Memory management

ZepTools

Long-term memory

Content & Media Tools

DALLETools

Image generation

UnsplashTools

Stock photos

GiphyTools

GIF search

MoviePyTools

Video editing

OpenCVTools

Computer vision

MLXTranscribeTools

Audio transcription

Utility Tools

CalculatorTools

Math operations

FileTools

File operations

LocalFileSystemTools

File system access

EmailTools

Email utilities

APITools

Generic API calls

SleepTools

Delays and timing

VisualizationTools

Data visualization

Research & Information Tools

ArxivTools

Academic papers

PubMedTools

Medical research

WikipediaTools

Wikipedia search

HackerNewsTools

Tech news

RedditTools

Reddit posts

YoutubeTools

YouTube videos

Cloud & Infrastructure Tools

AWSLambdaTools

Serverless functions

AWSSESTools

Email service

AirflowTools

Workflow orchestration

E2BTools

Code execution sandbox

E-commerce & Business Tools

ShopifyTools

E-commerce platform

BrandfetchTools

Brand assets

ValyuTools

Business intelligence

Other Specialized Tools

OpenWeatherTools

Weather data

GoogleMapsTools

Maps and geocoding

NanoBananaTools

Mobile automation

SearcxngTools

Metasearch engine

SeltzTools

Specialized utilities

OxylabsTools

Proxy and scraping

BrightDataTools

Data collection

Tool Integration Patterns

Model Context Protocol (MCP)

Connect to any MCP server to access external tools:
from agno.agent import Agent
from agno.tools.mcp import MCPTools

agent = Agent(
    tools=[MCPTools(command="npx -y @modelcontextprotocol/server-filesystem /tmp")]
)
See the MCP Integration page for detailed usage.

Custom Tools

Create your own tools using the @tool decorator or by subclassing Toolkit:
from agno.tools import tool

@tool
def custom_function(param: str) -> str:
    """Description of what this tool does."""
    return f"Result: {param}"
See the Custom Tools page for detailed examples.

Using Tools with Agents

Basic Usage

from agno.agent import Agent
from agno.tools.yfinance import YFinanceTools

agent = Agent(
    tools=[YFinanceTools()],
    instructions="You are a financial analyst."
)

agent.print_response("What is the current price of NVDA?")

Multiple Tools

from agno.agent import Agent
from agno.tools.duckduckgo import DuckDuckGoTools
from agno.tools.yfinance import YFinanceTools

agent = Agent(
    tools=[
        DuckDuckGoTools(),
        YFinanceTools(),
    ],
    instructions="You can search the web and get financial data."
)

Selective Tool Functions

Many toolkits allow you to enable only specific functions:
from agno.tools.yfinance import YFinanceTools

# Only enable stock price and company info
tools = YFinanceTools(
    enable_stock_price=True,
    enable_company_info=True,
    enable_historical_prices=False,
)

Tool Configuration

Include/Exclude Tools

Filter which tools from a toolkit are available:
from agno.tools.github import GithubTools

# Only include specific tools
tools = GithubTools(
    include_tools=["search_repositories", "get_repository"]
)

# Exclude specific tools
tools = GithubTools(
    exclude_tools=["delete_repository", "delete_file"]
)

Tool Caching

Enable caching to avoid redundant API calls:
from agno.tools.yfinance import YFinanceTools

tools = YFinanceTools(
    cache_results=True,
    cache_ttl=3600,  # 1 hour
    cache_dir="/tmp/tool_cache"
)

Next Steps

Built-in Tools

Explore commonly used built-in tools with examples

Custom Tools

Learn how to create your own custom tools

MCP Integration

Connect to Model Context Protocol servers

Tool Cookbook

See real-world tool examples in the cookbook

Build docs developers (and LLMs) love