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:
- natively by the internal agents in AIDB.
- by external agents via MCP.
- 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 create_agent/update_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.