Learn how to use tools in Agno to build AI agents.
Agents use tools to take actions and interact with external systems.Tools are functions that an Agent can run to achieve tasks. For example: searching the web, running SQL, sending an email or calling APIs. You can use any python function as a tool or use a pre-built Agno toolkit.The general syntax is:
Copy
Ask AI
from agno.agent import Agentagent = Agent( # Add functions or Toolkits tools=[...],)
For more control, write your own python functions and add them as tools to an Agent. For example, here’s how to add a get_top_hackernews_stories tool to an Agent.
hn_agent.py
Copy
Ask AI
import jsonimport httpxfrom agno.agent import Agentdef get_top_hackernews_stories(num_stories: int = 10) -> str: """Use this function to get top stories from Hacker News. Args: num_stories (int): Number of stories to return. Defaults to 10. """ # Fetch top story IDs response = httpx.get('https://hacker-news.firebaseio.com/v0/topstories.json') story_ids = response.json() # Fetch story details stories = [] for story_id in story_ids[:num_stories]: story_response = httpx.get(f'https://hacker-news.firebaseio.com/v0/item/{story_id}.json') story = story_response.json() if "text" in story: story.pop("text", None) stories.append(story) return json.dumps(stories)agent = Agent(tools=[get_top_hackernews_stories], markdown=True)agent.print_response("Summarize the top 5 stories on hackernews?", stream=True)
from agno.agent import Agentfrom agno.tools.mcp import MCPToolsasync def run_mcp_agent(): # Initialize the MCP tools mcp_tools = MCPTools(command=f"uvx mcp-server-git") # Connect to the MCP server await mcp_tools.connect() agent = Agent(tools=[mcp_tools], markdown=True) await agent.aprint_response("What is the license for this project?", stream=True) ...
Learn more about MCP tools in the MCP tools guide.