Skip to main content
The tools command helps you discover, explore, and manage the tools available for your agents.

Quick Start

# List all available tools
praisonai tools list

# Get info about a specific tool
praisonai tools info internet_search

Commands

List Tools

praisonai tools list
Expected Output:
🔧 Available Tools:
--------------------------------------------------

  Search:
    • internet_search: Available
    • wikipedia_search: Search Wikipedia
    • arxiv_search: Search arXiv papers
    • tavily_search: Available

  File:
    • read_file: Available
    • write_file: Available
    • list_files: Available
    • csv_read: Read CSV files
    • json_read: Read JSON files
    • yaml_read: Read YAML files

  Code:
    • execute_code: Available
    • shell_command: Execute shell commands
    • calculator: Perform mathematical calculations

  Data:
    • pandas_query: Query data with Pandas
    • duckdb_query: SQL queries with DuckDB
    • yfinance: Financial market data

  Web:
    • crawl4ai: Web crawling
    • trafilatura: Web content extraction
    • duckduckgo: DuckDuckGo search

--------------------------------------------------
Total: 18 tools available

Get Tool Info

praisonai tools info internet_search
Expected Output:
🔧 Tool: internet_search

┌─────────────────────┬────────────────────────────────────────────┐
│ Property            │ Value                                      │
├─────────────────────┼────────────────────────────────────────────┤
│ Name                │ internet_search                            │
│ Category            │ Search                                     │
│ Status              │ ✅ Available                               │
│ Dependencies        │ duckduckgo-search                          │
└─────────────────────┴────────────────────────────────────────────┘

Description:
  Perform internet searches using DuckDuckGo. Returns a list of
  search results with titles, URLs, and snippets.

Parameters:
  • query (str, required): The search query
  • max_results (int, optional): Maximum results to return (default: 5)

Example Usage:
  ```python
  from praisonaiagents import Agent

  agent = Agent(
      instructions="Search the web for information",
      tools=[internet_search]
  )
  agent.start("Search for AI news")
Returns: List of dictionaries with keys: title, url, snippet

### Search Tools

```bash
praisonai tools search "web"
Expected Output:
🔍 Searching tools for: "web"

Found 4 matching tools:

  1. crawl4ai
     Category: Web
     Description: Crawl and extract content from web pages

  2. trafilatura
     Category: Web
     Description: Extract main content from web pages

  3. internet_search
     Category: Search
     Description: Search the web using DuckDuckGo

  4. tavily_search
     Category: Search
     Description: AI-powered web search with Tavily

Help

praisonai tools help
Expected Output:
Tools Commands:

  praisonai tools list              - List all available tools
  praisonai tools info <name>       - Get detailed info about a tool
  praisonai tools search <query>    - Search for tools by name/description
  praisonai tools help              - Show this help

Using Tools with Agents:
  praisonai "task" --tools "tool1,tool2"   - Use specific tools
  praisonai "task" --tools tools.py        - Load tools from file

Tool Categories

Search Tools

  • internet_search
  • wikipedia_search
  • arxiv_search
  • tavily_search
  • duckduckgo

File Tools

  • read_file
  • write_file
  • list_files
  • csv_read
  • json_read
  • yaml_read

Code Tools

  • execute_code
  • shell_command
  • calculator
  • python_repl

Data Tools

  • pandas_query
  • duckdb_query
  • yfinance
  • excel_read

Web Tools

  • crawl4ai
  • trafilatura
  • newspaper
  • spider

API Tools

  • rest_api
  • graphql
  • webhook

Using Tools with Prompts

Built-in Tools by Name

# Single tool
praisonai "Search for Python tutorials" --tools "internet_search"

# Multiple tools
praisonai "Research and calculate" --tools "internet_search,calculator"

Tools from File

# Create tools.py with custom tools
praisonai "Custom task" --tools tools.py
Example tools.py:
def my_custom_tool(query: str) -> str:
    """Custom tool description"""
    return f"Result for: {query}"

def another_tool(data: dict) -> dict:
    """Another custom tool"""
    return {"processed": data}

Tool Dependencies

Some tools require additional packages:
ToolRequired Package
internet_searchduckduckgo-search
tavily_searchtavily-python
crawl4aicrawl4ai
yfinanceyfinance
pandas_querypandas
duckdb_queryduckdb
Install missing dependencies:
pip install duckduckgo-search tavily-python

Creating Custom Tools

# tools.py
from typing import List, Dict

def search_database(query: str, limit: int = 10) -> List[Dict]:
    """
    Search the internal database.
    
    Args:
        query: Search query string
        limit: Maximum results to return
        
    Returns:
        List of matching records
    """
    # Your implementation
    return results
Use with CLI:
praisonai "Find customer records" --tools tools.py

Best Practices

Use praisonai tools info <name> to understand a tool’s parameters before using it.

Right Tool

Choose tools appropriate for the task

Dependencies

Install required packages before using tools

Custom Tools

Create custom tools for domain-specific needs

Documentation

Add docstrings to custom tools for better agent understanding