Skip to content

describe_catalog

Scope: read · Signature: describe_catalog(workspace_id: str, experiment_id: str | None = None, knowledgebase_id: str | None = None, preview: str | None = None) -> Any

Use before query_sql or a recipe: the tables you can read, and their columns.

Three catalogs, one per argument: - neither id → the workspace lakehouse: input datasets AND published experiment results, the tables query_sql reads. Fields you need: tables:[{name, columns, row_count, is_result, dataset_id, primary_key}] and relationships:[…]. CRITICAL: tables[].name is the EXACT SQL identifier — never invent names and never use exp__* in SQL. - experiment_id → that experiment's published result tables, each with its role (fact | dimension | bridge), keys, foreign keys and provenance (404 if it was never published). - knowledgebase_id → that knowledge base's source tables and relationships: what author_recipe SQL selects from. preview="

" adds that table's first 20 rows, from the lakehouse or, with knowledgebase_id, from that knowledge base. The first call materialises a rebuildable index.

Typed output: hand-written permissive data-kb schema in parleml_mcp/output_schemas.py; not a generated backend model schema.