Tools

Tools#

A tool is anything an agent can invoke by name. Every tool AIDB knows about — built-in, custom, or imported from an MCP server — is listed in one place, aidb.tools :

SELECT name, tool_type, read_only FROM aidb.tools;

__OUTPUT__
        name         | tool_type   | read_only
- --------------------+-------------+-----------
 chunk_text          | native_tool | t
 create_agent        | native_tool | f
 ...

Tools can be invoked in three different ways:

  1. natively by the internal agents in AIDB.

  2. by external agents via MCP.

  3. through SQL for testing and development or other custom use cases.

SELECT aidb.run_tool(catalog_list_objects, {"schema": "public", "object_type": "table"});

__OUTPUT__
        run_tool
- --------------------------------------------
 {"comment": null, "truncated": false, "object_name": "my_table", "object_type": "table", "schema_name": "public"},  ...

AIDB has three kinds of tools:

  • ``native_tool`` — AIDB’s own built-in catalog. Always available; can’t be added, removed, or reconfigured. See Native tools .

  • ``sql_tool`` — a parameterized SQL query you register yourself. See Custom SQL tools .

  • ``mcp_tool`` — a tool imported from an external MCP server. See MCP tools .

Give an agent access to a tool by listing its name in aidb.create_agent ’s tools array.

Documentation map#

Page

What it covers

Native tools

AIDB's built-in tool catalog: ad hoc SQL, catalog discovery, semantic knowledge bases, models, volumes, embedding and document processing, agent management, pipelines

Custom SQL tools

aidb.create_sql_tool(), naming, parameter placeholders, read-only enforcement, removing tools

MCP tools

aidb.import_mcp_tools(), authentication, filtering, refreshing, removing servers, exposing AIDB's tools over MCP

For full parameter tables and return types, see Tools reference .