Skip to main content
ToolResolver.list_available_sources() is the single entry point for discovering tools from every source — local tools.py, built-in agents tools, the praisonai-tools package, and registered or plugin tools.
As of PR #2642, praisonai tools discover surfaces the registered bucket in addition to installed packages — including tools contributed by third-party entry points. A tool that resolves at run time is guaranteed to appear here. Entry-point plugins under the canonical praisonai.tools group are what tools discover reports here; the legacy praisonaiagents.tools and praisonai.tool_sources groups still surface but emit a DeprecationWarning on first discovery.
MCP tools are not part of the resolver chain. ToolResolver.list_available_sources() covers only the four static buckets (local / builtin / external / registered). The fifth mcp source is a live network source surfaced only by praisonai tools list, which layers it on top at listing time — see praisonai tools list --source mcp.

Quick Start

Filter by Source Bucket

Source bucket reference:

Check a Single Tool

CLI Equivalent

How It Works

list_available_sources() reflects the same four-source chain that resolve() uses at run time. Every name returned can be passed to resolve(name) and will load successfully — no more “visible in list, fails at runtime” mismatches.

Legacy Discovery (Pre-#2476)

Before ToolResolver.list_available_sources() was introduced in PR #2476, each surface walked its own partial subset:
Use ToolResolver.list_available_sources() instead — it covers all four sources in a single call.

Tools

Source label table and —source filter

Tool Resolver

Full resolver API and source buckets

Tools Doctor

Diagnostic output backed by the resolver