Tables: read
tables_readReads this neonloops workspace's tables, one depth per call. With no table_id: the tables, with name, role (control, lookup, queue, log or config, which decides whether a workflow may write to it), row and column counts and owning project; without project_id that is the workspace-level tables only, never every project's. With table_id: its columns (ids, types, which are machine-owned), saved views, the workflows bound to it, and whether a workflow write would be refused now; a step's table binding takes these ids. With table_id plus view_id, offset or limit: a window of its rows, with matchTotal and hasMore. Two depths at once are refused. Editing rows by hand is deliberately left to a person, in the app or on the full connection (/api/mcp/full); a workflow writes its tables when it runs.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "tables_read"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | With table_id: rows per window, default 100, max 500. A window can come back shorter. | |
| offset | No | With table_id: how many rows you have received so far, 0 for the first window. Advance it by the received count, never by limit. | |
| view_id | No | With table_id: read the rows through this saved view's filter. A view that no longer exists reads every row. | |
| table_id | No | One table: its columns, views and bindings, or with view_id, offset or limit its rows. | |
| project_id | No | List this project's tables instead of the workspace-level ones. Not with table_id. |