kdeps-tools-sql_list_tables
v2.0.0List all tables in a SQLite database. Use this to discover available data before querying. Returns a newline-separated list of table names.
set tools / shelf tools
LLM context: ~72 tokens when loaded (prompt or tool definition)
Where it runs
Part of the tools set, used in workflow and agent mode. What the model is told about each built-in tool: its description, usage notes and parameters. kdeps runs the tool itself.
- the agent loop builds the request
- the tool definitions are sent to the modeltools/sql_list_tables
- the model calls a tool
- kdeps runs it
- the result goes back to the model
Loaded by: kdeps (agent loop), /update, /settings, kdeps run, kdeps install, kdeps list, kdeps uninstall, kdeps update
In the code: kdeps (agent loop)agent.RegisterBuiltinToolsagent.definedAs
Install
A kdeps asset: installed with the first-run profile that includes its set, or the first time a command needs it, and updated without a new release.
Pin a version with kdeps install tools/sql_list_tables@<version>.
Contents
List all tables in a SQLite database. Use this to discover available data before querying. Returns a newline-separated list of table names.
| Parameter | Type | Description |
|---|---|---|
| db_path | string | Path to the SQLite database file. Defaults to KDEPS_SQL_DB_PATH environment variable. |
Python script (declared in YAML, no Go code)
import json, os, pathlib, sqlite3, sys
path = json.loads(sys.argv[1]).get("db_path") or os.environ.get("DB")
if not path:
sys.exit("sql tool: db_path is required (or set KDEPS_SQL_DB_PATH)")
try:
# mode=ro: the file is never created or written.
with sqlite3.connect(pathlib.Path(path).absolute().as_uri() + "?mode=ro", uri=True) as db:
rows = db.execute("SELECT name FROM sqlite_master WHERE type='table' "
"AND name NOT LIKE 'sqlite_%' ORDER BY name").fetchall()
except sqlite3.Error as e:
sys.exit("sql_list_tables: %s" % e)
print("\n".join(r[0] for r in rows))
Paths kept in the workspace: db_path
Offered when set: KDEPS_SQL_DB_PATH |
version: 2.0.0
description: List all tables in a SQLite database. Use this to discover available data before querying. Returns a newline-separated list of table names.
parameters:
db_path:
type: string
description: Path to the SQLite database file. Defaults to KDEPS_SQL_DB_PATH environment variable.
python:
paths: [db_path] # checked against the workspace boundary
env:
DB: [KDEPS_SQL_DB_PATH, ""] # used when db_path is omitted
script: |
import json, os, pathlib, sqlite3, sys
path = json.loads(sys.argv[1]).get("db_path") or os.environ.get("DB")
if not path:
sys.exit("sql tool: db_path is required (or set KDEPS_SQL_DB_PATH)")
try:
# mode=ro: the file is never created or written.
with sqlite3.connect(pathlib.Path(path).absolute().as_uri() + "?mode=ro", uri=True) as db:
rows = db.execute("SELECT name FROM sqlite_master WHERE type='table' "
"AND name NOT LIKE 'sqlite_%' ORDER BY name").fetchall()
except sqlite3.Error as e:
sys.exit("sql_list_tables: %s" % e)
print("\n".join(r[0] for r in rows))
Versions
| Version | Published | Status |
|---|---|---|
| 2.0.0 | 10/24/2026 | active |
| 1.0.0 | 10/11/2026 | active |
Details
- Author
- kdeps
- License
- Apache-2.0
- Latest Version
- 2.0.0
- Published
- 10/11/2026