On this page

Data tables

get-table

Read one Data Table's shape: its name, its columns with their types, and the connector behind it. No row data: use query-table-rows for that. Needs the fabric:table.read grant.

curl -sS -X POST https://fabric.wexa.ai/mcp/$FABRIC_PROJECT_ID \
  -H "authorization: Bearer $FABRIC_API_KEY" \
  -H "Mcp-Session-Id: $MCP_SESSION_ID" \
  -H "content-type: application/json" -H "accept: application/json" \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get-table","arguments":{"table_id":"6ab1944e7566f41b5c28e2eb"}}}'
{
  "content": [
    {
      "type": "text",
      "text": "{\"lifecycle_id\":\"qlc_000195\",\"result\":{\"table_id\":\"6ab1944e7566f41b5c28e2eb\",\"table_name\":\"docs_fixture_orders\",\"connector_id\":\"6ab1944e7566f41b5c28e2ec\",\"trigger_count\":0,\"columns\":\"\\u2026\"}}"
    }
  ],
  "isError": false
}

Parameters

ParameterTypeRequiredNotes
table_idstringRequiredTable id from list-tables, a 24-character hex id. A table in this project.
Show full response

A real response, captured from a live call to get-table:

columns came back populated and is shown as … here, because the real value runs to thousands of characters. Read it from your own call rather than from this page.

{
  "lifecycle_id": "qlc_000195",
  "result": {
    "columns": "\u2026",
    "connector_id": "6ab1944e7566f41b5c28e2ec",
    "table_id": "6ab1944e7566f41b5c28e2eb",
    "table_name": "docs_fixture_orders",
    "trigger_count": 0
  }
}

Each entry of columns has this shape. This one is a column added as {"column_name": "notes", "column_type": "String"}:

{
  "array_type": null,
  "column_id": "6ab1968193a7cbd766d5cd74",
  "column_name": "notes",
  "column_type": "String",
  "default_value": null,
  "enum_options": null,
  "has_triggers": false,
  "object_fields": null
}

columns also lists the platform's own _id, row_id and coworker_user_id, whose column_id is that name. A row for insert-table-rows or update-table-row may be keyed by column_id or column_name; query-table-rows returns rows keyed by column_id.

More details

columns is shown as … in the example because the real value runs to thousands of characters. Read it from your own call; each entry has the shape shown under the full response.

columns lists every column, including the platform's own _id, row_id and coworker_user_id, whose column_id is that name. A row for insert-table-rows or update-table-row may be keyed by column_id or column_name; query-table-rows returns rows keyed by column_id.

Not marked consequential: it is audited lightly and the project's write gate never holds it.

Every tool call works the same way: How every tool call works.