> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Tool Registry • AI Agent SDK

> ToolRegistry: Central registry for all tools.

# ToolRegistry

> Defined in the [**registry**](https://praison.ai/docs/sdk/reference/praisonaiagents/modules/registry.md) module.

AI Agent

Central registry for all tools.

Provides:

* Tool registration (manual and auto-discovery)
* Tool lookup by name
* Tool listing and filtering
* Entry points discovery for external plugins
* Trust level management for security

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#8B0000', 'primaryTextColor': '#fff', 'primaryBorderColor': '#710101', 'lineColor': '#189AB4', 'secondaryColor': '#189AB4', 'tertiaryColor': '#fff' }}}%%

graph LR
    agent["Agent"] -- "uses" --> tool["Tool: ToolRegistry"]
    tool -- "returns" --> result["Result"]
    style tool fill:#189AB4,color:#fff
    style agent fill:#8B0000,color:#fff
    style result fill:#8B0000,color:#fff
```

## Constructor

**discovery\_enabled** `bool` (default: True)

No description available.

## Methods

> [card] [register()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/ToolRegistry-register.md)
>
> Register a tool with the registry.

> [card] [unregister()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/ToolRegistry-unregister.md)
>
> Remove a tool from the registry.

> [card] [get()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/ToolRegistry-get.md)
>
> Get a tool by name.

> [card] [list\_tools()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/ToolRegistry-list_tools.md)
>
> List all registered tool names. Thread-safe.

> [card] [list\_base\_tools()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/ToolRegistry-list_base_tools.md)
>
> List all registered BaseTool instances. Thread-safe.

> [card] [get\_tool\_definitions()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/ToolRegistry-get_tool_definitions.md)
>
> Get OpenAI-compatible tool definitions with dynamic schema overrides applied.

> [card] [get\_tool\_definition()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/ToolRegistry-get_tool_definition.md)
>
> Get the effective OpenAI-compatible definition for one registered name.

> [card] [list\_available\_tools()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/ToolRegistry-list_available_tools.md)
>
> List only currently available tools (those that pass availability checks).

> [card] [list\_tools\_with\_allowed\_filter()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/ToolRegistry-list_tools_with_allowed_filter.md)
>
> List tool names filtered by ALLOWED\_TOOLS environment variable.

> [card] [get\_all()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/ToolRegistry-get_all.md)
>
> Get all registered tools as a dict. Thread-safe.

> [card] [discover\_plugins()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/ToolRegistry-discover_plugins.md)
>
> Discover and register tools from entry\_points.

> [card] [discover\_single\_file\_plugins()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/ToolRegistry-discover_single_file_plugins.md)
>
> Discover and load tools from single-file plugins.

> [card] [get\_trust\_level()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/ToolRegistry-get_trust_level.md)
>
> Get the trust level for a tool.

> [card] [clear()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/ToolRegistry-clear.md)
>
> Clear all registered tools. Thread-safe.

## Source

> [card] [View on GitHub](https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/tools/registry.py#L92)
>
> `praisonaiagents/tools/registry.py` at line 92

***

## Related Documentation

> [card] [Tools Concept](https://praison.ai/docs/docs/concepts/tools)

> [card] [Create Custom Tools](https://praison.ai/docs/docs/guides/tools/create-custom-tools)

> [card] [Tool Development](https://praison.ai/docs/docs/tutorials/advanced-tool-development)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.