tools=[...].
Quick Start
Inbuild Tools
- CodeDocsSearchTool
- CSVSearchTool
- DirectorySearchTool
- DirectoryReadTool
- DOCXSearchTool
- FileReadTool
- GithubSearchTool
- SerperDevTool
- TXTSearchTool
- JSONSearchTool
- MDXSearchTool
- PDFSearchTool
- PGSearchTool
- RagTool
- ScrapeElementFromWebsiteTool
- ScrapeWebsiteTool
- SeleniumScrapingTool
- WebsiteSearchTool
- XMLSearchTool
- YoutubeChannelSearchTool
- YoutubeVideoSearchTool
Need parameter limits that change at runtime? See Dynamic Tool Schemas to make your tools reflect current configuration.
Example Usage
How It Works
The Agent decides when to call a tool, runs the function, and feeds the result back into the model to complete its answer.How Tool Names Are Resolved
Pass a tool as a string liketools=["internet_search"] and the core SDK resolves it through a three-step chain, first match wins.
| Step | Source | Who owns it | When it wins |
|---|---|---|---|
| 1 | Tool registry | Tools you register via praisonaiagents.tools.registry | You explicitly registered the name |
| 2 | TOOL_MAPPINGS | Built-in lazy tools shipped with praisonaiagents.tools | The name is a built-in tool |
| 3 | praisonai-tools package | External integrations (pip install praisonai-tools) | The name lives in the optional package |
Graceful skip means a typo or a tool from an uninstalled package no longer crashes your agent — the run continues with the tools that did resolve. Install the missing package (or fix the name) and the next run picks it up.
Best Practices
Type your tool functions
Type your tool functions
Add type hints and a one-line docstring to every tool. The Agent uses these to build the tool schema the model sees.
Keep tools focused
Keep tools focused
Give each tool one clear job. Small, single-purpose tools are easier for the model to call correctly.
Prefer built-in tools first
Prefer built-in tools first
Import ready-made tools from
praisonaiagents.tools before writing your own — for example from praisonaiagents.tools import duckduckgo.Return simple, structured data
Return simple, structured data
Return lists of dicts or plain strings so the model can read the result. Avoid returning large objects or binary blobs.
Related
Quick Start
Build your first agent with a tool.
Models
Choose the model that calls your tools.

