productivity
NocoDB CLI for AI Agents
Use the NocoDB CLI from KosmoKrator to call NocoDB tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.NocoDB CLI Setup
NocoDB can be configured headlessly with `kosmokrator integrations:configure nocodb`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure nocodb --set api_token="$NOCODB_API_TOKEN" --set base_url="$NOCODB_BASE_URL" --enable --read allow --write ask --json
kosmokrator integrations:doctor nocodb --json
kosmokrator integrations:status --json Credentials
Authentication type: API token api_token. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
api_token | NOCODB_API_TOKEN | Secret secret | yes | API Token |
base_url | NOCODB_BASE_URL | Text text | yes | Base URL |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call nocodb.nocodb_list_records '{"table_id":"example_table_id","view_id":"example_view_id","limit":1,"offset":1,"where":"example_where","sort":"example_sort","fields":"example_fields"}' --json kosmo integrations:nocodb nocodb_list_records '{"table_id":"example_table_id","view_id":"example_view_id","limit":1,"offset":1,"where":"example_where","sort":"example_sort","fields":"example_fields"}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs nocodb --json
kosmo integrations:docs nocodb.nocodb_list_records --json
kosmo integrations:schema nocodb.nocodb_list_records --json
kosmo integrations:search "NocoDB" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
nocodb.nocodb_list_records
List records from a NocoDB table with optional filtering, sorting, and pagination.
read - Parameters
- table_id, view_id, limit, offset, where, sort, fields
kosmo integrations:call nocodb.nocodb_list_records '{"table_id":"example_table_id","view_id":"example_view_id","limit":1,"offset":1,"where":"example_where","sort":"example_sort","fields":"example_fields"}' --json kosmo integrations:nocodb nocodb_list_records '{"table_id":"example_table_id","view_id":"example_view_id","limit":1,"offset":1,"where":"example_where","sort":"example_sort","fields":"example_fields"}' --json nocodb.nocodb_get_record
Get a single NocoDB record by ID.
read - Parameters
- table_id, record_id, fields
kosmo integrations:call nocodb.nocodb_get_record '{"table_id":"example_table_id","record_id":"example_record_id","fields":"example_fields"}' --json kosmo integrations:nocodb nocodb_get_record '{"table_id":"example_table_id","record_id":"example_record_id","fields":"example_fields"}' --json nocodb.nocodb_create_record
Create a new record in a NocoDB table.
write - Parameters
- table_id, data
kosmo integrations:call nocodb.nocodb_create_record '{"table_id":"example_table_id","data":"example_data"}' --json kosmo integrations:nocodb nocodb_create_record '{"table_id":"example_table_id","data":"example_data"}' --json nocodb.nocodb_update_record
Update an existing NocoDB record.
write - Parameters
- table_id, record_id, data
kosmo integrations:call nocodb.nocodb_update_record '{"table_id":"example_table_id","record_id":"example_record_id","data":"example_data"}' --json kosmo integrations:nocodb nocodb_update_record '{"table_id":"example_table_id","record_id":"example_record_id","data":"example_data"}' --json nocodb.nocodb_delete_record
Delete a record from a NocoDB table.
write - Parameters
- table_id, record_id
kosmo integrations:call nocodb.nocodb_delete_record '{"table_id":"example_table_id","record_id":"example_record_id"}' --json kosmo integrations:nocodb nocodb_delete_record '{"table_id":"example_table_id","record_id":"example_record_id"}' --json nocodb.nocodb_batch_create
Create multiple records in a single NocoDB API request.
write - Parameters
- table_id, records
kosmo integrations:call nocodb.nocodb_batch_create '{"table_id":"example_table_id","records":"example_records"}' --json kosmo integrations:nocodb nocodb_batch_create '{"table_id":"example_table_id","records":"example_records"}' --json nocodb.nocodb_batch_update
Update multiple records in a single NocoDB API request.
write - Parameters
- table_id, records
kosmo integrations:call nocodb.nocodb_batch_update '{"table_id":"example_table_id","records":"example_records"}' --json kosmo integrations:nocodb nocodb_batch_update '{"table_id":"example_table_id","records":"example_records"}' --json nocodb.nocodb_batch_delete
Delete multiple records in a single NocoDB API request.
write - Parameters
- table_id, record_ids
kosmo integrations:call nocodb.nocodb_batch_delete '{"table_id":"example_table_id","record_ids":"example_record_ids"}' --json kosmo integrations:nocodb nocodb_batch_delete '{"table_id":"example_table_id","record_ids":"example_record_ids"}' --json nocodb.nocodb_list_bases
List all NocoDB bases the token has access to.
read - Parameters
- none
kosmo integrations:call nocodb.nocodb_list_bases '{}' --json kosmo integrations:nocodb nocodb_list_bases '{}' --json nocodb.nocodb_get_base
Get details of a single NocoDB base.
read - Parameters
- base_id
kosmo integrations:call nocodb.nocodb_get_base '{"base_id":"example_base_id"}' --json kosmo integrations:nocodb nocodb_get_base '{"base_id":"example_base_id"}' --json nocodb.nocodb_list_tables
List all tables in a NocoDB base.
read - Parameters
- base_id
kosmo integrations:call nocodb.nocodb_list_tables '{"base_id":"example_base_id"}' --json kosmo integrations:nocodb nocodb_list_tables '{"base_id":"example_base_id"}' --json nocodb.nocodb_get_table
Get details of a single NocoDB table.
read - Parameters
- table_id
kosmo integrations:call nocodb.nocodb_get_table '{"table_id":"example_table_id"}' --json kosmo integrations:nocodb nocodb_get_table '{"table_id":"example_table_id"}' --json nocodb.nocodb_create_table
Create a new table in a NocoDB base.
write - Parameters
- base_id, table_name, columns
kosmo integrations:call nocodb.nocodb_create_table '{"base_id":"example_base_id","table_name":"example_table_name","columns":"example_columns"}' --json kosmo integrations:nocodb nocodb_create_table '{"base_id":"example_base_id","table_name":"example_table_name","columns":"example_columns"}' --json nocodb.nocodb_list_views
List views for a NocoDB table.
read - Parameters
- table_id
kosmo integrations:call nocodb.nocodb_list_views '{"table_id":"example_table_id"}' --json kosmo integrations:nocodb nocodb_list_views '{"table_id":"example_table_id"}' --json nocodb.nocodb_count_records
Count records in a NocoDB table with optional filtering.
read - Parameters
- table_id, where
kosmo integrations:call nocodb.nocodb_count_records '{"table_id":"example_table_id","where":"example_where"}' --json kosmo integrations:nocodb nocodb_count_records '{"table_id":"example_table_id","where":"example_where"}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
nocodb.nocodb_list_records 7 parameters
kosmo integrations:schema nocodb.nocodb_list_records --json | Parameter | Type | Required | Description |
|---|---|---|---|
table_id | string | yes | Table ID. |
view_id | string | no | View ID to filter records by the view's filters. |
limit | integer | no | Maximum number of records to return (default 25). |
offset | integer | no | Pagination offset for skipping records. |
where | string | no | NocoDB where clause for filtering (e.g., "(Status,eq,Done)"). |
sort | string | no | JSON array of sort objects, e.g. [{"field":"Name","direction":"asc"}]. |
fields | string | no | Comma-separated list of field names to return. |
nocodb.nocodb_get_record 3 parameters
kosmo integrations:schema nocodb.nocodb_get_record --json | Parameter | Type | Required | Description |
|---|---|---|---|
table_id | string | yes | Table ID. |
record_id | string | yes | Record ID. |
fields | string | no | Comma-separated list of field names to return. |
nocodb.nocodb_create_record 2 parameters
kosmo integrations:schema nocodb.nocodb_create_record --json | Parameter | Type | Required | Description |
|---|---|---|---|
table_id | string | yes | Table ID. |
data | string | yes | JSON object of field name → value pairs (e.g., {"Name":"John","Age":30}). |
nocodb.nocodb_update_record 3 parameters
kosmo integrations:schema nocodb.nocodb_update_record --json | Parameter | Type | Required | Description |
|---|---|---|---|
table_id | string | yes | Table ID. |
record_id | string | yes | Record ID. |
data | string | yes | JSON object of field name → value pairs to update (e.g., {"Status":"Done"}). |
nocodb.nocodb_delete_record 2 parameters
kosmo integrations:schema nocodb.nocodb_delete_record --json | Parameter | Type | Required | Description |
|---|---|---|---|
table_id | string | yes | Table ID. |
record_id | string | yes | Record ID. |
nocodb.nocodb_batch_create 2 parameters
kosmo integrations:schema nocodb.nocodb_batch_create --json | Parameter | Type | Required | Description |
|---|---|---|---|
table_id | string | yes | Table ID. |
records | string | yes | JSON array of record objects (e.g., [{"Name":"Alice"},{"Name":"Bob"}]). |
nocodb.nocodb_batch_update 2 parameters
kosmo integrations:schema nocodb.nocodb_batch_update --json | Parameter | Type | Required | Description |
|---|---|---|---|
table_id | string | yes | Table ID. |
records | string | yes | JSON array of record objects, each with an "Id" key and fields to update (e.g., [{"Id":1,"Name":"Updated"}]). |
nocodb.nocodb_batch_delete 2 parameters
kosmo integrations:schema nocodb.nocodb_batch_delete --json | Parameter | Type | Required | Description |
|---|---|---|---|
table_id | string | yes | Table ID. |
record_ids | string | yes | JSON array of record IDs to delete (e.g., [1, 2, 3]). |
nocodb.nocodb_list_bases 0 parameters
kosmo integrations:schema nocodb.nocodb_list_bases --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
nocodb.nocodb_get_base 1 parameters
kosmo integrations:schema nocodb.nocodb_get_base --json | Parameter | Type | Required | Description |
|---|---|---|---|
base_id | string | yes | Base ID. |
nocodb.nocodb_list_tables 1 parameters
kosmo integrations:schema nocodb.nocodb_list_tables --json | Parameter | Type | Required | Description |
|---|---|---|---|
base_id | string | yes | Base ID. |
nocodb.nocodb_get_table 1 parameters
kosmo integrations:schema nocodb.nocodb_get_table --json | Parameter | Type | Required | Description |
|---|---|---|---|
table_id | string | yes | Table ID. |
nocodb.nocodb_create_table 3 parameters
kosmo integrations:schema nocodb.nocodb_create_table --json | Parameter | Type | Required | Description |
|---|---|---|---|
base_id | string | yes | Base ID. |
table_name | string | yes | Name for the new table. |
columns | string | yes | JSON array of column definitions (e.g., [{"column_name":"Name","uidt":"SingleLineText"},{"column_name":"Age","uidt":"Number"}]). |
nocodb.nocodb_list_views 1 parameters
kosmo integrations:schema nocodb.nocodb_list_views --json | Parameter | Type | Required | Description |
|---|---|---|---|
table_id | string | yes | Table ID. |
nocodb.nocodb_count_records 2 parameters
kosmo integrations:schema nocodb.nocodb_count_records --json | Parameter | Type | Required | Description |
|---|---|---|---|
table_id | string | yes | Table ID. |
where | string | no | NocoDB where clause for filtering (e.g., "(Status,eq,Done)"). |
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults with
integrations:configure. Add --force only for trusted automation that should bypass that policy.