NocoDB Skiils

Access and manage NocoDB databases via v3 REST API. Use for managing workspaces, bases, tables, fields, views, records, and more. Supports filtering, sorting...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
2 · 1.1k · 0 current installs · 0 all-time installs
byAnbarasu@DarkPhoenix2704
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the provided assets: SKILL.md documents a NocoDB CLI and scripts/nocodb.sh implements API calls. Required binaries (curl, jq) and primary env NOCODB_TOKEN are appropriate for this purpose.
Instruction Scope
Runtime instructions and the shell script confine actions to calling the configured NocoDB API (NC_URL/api/v3). The script validates inputs and does not attempt to read unrelated system files or unrelated environment variables. File upload support reads user-specified files (expected behavior for attachments).
Install Mechanism
No install spec — instruction-only with an included Bash script. Nothing is downloaded from external, untrusted URLs; risk is limited to executing the included script locally (standard for a CLI script).
Credentials
Requested environment variables are proportional: NOCODB_TOKEN (primary) and NOCODB_URL are justified. NOCODB_VERBOSE is listed among required env vars in metadata but is actually optional in the script — minor mismatch in manifests vs runtime behavior.
Persistence & Privilege
always:false (no forced permanence). The skill does not request system-wide config changes or other skills' credentials.
Assessment
This skill appears to be what it says: a command-line wrapper for the NocoDB v3 API that needs an API token and the API URL. Before installing or running: (1) confirm you provide a valid NocoDB API token (NOCODB_TOKEN) and set NOCODB_URL to the correct instance — the script will send data to that URL (default: https://app.nocodb.com); (2) ensure curl and jq are installed; (3) review the provided scripts if you plan to run them, especially upload commands which read local files; (4) note the metadata lists NOCODB_VERBOSE as required but the script treats it as optional — you do not need to supply it. If you do not trust the configured NC_URL, do not install or use the skill.

Like a lobster shell, security has layers — review code before you run it.

Current versionv0.0.2
Download zip
latestvk97846bjje6fxw690afk6n3pzh815hzm

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

Binscurl, jq
EnvNOCODB_TOKEN, NOCODB_URL, NOCODB_VERBOSE
Primary envNOCODB_TOKEN

SKILL.md

NocoDB CLI

CLI for NocoDB API.

Platform Support

  • Linux / macOS: scripts/nocodb.sh (Bash, requires curl and jq)

Plan Requirements

FREE PLANS: Base, Table, Field, Record, Link, Attachment APIs, Fiter, Sorts APIs

ENTERPRISE (self-hosted OR cloud-hosted): Workspace, Workspace Collaboration APIs, Base Collaboration APIs, View, Script, Team, API Token APIs

Setup

export NOCODB_TOKEN="your-api-token"
export NOCODB_URL="https://app.nocodb.com"  # optional, this is default
export NOCODB_VERBOSE=1                      # optional, shows resolved IDs

Get your API token: NocoDB → Team & Settings → API Tokens → Add New Token.

Argument Order

Commands follow a hierarchical pattern. Arguments are always in this order:

WORKSPACE → BASE → TABLE → VIEW/FIELD → RECORD

You can use names (human-readable) or IDs (faster, from NocoDB).

ID Prefixes: w=workspace, p=base, m=table, c=column, vw=view

Examples:

  • Name: nc record:list MyBase Users
  • ID: nc record:list pdef5678uvw mghi9012rst

Set NOCODB_VERBOSE=1 to see resolved IDs:

NOCODB_VERBOSE=1 nc field:list MyBase Users
# → base: MyBase → pdef5678uvw
# → table: Users → mghi9012rst

Quick Reference

# Workspace APIs (Enterprise only)
nc workspace:list                                   # → wabc1234xyz

# Free plan APIs
nc base:list wabc1234xyz                            # → pdef5678uvw
nc table:list pdef5678uvw                           # → mghi9012rst
nc field:list pdef5678uvw mghi9012rst               # → cjkl3456opq
nc record:list pdef5678uvw mghi9012rst
nc record:get pdef5678uvw mghi9012rst 31
nc filter:list pdef5678uvw mghi9012rst vwmno7890abc

# View APIs (Enterprise only: self-hosted or cloud-hosted)
nc view:list pdef5678uvw mghi9012rst                # → vwmno7890abc

# Filter syntax help
nc where:help

Commands

Workspaces

Note: Workspace APIs and Workspace Collaboration APIs are available only with self-hosted Enterprise plans and cloud-hosted Enterprise plans.

nc workspace:list                         # → wabc1234xyz
nc workspace:get wabc1234xyz
nc workspace:create '{"title":"New Workspace"}'
nc workspace:update wabc1234xyz '{"title":"Renamed"}'
nc workspace:delete wabc1234xyz
nc workspace:members wabc1234xyz
nc workspace:members:add wabc1234xyz '{"email":"user@example.com","roles":"workspace-creator"}'
nc workspace:members:update wabc1234xyz '{"email":"user@example.com","roles":"workspace-viewer"}'
nc workspace:members:remove wabc1234xyz '{"email":"user@example.com"}'

Bases

nc base:list wabc1234xyz                  # → pdef5678uvw
nc base:get pdef5678uvw
nc base:create wabc1234xyz '{"title":"New Base"}'
nc base:update pdef5678uvw '{"title":"Renamed"}'
nc base:delete pdef5678uvw

Base Collaboration (Enterprise plans only)

nc base:members pdef5678uvw
nc base:members:add pdef5678uvw '{"email":"user@example.com","roles":"base-editor"}'
nc base:members:update pdef5678uvw '{"email":"user@example.com","roles":"base-viewer"}'
nc base:members:remove pdef5678uvw '{"email":"user@example.com"}'

Tables

nc table:list pdef5678uvw                 # → mghi9012rst
nc table:get pdef5678uvw mghi9012rst
nc table:create pdef5678uvw '{"title":"NewTable"}'
nc table:update pdef5678uvw mghi9012rst '{"title":"Customers"}'
nc table:delete pdef5678uvw mghi9012rst

Fields

nc field:list pdef5678uvw mghi9012rst     # → cjkl3456opq
nc field:get pdef5678uvw mghi9012rst cjkl3456opq
nc field:create pdef5678uvw mghi9012rst '{"title":"Phone","type":"PhoneNumber"}'
nc field:update pdef5678uvw mghi9012rst cjkl3456opq '{"title":"Mobile"}'
nc field:delete pdef5678uvw mghi9012rst cjkl3456opq

Field types: SingleLineText, LongText, Number, Decimal, Currency, Percent, Email, URL, PhoneNumber, Date, DateTime, Time, SingleSelect, MultiSelect, Checkbox, Rating, Attachment, Links, User, JSON, etc.

Views

Note: View APIs are available only on self-hosted and cloud-hosted Enterprise plans.

nc view:list pdef5678uvw mghi9012rst      # → vwmno7890abc
nc view:get pdef5678uvw mghi9012rst vwmno7890abc
nc view:create pdef5678uvw mghi9012rst '{"title":"Active Users","type":"grid"}'
nc view:update pdef5678uvw mghi9012rst vwmno7890abc '{"title":"Renamed"}'
nc view:delete pdef5678uvw mghi9012rst vwmno7890abc

View types: grid, gallery, kanban, calendar

Records

nc record:list pdef5678uvw mghi9012rst                # page 1, 25 records
nc record:list pdef5678uvw mghi9012rst 2 50           # page 2, 50 records
nc record:list pdef5678uvw mghi9012rst 1 25 "(status,eq,active)"
nc record:list pdef5678uvw mghi9012rst 1 25 "" '[{"field":"cjkl3456opq","direction":"desc"}]'

nc record:get pdef5678uvw mghi9012rst 31
nc record:get pdef5678uvw mghi9012rst 31 "name,email"

nc record:create pdef5678uvw mghi9012rst '{"fields":{"name":"Alice"}}'
nc record:update pdef5678uvw mghi9012rst 31 '{"status":"active"}'
nc record:update-many pdef5678uvw mghi9012rst '[{"id":31,"fields":{"status":"done"}}]'

nc record:delete pdef5678uvw mghi9012rst 31
nc record:delete pdef5678uvw mghi9012rst '[31,32]'

nc record:count pdef5678uvw mghi9012rst
nc record:count pdef5678uvw mghi9012rst "(status,eq,active)"

Linked Records

nc link:list pdef5678uvw mghi9012rst cjkl3456opq 31
nc link:add pdef5678uvw mghi9012rst cjkl3456opq 31 '[{"id":42}]'
nc link:remove pdef5678uvw mghi9012rst cjkl3456opq 31 '[{"id":42}]'

Filters & Sorts (View-level)

nc filter:list pdef5678uvw mghi9012rst vwmno7890abc
nc filter:create pdef5678uvw mghi9012rst vwmno7890abc '{"field_id":"cjkl3456opq","operator":"eq","value":"active"}'
nc sort:list pdef5678uvw mghi9012rst vwmno7890abc
nc sort:create pdef5678uvw mghi9012rst vwmno7890abc '{"field_id":"cjkl3456opq","direction":"desc"}'

Attachments

nc attachment:upload pdef5678uvw mghi9012rst 31 cjkl3456opq ./report.pdf

Scripts

Note: Script APIs are available only on self-hosted and cloud-hosted Enterprise plans.

nc script:list pdef5678uvw
nc script:create pdef5678uvw '{"title":"My Script"}'

Teams

Note: Team APIs require Enterprise plans (workspace teams are Enterprise-only).

nc team:list wabc1234xyz
nc team:create wabc1234xyz '{"title":"Engineering"}'

API Tokens

Note: API Token APIs are available only with self-hosted Enterprise plans and cloud-hosted Enterprise plans.

nc token:list
nc token:create '{"title":"CI Token"}'
nc token:delete tkn1a2b3c4d5e6f7g

Where Filter Syntax

Run nc where:help for full documentation.

Basic Syntax

(field,operator,value)
(field,operator)                    # for null/blank/checked operators
(field,operator,sub_op)             # for date operators
(field,operator,sub_op,value)       # for date with value

Common Operators

OperatorDescriptionExample
eqEqual(name,eq,John)
neqNot equal(status,neq,archived)
likeContains (% wildcard)(name,like,%john%)
inIn list(status,in,active,pending)
gt, lt, gte, lteNumeric comparison(price,gt,100)
blank, notblankNull or empty(notes,blank)
checked, notcheckedBoolean(is_active,checked)

Date Operators

(created_at,eq,today)
(created_at,isWithin,pastWeek)
(created_at,isWithin,pastNumberOfDays,14)
(due_date,lt,today)                          # overdue
(event_date,eq,exactDate,2024-06-15)

Combining Filters

IMPORTANT: Use ~and, ~or, ~not (with tilde prefix)

(name,eq,John)~and(age,gte,18)
(status,eq,active)~or(status,eq,pending)
~not(is_deleted,checked)
(status,in,active,pending)~and(country,eq,USA)

Complex Examples

# Active users created this month
"(status,eq,active)~and(created_at,isWithin,pastMonth)"

# Overdue high-priority tasks
"(due_date,lt,today)~and(priority,eq,high)~and(completed,notchecked)"

# Orders $100-$500 in pending/processing
"(amount,gte,100)~and(amount,lte,500)~and(status,in,pending,processing)"

Files

3 total
Select a file
Select a file to preview.

Comments

Loading comments…