EddytorDocs & API
07 · Tables A→ZA · Before you start

Anatomy of a fully-qualified name

catalog.schema.table - how Eddytor identifies a table across the CLI, REST, and MCP.

Every table is identified by a three-part fully-qualified name (FQN):

catalog.schema.table
PartMeaning
catalogThe top-level grouping. On self-host this is always eddytor.
schemaA namespace within the catalog (e.g. sales, raw, curated).
tableThe table name.

Example: eddytor.sales.orders. We use this sample throughout the docs.

How each interface takes it

  • CLI - usually as separate arguments: eddytor get history eddytor sales orders.
  • REST - as path segments: GET /v1/for-developers/tables/eddytor/sales/orders.
  • MCP - as a single dotted string in the table parameter: { "table": "eddytor.sales.orders" }.

The MCP form has a UUID in it

MCP tools often show the table component as a UUID-prefixed name and the schema as a config id, e.g.:

eddytor.cfg_abc123.a1b2c3d4e5f6…_demo_products

That prefix is the table's stable UUID (from the Delta protocol's metaData.id), which is why renaming or moving a table doesn't change its identity. Get the exact string from list_tables.

Quoting in raw SQL

When you write raw SQL for execute_sql, backtick-quote every component yourself - the SQL goes straight to the engine untransformed:

SELECT * FROM `eddytor`.`sales`.`orders`     -- correct
SELECT * FROM eddytor.sales.orders           -- parse error

(The other tools backtick-quote for you; only raw execute_sql needs it.)

Next

On this page