mcpField
N
nocodb

nocodb

github.com/nocodbData & databases17253 installsUpdated 8w ago
Repository

About nocodb

nocodb is a command-line skill for the NocoDB API, using a script to manage workspaces, bases, tables, fields, and records. It accepts names or IDs and exposes APIs according to the account plan.

Key features

  1. 01Call the NocoDB API through a Bash script
  2. 02Manage bases, tables, fields, and records
  3. 03Filter, sort, and link records
  4. 04Upload attachments
  5. 05Manage workspaces and teams through Enterprise APIs

Use cases

  1. 01Maintain table schemas and records from the command line
  2. 02Filter and sort records by conditions
  3. 03Link records or upload attachments
  4. 04Manage Enterprise workspace members

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/nocodb/agent-skills --skill nocodb

After installing, type/nocodbin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

README.md
LICENSE
.claude-plugin/
marketplace.json
.cursor-plugin/
marketplace.json
plugins/nocodb/
CHANGELOG.md
.mcp.json
LICENSE
mcp.json
README.md
plugins/nocodb/.claude-plugin/
plugin.json
plugins/nocodb/.cursor-plugin/
plugin.json
plugins/nocodb/.grok-plugin/
plugin.json
plugins/nocodb/skills/nocodb/scripts/
nocodb.ps1
nocodb.sh
scripts/
nocodb.sh

Details

From the project README

NocoDB CLI

CLI for NocoDB API.

Platform Support

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

