> ## 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.

# registry • AI Agent SDK

> Tool registry for managing and discovering tools.

# registry

<Badge color="blue">AI Agent</Badge>

Tool registry for managing and discovering tools.

This module provides centralized tool management with support for:

* Manual registration
* Auto-discovery via entry\_points
* Tool lookup by name
* Thread-safe operations for multi-agent scenarios

Usage:

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents.tools.registry import get_registry

registry = get_registry()
registry.register(my_tool)
tool = registry.get("my_tool")
```

## Import

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents.tools import registry
```

## Classes

<CardGroup cols={2}>
  <Card title="ToolEntry" icon="brackets-curly" href="../classes/ToolEntry">
    Internal registry entry for a tool with optional dynamic schema override and trust level.
  </Card>

  <Card title="ToolRegistry" icon="brackets-curly" href="../classes/ToolRegistry">
    Central registry for all tools.
  </Card>
</CardGroup>

## Functions

<CardGroup cols={2}>
  <Card title="get_registry()" icon="function" href="../functions/get_registry">
    Get the global tool registry instance. Thread-safe singleton.
  </Card>

  <Card title="register_tool()" icon="function" href="../functions/register_tool">
    Convenience function to register a tool with the global registry.
  </Card>

  <Card title="get_tool()" icon="function" href="../functions/get_tool">
    Convenience function to get a tool from the global registry.
  </Card>

  <Card title="add_tool()" icon="function" href="../functions/add_tool">
    Register a tool. Simplified alias for register\_tool().
  </Card>

  <Card title="has_tool()" icon="function" href="../functions/has_tool">
    Check if a tool is registered in the global registry.
  </Card>

  <Card title="remove_tool()" icon="function" href="../functions/remove_tool">
    Remove a tool from the global registry.
  </Card>

  <Card title="list_tools()" icon="function" href="../functions/list_tools">
    List all registered tool names.
  </Card>

  <Card title="get_tool_definitions()" icon="function" href="../functions/get_tool_definitions">
    Get OpenAI-compatible tool definitions with dynamic schema overrides applied.
  </Card>

  <Card title="discover_plugins()" icon="function" href="../functions/discover_plugins">
    Discover and load tools from single-file plugins.
  </Card>

  <Card title="list_available_tools()" icon="function" href="../functions/list_available_tools">
    List only currently available tools from the global registry.
  </Card>

  <Card title="list_tools_with_allowed_filter()" icon="function" href="../functions/list_tools_with_allowed_filter">
    List tool names filtered by ALLOWED\_TOOLS from the global registry.
  </Card>

  <Card title="list_tools_with_hermes_filter()" icon="function" href="../functions/list_tools_with_hermes_filter">
    Backward compatibility alias for list\_tools\_with\_allowed\_filter.
  </Card>
</CardGroup>

### Constants

| Name                          | Value                                                 |
| ----------------------------- | ----------------------------------------------------- |
| `CANONICAL_ENTRY_POINT_GROUP` | `'praisonai.tools'`                                   |
| `_ALIAS_ENTRY_POINT_GROUPS`   | `('praisonaiagents.tools', 'praisonai.tool_sources')` |
| `ENTRY_POINT_GROUP`           | `'praisonaiagents.tools'`                             |
