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

# Get Tool Definitions • AI Agent SDK

> get_tool_definitions: Get OpenAI-compatible tool definitions with dynamic schema overrides applied.

# get\_tool\_definitions

Function

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

Get OpenAI-compatible tool definitions with dynamic schema overrides applied.

This is the main entry point for getting tool schemas that respects
dynamic overrides. Called every time tools need to be passed to the LLM.

```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: get_tool_definitions"]
    tool -- "returns" --> result["Result"]
    style tool fill:#189AB4,color:#fff
    style agent fill:#8B0000,color:#fff
    style result fill:#8B0000,color:#fff
```

## Signature

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
def get_tool_definitions(permission_resolver: Optional[Callable[[str], bool]]) -> List[Dict[str, Any]]
```

## Parameters

**permission\_resolver** `Optional`

Optional `(tool_name) -&gt; bool` filter; denied tools are dropped from the advertised schema (deny = hide).

### Returns

**Returns** `List[Dict[str, Any]]`

List of OpenAI-compatible tool definition dictionaries

## Uses

* `get_tool_definitions`
* `get_registry`

## Used By

* [`get_tool_definitions`](../functions/get_tool_definitions)

## Source

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

***

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