All examples below invoke scripts/nocodb.sh (relative to this skill's directory) — there is no standalone nc binary, and nc must not be used as it is the netcat utility.

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: scripts/nocodb.sh record:list MyBase Users
  • ID: scripts/nocodb.sh record:list pdef5678uvw mghi9012rst

Set NOCODB_VERBOSE=1 to see resolved IDs:

NOCODB_VERBOSE=1 scripts/nocodb.sh field:list MyBase Users
# → base: MyBase → pdef5678uvw
# → table: Users → mghi9012rst

Quick Reference

# Workspace APIs (Enterprise only)
scripts/nocodb.sh workspace:list                                   # → wabc1234xyz

# Free plan APIs
scripts/nocodb.sh base:list wabc1234xyz                            # → pdef5678uvw
scripts/nocodb.sh table:list pdef5678uvw                           # → mghi9012rst
scripts/nocodb.sh field:list pdef5678uvw mghi9012rst               # → cjkl3456opq
scripts/nocodb.sh record:list pdef5678uvw mghi9012rst
scripts/nocodb.sh record:get pdef5678uvw mghi9012rst 31
scripts/nocodb.sh filter:list pdef5678uvw mghi9012rst vwmno7890abc

# View APIs (Enterprise only: self-hosted or cloud-hosted)
scripts/nocodb.sh view:list pdef5678uvw mghi9012rst                # → vwmno7890abc

# Filter syntax help
scripts/nocodb.sh where:help

Commands

Workspaces

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

scripts/nocodb.sh workspace:list                         # → wabc1234xyz
scripts/nocodb.sh workspace:get wabc1234xyz
scripts/nocodb.sh workspace:create '{"title":"New Workspace"}'
scripts/nocodb.sh workspace:update wabc1234xyz '{"title":"Renamed"}'
scripts/nocodb.sh workspace:delete wabc1234xyz
scripts/nocodb.sh workspace:members wabc1234xyz
scripts/nocodb.sh workspace:members:add wabc1234xyz '{"email":"[email protected]","roles":"workspace-creator"}'
scripts/nocodb.sh workspace:members:update wabc1234xyz '{"email":"[email protected]","roles":"workspace-viewer"}'
scripts/nocodb.sh workspace:members:remove wabc1234xyz '{"email":"[email protected]"}'
Bases
scripts/nocodb.sh base:list wabc1234xyz                  # → pdef5678uvw
scripts/nocodb.sh base:get pdef5678uvw
scripts/nocodb.sh base:create wabc1234xyz '{"title":"New Base"}'
scripts/nocodb.sh base:update pdef5678uvw '{"title":"Renamed"}'
scripts/nocodb.sh base:delete pdef5678uvw

Base Collaboration (Enterprise plans only)

scripts/nocodb.sh base:members pdef5678uvw
scripts/nocodb.sh base:members:add pdef5678uvw '{"email":"[email protected]","roles":"base-editor"}'
scripts/nocodb.sh base:members:update pdef5678uvw '{"email":"[email protected]","roles":"base-viewer"}'
scripts/nocodb.sh base:members:remove pdef5678uvw '{"email":"[email protected]"}'
Tables
scripts/nocodb.sh table:list pdef5678uvw                 # → mghi9012rst
scripts/nocodb.sh table:get pdef5678uvw mghi9012rst
scripts/nocodb.sh table:create pdef5678uvw '{"title":"NewTable"}'
scripts/nocodb.sh table:update pdef5678uvw mghi9012rst '{"title":"Customers"}'
scripts/nocodb.sh table:delete pdef5678uvw mghi9012rst
Fields
scripts/nocodb.sh field:list pdef5678uvw mghi9012rst     # → cjkl3456opq
scripts/nocodb.sh field:get pdef5678uvw mghi9012rst cjkl3456opq
scripts/nocodb.sh field:create pdef5678uvw mghi9012rst '{"title":"Phone","type":"PhoneNumber"}'
scripts/nocodb.sh field:update pdef5678uvw mghi9012rst cjkl3456opq '{"title":"Mobile"}'
scripts/nocodb.sh 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.

scripts/nocodb.sh view:list pdef5678uvw mghi9012rst      # → vwmno7890abc
scripts/nocodb.sh view:get pdef5678uvw mghi9012rst vwmno7890abc
scripts/nocodb.sh view:create pdef5678uvw mghi9012rst '{"title":"Active Users","type":"grid"}'
scripts/nocodb.sh view:update pdef5678uvw mghi9012rst vwmno7890abc '{"title":"Renamed"}'
scripts/nocodb.sh view:delete pdef5678uvw mghi9012rst vwmno7890abc

View types: grid, gallery, kanban, calendar

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

scripts/nocodb.sh record:get pdef5678uvw mghi9012rst 31
scripts/nocodb.sh record:get pdef5678uvw mghi9012rst 31 "name,email"

scripts/nocodb.sh record:create pdef5678uvw mghi9012rst '{"fields":{"name":"Alice"}}'
scripts/nocodb.sh record:update pdef5678uvw mghi9012rst 31 '{"status":"active"}'
scripts/nocodb.sh record:update-many pdef5678uvw mghi9012rst '[{"id":31,"fields":{"status":"done"}}]'

scripts/nocodb.sh record:delete pdef5678uvw mghi9012rst 31
scripts/nocodb.sh record:delete pdef5678uvw mghi9012rst '[31,32]'

scripts/nocodb.sh record:count pdef5678uvw mghi9012rst
scripts/nocodb.sh record:count pdef5678uvw mghi9012rst "(status,eq,active)"
Linked Records
scripts/nocodb.sh link:list pdef5678uvw mghi9012rst cjkl3456opq 31
scripts/nocodb.sh link:add pdef5678uvw mghi9012rst cjkl3456opq 31 '[{"id":42}]'
scripts/nocodb.sh link:remove pdef5678uvw mghi9012rst cjkl3456opq 31 '[{"id":42}]'
Filters & Sorts (View-level)
scripts/nocodb.sh filter:list pdef5678uvw mghi9012rst vwmno7890abc
scripts/nocodb.sh filter:create pdef5678uvw mghi9012rst vwmno7890abc '{"field_id":"cjkl3456opq","operator":"eq","value":"active"}'
scripts/nocodb.sh sort:list pdef5678uvw mghi9012rst vwmno7890abc
scripts/nocodb.sh sort:create pdef5678uvw mghi9012rst vwmno7890abc '{"field_id":"cjkl3456opq","direction":"desc"}'
Attachments
scripts/nocodb.sh attachment:upload pdef5678uvw mghi9012rst 31 cjkl3456opq ./report.pdf
Scripts

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

scripts/nocodb.sh script:list pdef5678uvw
scripts/nocodb.sh script:create pdef5678uvw '{"title":"My Script"}'
Teams

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

scripts/nocodb.sh team:list wabc1234xyz
scripts/nocodb.sh team:create wabc1234xyz '{"title":"Engineering"}'
API Tokens

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

scripts/nocodb.sh token:list
scripts/nocodb.sh token:create '{"title":"CI Token"}'
scripts/nocodb.sh token:delete tkn1a2b3c4d5e6f7g

Where Filter Syntax

Run scripts/nocodb.sh 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)"

Comments

Markdown supported