Tools are functions that helps Agno Agents to interact with the external world.
Tools make agents - “agentic” by enabling them to interact with external systems like searching the web, running SQL, sending an email or calling APIs.Agno comes with 80+ pre-built toolkits, but in most cases, you will write your own tools. The general syntax is:
import randomfrom agno.agent import Agentfrom agno.models.openai import OpenAIChatfrom agno.tools import tool@tool(show_result=True, stop_after_tool_call=True)def get_weather(city: str) -> str: """Get the weather for a city.""" # In a real implementation, this would call a weather API weather_conditions = ["sunny", "cloudy", "rainy", "snowy", "windy"] random_weather = random.choice(weather_conditions) return f"The weather in {city} is {random_weather}."agent = Agent( model=OpenAIChat(id="gpt-4o-mini"), tools=[get_weather], markdown=True,)agent.print_response("What is the weather in San Francisco?", stream=True)
In the example above, the get_weather function is a tool. When it is called, the tool result will be shown in the output because we set show_result=True.Then, the Agent will stop after the tool call because we set stop_after_tool_call=True.
The Toolkit class provides a way to manage multiple tools with additional control over their execution. You can specify which tools should stop the agent after execution and which should have their results shown.
from agno.agent import Agentfrom agno.models.openai import OpenAIChatfrom agno.tools.googlesearch import GoogleSearchToolsagent = Agent( model=OpenAIChat(id="gpt-4.5-preview"), tools=[ GoogleSearchTools( stop_after_tool_call_tools=["google_search"], show_result_tools=["google_search"], ) ], show_tool_calls=True,)agent.print_response("What's the latest about gpt 4.5?", markdown=True)
In this example, the GoogleSearchTools toolkit is configured to stop the agent after executing the google_search function and to show the result of this function.Read more about:
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Agno","colors":{"primary":"#FF4017","light":"#FF4017","dark":"#FF4017"},"logo":{"light":"https://mintcdn.com/agno/QZOB15dhrj4yAmBd/logo/black.svg?fit=max\u0026auto=format\u0026n=QZOB15dhrj4yAmBd\u0026q=85\u0026s=0ba9fbc41180e137818459edce954a48","dark":"https://mintcdn.com/agno/QZOB15dhrj4yAmBd/logo/white.svg?fit=max\u0026auto=format\u0026n=QZOB15dhrj4yAmBd\u0026q=85\u0026s=cc65cdfdc78638474d1c108480698d29"},"favicon":"/favicon.png","background":{"color":{"light":"#FFFFFF","dark":"#111113"}},"navbar":{"links":[{"label":"Discord","href":"https://agno.link/discord"},{"label":"Community","href":"https://community.agno.com/"}],"primary":{"type":"github","href":"https://github.com/agno-agi/agno"}},"footer":{"socials":{"x":"https://x.com/AgnoAgi","github":"https://github.com/agno-agi/agno","discord":"https://agno.link/discord","youtube":"https://agno.link/youtube","website":"https://agno.com"}},"fonts":{"heading":{"family":"Inter","weight":750},"body":{"family":"Inter","weight":400}},"integrations":{"posthog":{"apiKey":"phc_MjuWiUsZe9racJUG1IpiikP0gPInPwL0206gjfsBWSk"}},"banner":{"content":"You are viewing v1 docs. For the latest documentation, visit [docs.agno.com](https://docs.agno.com)","dismissible":true},"contextual":{"options":["copy","view","chatgpt","claude"]},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"agno","hasAudioNarration":false,"actualSubdomain":"agno","customDomains":["docs-v1.agno.com"],"gitSource":{"type":"github","owner":"agno-agi","repo":"agno-docs-v1","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21f61f52911a466b87d396","collectionId":"d9a42b83-85e4-4208-af5f-52ac21b1a434","schemaVersion":"v2"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6a21f61f52911a466b87d396:success","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"Examples","count":737},{"language":"default","tag":"Models","count":305},{"language":"default","tag":"User Guide","count":292},{"language":"default","tag":"Agent Concepts","count":284},{"language":"default","tag":"Concepts","count":268},{"language":"default","tag":"Tools","count":200},{"language":"default","tag":"API reference","count":125},{"language":"default","tag":"Reference","count":125},{"language":"default","tag":"Toolkits","count":89},{"language":"default","tag":"Knowledge","count":73}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#banner p{font-weight:500}#banner a{text-decoration:underline;text-decoration-color:#fff}"}],"page":{"pagePath":"tools/introduction","slug":"/tools/introduction","pageMetadata":{"title":"What are Tools?","sidebarTitle":"Overview","description":"Tools are functions that helps Agno Agents to interact with the external world.","href":"/tools/introduction"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Tools are functions that helps Agno Agents to interact with the external world.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Tools make agents - “agentic” by enabling them to interact with external systems like searching the web, running SQL, sending an email or calling APIs.`}),`\n`,_jsx(_components.p,{children:`Agno comes with 80+ pre-built toolkits, but in most cases, you will write your own tools. The general syntax is:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`23`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`23`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` random`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agno.agent `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Agent`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agno.models.openai `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OpenAIChat`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agno.tools `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` tool`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`@tool`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`show_result`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`stop_after_tool_call`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`def`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` get_weather`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`city`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) -> `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\"\"Get the weather for a city.\"\"\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # In a real implementation, this would call a weather API`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` weather_conditions `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"sunny\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"cloudy\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"rainy\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"snowy\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"windy\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` random_weather `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` random.choice(weather_conditions)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The weather in `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`city`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` is `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`random_weather`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`.\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`agent `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Agent(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`OpenAIChat(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gpt-4o-mini\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tools`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[get_weather],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` markdown`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`agent.print_response(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"What is the weather in San Francisco?\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`stream`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`]})})}),`\n`,_jsxs(Tip,{children:[_jsxs(_components.p,{children:[`In the example above, the `,_jsx(_components.code,{children:`get_weather`}),` function is a tool. When it is called, the tool result will be shown in the output because we set `,_jsx(_components.code,{children:`show_result=True`}),`.`]}),_jsxs(_components.p,{children:[`Then, the Agent will stop after the tool call because we set `,_jsx(_components.code,{children:`stop_after_tool_call=True`}),`.`]})]}),`\n`,_jsx(Heading,{level:`3`,id:`using-the-toolkit-class`,children:`Using the Toolkit Class`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`Toolkit`}),` class provides a way to manage multiple tools with additional control over their execution. You can specify which tools should stop the agent after execution and which should have their results shown.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`16`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`16`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agno.agent `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Agent`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agno.models.openai `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OpenAIChat`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agno.tools.googlesearch `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` GoogleSearchTools`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`agent `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Agent(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`OpenAIChat(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gpt-4.5-preview\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tools`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` GoogleSearchTools(`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` stop_after_tool_call_tools`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"google_search\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` show_result_tools`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"google_search\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` show_tool_calls`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`agent.print_response(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"What's the latest about gpt 4.5?\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`markdown`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`In this example, the `,_jsx(_components.code,{children:`GoogleSearchTools`}),` toolkit is configured to stop the agent after executing the `,_jsx(_components.code,{children:`google_search`}),` function and to show the result of this function.`]}),`\n`,_jsx(_components.p,{children:`Read more about:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/tools/toolkits`,children:`Available Toolkits`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/tools/tool-decorator`,children:`Using functions as tools`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"What are Tools?","sidebarTitle":"Overview","description":"Tools are functions that helps Agno Agents to interact with the external world.","href":"/tools/introduction"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Using the Toolkit Class","slug":"using-the-toolkit-class","depth":3,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"agno","siteName":"Agno","title":"What are Tools? - Agno","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T05:50:47.571Z","originalFileLocation":"tools/introduction.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Tools are functions that helps Agno Agents to interact with the external world.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Agno\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/agno/1IeQnW4BtURu6duG/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/agno/1IeQnW4BtURu6duG/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/agno/1IeQnW4BtURu6duG/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/agno/1IeQnW4BtURu6duG/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/agno/1IeQnW4BtURu6duG/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/agno/1IeQnW4BtURu6duG/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/agno/1IeQnW4BtURu6duG/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/agno/1IeQnW4BtURu6duG/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/agno/1IeQnW4BtURu6duG/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"What are Tools? - Agno\">\u003cmeta data-mint-head property=\"og:description\" content=\"Tools are functions that helps Agno Agents to interact with the external world.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Agno\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs-v1.agno.com/tools/introduction\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://agno.mintlify.app/_mintlify/api/og/v2?division=Tools\u0026amp;title=What+are+Tools%3F\u0026amp;description=Tools+are+functions+that+helps+Agno+Agents+to+interact+with+the+external+world.\u0026amp;theme=e38b262bc1335eecb906c7a3\u0026amp;signature=8d3aeca2dddc4ed48f6996c08eae01d6b1d453e5d3c60975fee5f888ef99784d\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"What are Tools? - Agno\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Tools are functions that helps Agno Agents to interact with the external world.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://agno.mintlify.app/_mintlify/api/og/v2?division=Tools\u0026amp;title=What+are+Tools%3F\u0026amp;description=Tools+are+functions+that+helps+Agno+Agents+to+interact+with+the+external+world.\u0026amp;theme=e38b262bc1335eecb906c7a3\u0026amp;signature=8d3aeca2dddc4ed48f6996c08eae01d6b1d453e5d3c60975fee5f888ef99784d\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/agno/1IeQnW4BtURu6duG/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Agno\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF4017\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs-v1.agno.com/tools/introduction\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/tools/introduction.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs-v1.agno.com/#organization\",\"name\":\"Agno\",\"url\":\"https://docs-v1.agno.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/agno/QZOB15dhrj4yAmBd/logo/black.svg?fit=max\u0026auto=format\u0026n=QZOB15dhrj4yAmBd\u0026q=85\u0026s=0ba9fbc41180e137818459edce954a48\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs-v1.agno.com#website\",\"name\":\"Agno\",\"url\":\"https://docs-v1.agno.com\",\"publisher\":{\"@id\":\"https://docs-v1.agno.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs-v1.agno.com/tools/introduction#webpage\",\"url\":\"https://docs-v1.agno.com/tools/introduction\",\"name\":\"What are Tools?\",\"description\":\"Tools are functions that helps Agno Agents to interact with the external world.\",\"dateModified\":\"2026-01-07T05:50:47.571Z\",\"isPartOf\":{\"@id\":\"https://docs-v1.agno.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs-v1.agno.com/tools/introduction#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs-v1.agno.com/tools/introduction#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Concepts\",\"item\":\"https://docs-v1.agno.com/agents/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What are Tools?\",\"item\":\"https://docs-v1.agno.com/tools/introduction\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs-v1.agno.com/tools/introduction#article\",\"headline\":\"What are Tools?\",\"name\":\"What are Tools?\",\"description\":\"Tools are functions that helps Agno Agents to interact with the external world.\",\"url\":\"https://docs-v1.agno.com/tools/introduction\",\"mainEntityOfPage\":{\"@id\":\"https://docs-v1.agno.com/tools/introduction#webpage\"},\"dateModified\":\"2026-01-07T05:50:47.571Z\",\"publisher\":{\"@id\":\"https://docs-v1.agno.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs-v1.agno.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Agno\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Agno","nav":{"global":null,"tabs":[{"tab":"User Guide","groups":[{"group":"Introduction","pages":[{"title":"What is Agno?","sidebarTitle":"What is Agno?","href":"/introduction"},{"title":"What are Agents?","sidebarTitle":"Your first Agents","href":"/introduction/agents"},{"title":"Multi Agent Systems","sidebarTitle":"Multi Agent Systems","href":"/introduction/multi-agent-systems"},{"title":"Playground","href":"/introduction/playground"},{"title":"Monitoring \u0026 Debugging","href":"/introduction/monitoring"},{"title":"Community \u0026 Support","href":"/introduction/community"}]},{"group":"Concepts","pages":[{"group":"Agents","pages":[{"title":"What are Agents?","sidebarTitle":"Overview","href":"/agents/introduction"},{"title":"Running your Agent","href":"/agents/run"},{"title":"Metrics","href":"/agents/metrics"},{"title":"Sessions","href":"/agents/sessions"},{"title":"Agent State","href":"/agents/state"},{"title":"Memory","href":"/agents/memory"},{"title":"Tools","href":"/agents/tools"},{"title":"Structured Output","href":"/agents/structured-output"},{"title":"Multimodal Agents","href":"/agents/multimodal"},{"title":"User Control Flows","href":"/agents/user-control-flow"},{"title":"Prompts","href":"/agents/prompts"},{"title":"Knowledge","href":"/agents/knowledge"},{"title":"Session Storage","href":"/agents/storage"},{"title":"Agent Context","href":"/agents/context"},{"title":"Agent Teams [Deprecated]","href":"/agents/teams"}]},{"group":"Teams","pages":[{"title":"What are Teams?","sidebarTitle":"Overview","href":"/teams/introduction"},{"title":"Running your Team","href":"/teams/run"},{"title":"Metrics","href":"/teams/metrics"},{"title":"Team State","sidebarTitle":"Team State","href":"/teams/shared-state"},{"group":"Team Modes","pages":[{"title":"Route","href":"/teams/route"},{"title":"Coordinate","href":"/teams/coordinate"},{"title":"Collaborate","href":"/teams/collaborate"}]},{"title":"Structured Output","href":"/teams/structured-output"}]},{"group":"Models","pages":[{"title":"What are Models?","sidebarTitle":"Overview","href":"/models/introduction"},{"title":"Models Compatibility","href":"/models/compatibility"},{"title":"OpenAI Like","href":"/models/openai-like"},{"title":"AI/ML API","href":"/models/aimlapi"},{"title":"Anthropic Claude","href":"/models/anthropic"},{"group":"AWS","pages":[{"title":"AWS Bedrock","href":"/models/aws-bedrock"},{"title":"AWS Claude","href":"/models/aws-claude"}]},{"group":"Azure","pages":[{"title":"Azure AI Foundry","href":"/models/azure-ai-foundry"},{"title":"Azure OpenAI","href":"/models/azure-openai"}]},{"group":"Cerebras","pages":[{"title":"Cerebras","href":"/models/cerebras"},{"title":"Cerebras OpenAI","href":"/models/cerebras_openai"}]},{"title":"Cohere","href":"/models/cohere"},{"title":"Dashscope","href":"/models/dashscope"},{"title":"DeepInfra","href":"/models/deepinfra"},{"title":"DeepSeek","href":"/models/deepseek"},{"title":"Fireworks","href":"/models/fireworks"},{"title":"Gemini","href":"/models/google"},{"title":"Groq","href":"/models/groq"},{"title":"HuggingFace","href":"/models/huggingface"},{"title":"IBM WatsonX","href":"/models/ibm-watsonx"},{"title":"LangDB","href":"/models/langdb"},{"group":"LiteLLM","pages":[{"title":"LiteLLM","href":"/models/litellm"},{"title":"LiteLLM OpenAI","href":"/models/litellm_openai"}]},{"title":"LM Studio","href":"/models/lmstudio"},{"title":"Meta","href":"/models/meta"},{"title":"Mistral","href":"/models/mistral"},{"title":"Nvidia","href":"/models/nvidia"},{"title":"Nebius","href":"/models/nebius"},{"title":"Ollama","href":"/models/ollama"},{"title":"OpenAI","href":"/models/openai"},{"title":"OpenAI Responses","href":"/models/openai-responses"},{"title":"OpenRouter","href":"/models/openrouter"},{"title":"Perplexity","href":"/models/perplexity"},{"title":"Portkey","href":"/models/portkey"},{"title":"Sambanova","href":"/models/sambanova"},{"title":"Together","href":"/models/together"},{"title":"Vercel v0","href":"/models/vercel"},{"title":"vLLM","href":"/models/vllm"},{"title":"xAI","description":"Learn how to use xAI with Agno.","href":"/models/xai"}]},{"group":"Tools","pages":[{"title":"What are Tools?","sidebarTitle":"Overview","href":"/tools/introduction"},{"title":"Writing your own tools","description":"Learn how to write your own tools and how to use the `@tool` decorator to modify the behavior of a tool.","href":"/tools/tool-decorator"},{"title":"Exceptions","href":"/tools/exceptions"},{"title":"Hooks","href":"/tools/hooks"},{"title":"Human in the loop","href":"/tools/hitl"},{"group":"Toolkits","pages":[{"title":"Toolkit Index","href":"/tools/toolkits/toolkits"},{"group":"Search","pages":[{"title":"Arxiv","href":"/tools/toolkits/search/arxiv"},{"title":"BaiduSearch","sidebarTitle":"BaiduSearch","href":"/tools/toolkits/search/baidusearch"},{"title":"DuckDuckGo","sidebarTitle":"DuckDuckGo","href":"/tools/toolkits/search/duckduckgo"},{"title":"Exa","href":"/tools/toolkits/search/exa"},{"title":"Google Search","href":"/tools/toolkits/search/googlesearch"},{"title":"Hacker News","href":"/tools/toolkits/search/hackernews"},{"title":"Linkup","href":"/tools/toolkits/search/linkup"},{"title":"Pubmed","href":"/tools/toolkits/search/pubmed"},{"title":"Searxng","href":"/tools/toolkits/search/searxng"},{"title":"Serpapi","href":"/tools/toolkits/search/serpapi"},{"title":"Serper","href":"/tools/toolkits/search/serper"},{"title":"Tavily","href":"/tools/toolkits/search/tavily"},{"title":"Wikipedia","href":"/tools/toolkits/search/wikipedia"},{"title":"Brave Search","href":"/tools/toolkits/search/bravesearch"}]},{"group":"Social","pages":[{"title":"Discord","href":"/tools/toolkits/social/discord"},{"title":"Email","href":"/tools/toolkits/social/email"},{"title":"Gmail","sidebarTitle":"Gmail","href":"/tools/toolkits/social/gmail"},{"title":"Slack","href":"/tools/toolkits/social/slack"},{"title":"Telegram","href":"/tools/toolkits/social/telegram"},{"title":"Twilio","href":"/tools/toolkits/social/twilio"},{"title":"Webex","href":"/tools/toolkits/social/webex"},{"title":"WhatsApp","href":"/tools/toolkits/social/whatsapp"},{"title":"X (Twitter)","href":"/tools/toolkits/social/x"},{"title":"Zoom","sidebarTitle":"Zoom","href":"/tools/toolkits/social/zoom"}]},{"group":"Web Scraping","pages":[{"title":"AgentQL","href":"/tools/toolkits/web_scrape/agentql"},{"title":"Browserbase","href":"/tools/toolkits/web_scrape/browserbase"},{"title":"Crawl4AI","href":"/tools/toolkits/web_scrape/crawl4ai"},{"title":"Firecrawl","href":"/tools/toolkits/web_scrape/firecrawl"},{"title":"Jina Reader","href":"/tools/toolkits/web_scrape/jina_reader"},{"title":"Newspaper","href":"/tools/toolkits/web_scrape/newspaper"},{"title":"Newspaper4k","href":"/tools/toolkits/web_scrape/newspaper4k"},{"title":"Spider","href":"/tools/toolkits/web_scrape/spider"},{"title":"Website Tools","href":"/tools/toolkits/web_scrape/website"},{"title":"ScrapeGraph","href":"/tools/toolkits/web_scrape/scrapegraph"},{"title":"Oxylabs","href":"/tools/toolkits/web_scrape/oxylabs"},{"title":"BrightData","href":"/tools/toolkits/web_scrape/brightdata"}]},{"group":"Data","pages":[{"title":"CSV","href":"/tools/toolkits/database/csv"},{"title":"DuckDb","href":"/tools/toolkits/database/duckdb"},{"title":"Mem0","href":"/tools/toolkits/database/mem0"},{"title":"Memori","href":"/tools/toolkits/database/memori"},{"title":"Pandas","href":"/tools/toolkits/database/pandas"},{"title":"Postgres","href":"/tools/toolkits/database/postgres"},{"title":"SQL","href":"/tools/toolkits/database/sql"},{"title":"Zep","href":"/tools/toolkits/database/zep"}]},{"group":"Local","pages":[{"title":"Calculator","href":"/tools/toolkits/local/calculator"},{"title":"Docker","href":"/tools/toolkits/local/docker"},{"title":"File","href":"/tools/toolkits/local/file"},{"title":"Python","sidebarTitle":"Python","href":"/tools/toolkits/local/python"},{"title":"Shell","href":"/tools/toolkits/local/shell"},{"title":"Sleep","href":"/tools/toolkits/local/sleep"}]},{"group":"Models","pages":[{"title":"OpenAI","sidebarTitle":"OpenAI","href":"/tools/toolkits/models/openai"},{"title":"Gemini","sidebarTitle":"Gemini","href":"/tools/toolkits/models/gemini"},{"title":"Groq","sidebarTitle":"Groq","href":"/tools/toolkits/models/groq"}]},{"group":"Additional Toolkits","pages":[{"title":"Airflow","href":"/tools/toolkits/others/airflow"},{"title":"Apify","href":"/tools/toolkits/others/apify"},{"title":"AWS Lambda","href":"/tools/toolkits/others/aws_lambda"},{"title":"AWS SES","href":"/tools/toolkits/others/aws_ses"},{"title":"Cal.com","href":"/tools/toolkits/others/calcom"},{"title":"Cartesia","href":"/tools/toolkits/others/cartesia"},{"title":"Composio","href":"/tools/toolkits/others/composio"},{"title":"Confluence","href":"/tools/toolkits/others/confluence"},{"title":"Custom API","href":"/tools/toolkits/others/custom_api"},{"title":"Dalle","href":"/tools/toolkits/others/dalle"},{"title":"Daytona","href":"/tools/toolkits/others/daytona"},{"title":"Eleven Labs","href":"/tools/toolkits/others/eleven_labs"},{"title":"E2B","href":"/tools/toolkits/others/e2b"},{"title":"Fal","href":"/tools/toolkits/others/fal"},{"title":"Financial Datasets API","href":"/tools/toolkits/others/financial_datasets"},{"title":"Giphy","href":"/tools/toolkits/others/giphy"},{"title":"Github","href":"/tools/toolkits/others/github"},{"title":"Google Maps","href":"/tools/toolkits/others/google_maps"},{"title":"Google Calendar","sidebarTitle":"Google Calendar","href":"/tools/toolkits/others/googlecalendar"},{"title":"Google Sheets","href":"/tools/toolkits/others/google_sheets"},{"title":"Jira","href":"/tools/toolkits/others/jira"},{"title":"Linear","href":"/tools/toolkits/others/linear"},{"title":"Lumalabs","href":"/tools/toolkits/others/lumalabs"},{"title":"MLX Transcribe","href":"/tools/toolkits/others/mlx_transcribe"},{"title":"ModelsLabs","href":"/tools/toolkits/others/models_labs"},{"title":"OpenBB","href":"/tools/toolkits/others/openbb"},{"title":"OpenWeather","href":"/tools/toolkits/others/openweather"},{"title":"Replicate","href":"/tools/toolkits/others/replicate"},{"title":"Resend","href":"/tools/toolkits/others/resend"},{"title":"Todoist","href":"/tools/toolkits/others/todoist"},{"title":"Youtube","href":"/tools/toolkits/others/youtube"},{"title":"Zendesk","href":"/tools/toolkits/others/zendesk"},{"title":"Trello","href":"/tools/toolkits/others/trello"},{"title":"Web Browser Tools","href":"/tools/toolkits/others/web-browser"},{"title":"MoviePy Video Tools","href":"/tools/toolkits/others/moviepy"}]}]},{"group":"MCP","pages":[{"title":"Model Context Protocol (MCP)","sidebarTitle":"Overview","href":"/tools/mcp/mcp"},{"group":"Transports","pages":[{"title":"Stdio Transport","sidebarTitle":"stdio","href":"/tools/mcp/transports/stdio"},{"title":"SSE Transport","sidebarTitle":"SSE","href":"/tools/mcp/transports/sse"},{"title":"Streamable HTTP Transport","sidebarTitle":"Streamable HTTP","href":"/tools/mcp/transports/streamable_http"}]},{"title":"Advanced MCP Usage","sidebarTitle":"Advanced Usage","href":"/tools/mcp/advanced_usage"}]},{"group":"Reasoning Tools","pages":[{"title":"Reasoning Tools","sidebarTitle":"Reasoning Tools","href":"/tools/reasoning_tools/reasoning-tools"},{"title":"Thinking Tools","sidebarTitle":"Thinking Tools","href":"/tools/reasoning_tools/thinking-tools"},{"title":"Knowledge Tools","sidebarTitle":"Knowledge Tools","href":"/tools/reasoning_tools/knowledge-tools"}]},{"title":"Writing your own Toolkit","href":"/tools/custom-toolkits"},{"title":"Selecting tools","href":"/tools/selecting-tools"},{"title":"Updating Tools","href":"/tools/attaching-tools"},{"title":"Async Tools","href":"/tools/async-tools"},{"title":"Tool Result Caching","href":"/tools/caching"},{"title":"Tool Call Limit","href":"/tools/tool_call_limit"}]},{"group":"Reasoning","pages":[{"title":"What is Reasoning?","sidebarTitle":"Overview","href":"/reasoning/introduction"},{"title":"Reasoning Models","href":"/reasoning/reasoning-models"},{"title":"Reasoning Tools","href":"/reasoning/reasoning-tools"},{"title":"Reasoning Agents","href":"/reasoning/reasoning-agents"}]},{"group":"Memory","pages":[{"title":"What is Memory?","sidebarTitle":"Overview","href":"/memory/introduction"},{"title":"User Memories","href":"/memory/memory"},{"title":"Memory Storage","href":"/memory/storage"}]},{"group":"Knowledge","pages":[{"title":"What is Knowledge?","sidebarTitle":"Overview","href":"/knowledge/introduction"},{"title":"Agentic Search","href":"/knowledge/search"},{"title":"Hybrid Search- Combining Keyword and Vector Search","href":"/knowledge/hybrid_search"},{"group":"Knowledge Filters","pages":[{"title":null,"href":"/filters/introduction"},{"title":null,"href":"/filters/manual-filters"},{"title":null,"href":"/filters/agentic-filters"}]},{"title":"Implementing a Custom Retriever","sidebarTitle":"Custom Retriever","href":"/knowledge/custom_retriever"},{"title":"ArXiv Knowledge Base","sidebarTitle":"ArXiv","href":"/knowledge/arxiv"},{"title":"Combined Knowledge Base","sidebarTitle":"Combined","href":"/knowledge/combined"},{"title":"CSV Knowledge Base","sidebarTitle":"CSV","href":"/knowledge/csv"},{"title":"CSV URL Knowledge Base","sidebarTitle":"CSV URLs","href":"/knowledge/csv-url"},{"title":"Docx Knowledge Base","sidebarTitle":"Docx","href":"/knowledge/docx"},{"title":"Document Knowledge Base","sidebarTitle":"Document","href":"/knowledge/document"},{"title":"JSON Knowledge Base","sidebarTitle":"JSON","href":"/knowledge/json"},{"title":"LangChain Knowledge Base","sidebarTitle":"LangChain","href":"/knowledge/langchain"},{"title":"LightRAG Knowledge Base","sidebarTitle":"LightRAG","href":"/knowledge/lightrag"},{"title":"LlamaIndex Knowledge Base","sidebarTitle":"LlamaIndex","href":"/knowledge/llamaindex"},{"title":"Markdown Knowledge Base","sidebarTitle":"Markdown","href":"/knowledge/markdown"},{"title":"PDF Knowledge Base","sidebarTitle":"PDF","href":"/knowledge/pdf"},{"title":"PDF URL Knowledge Base","sidebarTitle":"PDF URLs","href":"/knowledge/pdf-url"},{"title":"PDF Bytes Knowledge Base","sidebarTitle":"PDF Bytes","href":"/knowledge/pdf-bytes"},{"title":"S3 PDF Knowledge Base","sidebarTitle":"S3 PDF","href":"/knowledge/s3_pdf"},{"title":"S3 Text Knowledge Base","sidebarTitle":"S3 Text","href":"/knowledge/s3_text"},{"title":"Text Knowledge Base","sidebarTitle":"Text","href":"/knowledge/text"},{"title":"Website Knowledge Base","sidebarTitle":"Website","href":"/knowledge/website"},{"title":"Wikipedia KnowledgeBase","sidebarTitle":"Wikipedia","href":"/knowledge/wikipedia"},{"title":"Youtube KnowledgeBase","sidebarTitle":"Youtube","href":"/knowledge/youtube"}]},{"group":"Chunking","pages":[{"title":"Fixed Size Chunking","href":"/chunking/fixed-size-chunking"},{"title":"Agentic Chunking","href":"/chunking/agentic-chunking"},{"title":"Semantic Chunking","href":"/chunking/semantic-chunking"},{"title":"Recursive Chunking","href":"/chunking/recursive-chunking"},{"title":"Document Chunking","href":"/chunking/document-chunking"}]},{"group":"Vector DBs","pages":[{"title":"What are Vector Databases?","sidebarTitle":"Overview","href":"/vectordb/introduction"},{"title":"Cassandra Agent Knowledge","sidebarTitle":"Cassandra","href":"/vectordb/cassandra"},{"title":"ChromaDB Agent Knowledge","sidebarTitle":"ChromaDB","href":"/vectordb/chroma"},{"title":"Clickhouse Agent Knowledge","sidebarTitle":"Clickhouse","href":"/vectordb/clickhouse"},{"title":"Couchbase Agent Knowledge","sidebarTitle":"Couchbase","href":"/vectordb/couchbase"},{"title":"LanceDB Agent Knowledge","sidebarTitle":"LanceDB","href":"/vectordb/lancedb"},{"title":"Milvus Agent Knowledge","sidebarTitle":"Milvus","href":"/vectordb/milvus"},{"title":"MongoDB Agent Knowledge","sidebarTitle":"MongoDB","href":"/vectordb/mongodb"},{"title":"Azure Cosmos DB MongoDB vCore Agent Knowledge","sidebarTitle":"Azure Cosmos DB MongoDB vCore","href":"/vectordb/azure_cosmos_mongodb"},{"title":"PgVector Agent Knowledge","sidebarTitle":"PgVector","href":"/vectordb/pgvector"},{"title":"Pinecone Agent Knowledge","sidebarTitle":"Pinecone","href":"/vectordb/pinecone"},{"title":"Qdrant Agent Knowledge","sidebarTitle":"Qdrant","href":"/vectordb/qdrant"},{"title":"SingleStore Agent Knowledge","sidebarTitle":"SingleStore","href":"/vectordb/singlestore"},{"title":"SurrealDB Agent Knowledge","sidebarTitle":"SurrealDB","href":"/vectordb/surrealdb"},{"title":"Weaviate Agent Knowledge","sidebarTitle":"Weaviate","href":"/vectordb/weaviate"}]},{"group":"Storage","pages":[{"title":"What is Storage?","sidebarTitle":"Overview","href":"/storage/introduction"},{"title":"Postgres Storage","sidebarTitle":"Postgres","href":"/storage/postgres"},{"title":"Sqlite Storage","sidebarTitle":"Sqlite","href":"/storage/sqlite"},{"title":"In-Memory Storage","sidebarTitle":"In-Memory","href":"/storage/in-memory"},{"title":"DynamoDB Storage","sidebarTitle":"DynamoDB","href":"/storage/dynamodb"},{"title":"Redis Storage","sidebarTitle":"Redis","href":"/storage/redis"},{"title":"Mongo Storage","sidebarTitle":"MongoDB","href":"/storage/mongodb"},{"title":"MySQL Storage","sidebarTitle":"MySQL","href":"/storage/mysql"},{"title":"Singlestore Storage","sidebarTitle":"Singlestore","href":"/storage/singlestore"},{"title":"YAML Storage","sidebarTitle":"YAML","href":"/storage/yaml"},{"title":"JSON Storage","sidebarTitle":"JSON","href":"/storage/json"}]},{"group":"Embeddings","pages":[{"title":"What are Embedders?","sidebarTitle":"Overview","href":"/embedder/introduction"},{"title":"OpenAI Embedder","sidebarTitle":"OpenAI","href":"/embedder/openai"},{"title":"Gemini Embedder","sidebarTitle":"Gemini","href":"/embedder/gemini"},{"title":"Ollama Embedder","sidebarTitle":"Ollama","href":"/embedder/ollama"},{"title":"Azure OpenAI Embedder","sidebarTitle":"Azure OpenAI","href":"/embedder/azure_openai"},{"title":"Cohere Embedder","sidebarTitle":"Cohere","href":"/embedder/cohere"},{"title":"Fireworks Embedder","sidebarTitle":"Fireworks","href":"/embedder/fireworks"},{"title":"HuggingFace Embedder","sidebarTitle":"HuggingFace","href":"/embedder/huggingface"},{"title":"Mistral Embedder","sidebarTitle":"Mistral","href":"/embedder/mistral"},{"title":"Nebius Embedder","sidebarTitle":"Nebius","href":"/embedder/nebius"},{"title":"Qdrant FastEmbed Embedder","sidebarTitle":"FastEmbed","href":"/embedder/qdrant_fastembed"},{"title":"SentenceTransformers Embedder","sidebarTitle":"SentenceTransformers","href":"/embedder/sentencetransformers"},{"title":"Together Embedder","sidebarTitle":"Together","href":"/embedder/together"},{"title":"Voyage AI Embedder","sidebarTitle":"Voyage AI","href":"/embedder/voyageai"},{"title":"AWS Bedrock Embedder","sidebarTitle":"AWS Bedrock","href":"/embedder/aws_bedrock"},{"title":"Jina Embedder","sidebarTitle":"Jina","href":"/embedder/jina"}]},{"group":"Evals","pages":[{"title":"Simple Agent Evals","sidebarTitle":"Overview","href":"/evals/introduction"},{"title":"Evals on the Agno platform","sidebarTitle":"Platform","href":"/evals/platform"}]},{"group":"Workflows","pages":[{"title":"What are Workflows?","sidebarTitle":"Overview","href":"/workflows/introduction"},{"title":"Workflow State","href":"/workflows/state"},{"title":"Advanced","href":"/workflows/advanced"}]},{"group":"Workflows v2 (Beta)","pages":[{"title":"What are Workflows?","sidebarTitle":"Overview","href":"/workflows_2/overview"},{"title":"Workflows Development Guide","sidebarTitle":"Development Guide","href":"/workflows_2/types_of_workflows"},{"title":"Running your Workflow","href":"/workflows_2/run_workflow"},{"title":"How does shared state work between workflows, teams and agents?","sidebarTitle":"Workflow Session State","href":"/workflows_2/workflow_session_state"},{"title":"Advanced Concepts in Workflows","sidebarTitle":"Advanced","href":"/workflows_2/advanced"},{"title":"Migrating to Workflows 2.0","sidebarTitle":"Migrating to Workflows 2.0","href":"/workflows_2/migration"}]},{"group":"Applications","pages":[{"title":"Playground App","href":"/applications/playground/introduction"},{"title":"FastAPI App","href":"/applications/fastapi/introduction"},{"title":"Whatsapp App","href":"/applications/whatsapp/introduction"},{"title":"AG-UI App","href":"/applications/ag-ui/introduction"},{"title":"Slack App","href":"/applications/slack/introduction"},{"title":"Discord Bot","href":"/applications/discord/introduction"}]}]},{"group":"Other","pages":[{"group":"Agent UI","pages":[{"title":"A beautiful UI for your Agents","sidebarTitle":"Getting Started","href":"/agent-ui/introduction"}]},{"group":"Agent API","pages":[{"title":"Agent API","sidebarTitle":"Getting Started","href":"/agent-api/introduction"}]},{"group":"Observability","pages":[{"title":"OpenTelemetry","sidebarTitle":"Overview","href":"/observability/introduction"},{"title":"AgentOps","href":"/observability/agentops"},{"title":"Arize","href":"/observability/arize"},{"title":"Atla","href":"/observability/atla"},{"title":"LangDB","href":"/observability/langdb"},{"title":"Langfuse","href":"/observability/langfuse"},{"title":"MLflow","href":"/observability/mlflow"},{"title":"LangWatch","href":"/observability/langwatch"},{"title":"LangSmith","href":"/observability/langsmith"},{"title":"Langtrace","href":"/observability/langtrace"},{"title":"Weave","href":"/observability/weave"}]},{"group":"Testing","pages":[{"title":"Scenario Testing","href":"/testing/scenario-testing"}]}]},{"group":"How to","pages":[{"title":"Install \u0026 Setup","href":"/how-to/install"},{"title":"Contributing to Agno","href":"/how-to/contribute"},{"title":"Migrate from Phidata to Agno","href":"/how-to/phidata-to-agno"},{"title":"Authenticate with Agno Platform","href":"/how-to/authentication"}]}]},{"tab":"Examples","pages":[{"title":"Examples","href":"/examples/introduction"}]},{"tab":"Workspaces","pages":[{"title":"Workspaces","href":"/workspaces/introduction"}]},{"tab":"FAQs","pages":[{"title":"FAQs","href":"/faq/environment-variables"}]},{"tab":"API reference","pages":[{"title":"API reference","href":"/reference/agents/agent"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/overview"}]}]},"basePath":"","title":"What are Tools? - Agno","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["10e4515597"],"chunks":["BannerMarkdown-CXEEkV6J.js","dist-lvhuD9Du.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-D1Z-ELXV.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}