NocoDB

by edwinbernadus

73 stars
365 downloads
Not rated
GitHub

About

Manage NocoDB server, support read and write databases

Details

Author
edwinbernadus
GitHub stars
73
Downloads
365
Categories
Database, Community, Other

- Perform CRUD operations on NocoDB tables via natural language
- Add, update, and delete columns and rows
- Upload files to create tables automatically
- Bulk create and delete records
- Supports direct CLI invocation and Claude Desktop integration

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name NocoDB
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install dependencies with npm install, build with npm run build, then configure environment variables NOCODB_URL, NOCODB_API_TOKEN, and NOCODB_BASE_ID. You can integrate it with Claude Desktop via claude_desktop_config.json or call it directly from the CLI with npx -y nocodb-mcp-server {NOCODB_URL} {NOCODB_BASE_ID} {NOCODB_API_TOKEN}.

nocodb-get-records

Nocodb - Get Recordshint: 1. Get all records from a table (limited to 10): retrieve_records(table_name="customers") 3. Filter records with conditions: retrieve_records( table_name="customers", filters="(age,gt,30)~and(status,eq,active)" ) 4. Paginate results: retrieve_records(table_name="customers", limit=20, offset=40) 5. Sort results: retrieve_records(table_name="customers", sort="-created_at") 6. Select specific fields: retrieve_records(table_name="customers", fields="id,name,email")

nocodb-get-list-tables

Nocodb - Get List Tables notes: only show result from output to user

nocodb-post-records

Nocodb - Post Records

nocodb-post-records-bulk

Nocodb - Post Records Multiple Records

nocodb-patch-records

Nocodb - Patch Records

nocodb-delete-records

Nocodb - Delete Records

nocodb-delete-records-bulk

Nocodb - Delete Records Multiple Records

nocodb-get-table-metadata

Nocodb - Get Table Metadata

nocodb-alter-table-add-column

Nocodb - Alter Table Add Column

nocodb-alter-table-remove-column

Nocodb - Alter Table Remove Column get columnId from getTableMetadata notes: remove column by columnId example: c7uo2ruwc053a3a [WARNING] this action is irreversible [RECOMMENDATION] give warning to user

nocodb-create-table

Nocodb - Create Table

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "nocodb": {
            "nocodb-mcp-server": {
                "command": "npx",
                "args": [
                    "-y",
                    "nocodb-mcp-server",
                    "{NOCODB_URL}",
                    "{NOCODB_BASE_ID}",
                    "{NOCODB_API_TOKEN}"
                ]
            }
        }
    }
}

McpServers

{
    "nocodb-mcp-server": {
        "command": "npx",
        "args": [
            "-y",
            "nocodb-mcp-server",
            "{NOCODB_URL}",
            "{NOCODB_BASE_ID}",
            "{NOCODB_API_TOKEN}"
        ]
    }
}

Nocodb MCP Server

Trust Score
smithery badge

Introduction

The NocoDB MCP Server enables seamless interaction with your NocoDB database using the Model Context Protocol (MCP). This server makes it easy to perform CRUD (Create, Read, Update, Delete) operations on NocoDB tables through natural language commands.

Example Prompt

[Get Records]
get data from nocodb, table: Shinobi

[Create Record]
add new row, with name: sasuke-2
add other row, with name: naruto-2

[Update Record]
update all rows, remove suffix -

[Delete Record]
delete all rows with name naruto

[Add Column]
add column with name: Age

update all rows, set Age to 18

[Delete Column]
delete column with name: Age

Example Prompt - Upload File

[Create table]
from the json files
put on nocodb database
table name is TableShinobi
JSON location file in: example_upload.json

Example Prompt - Bulk Create Records and Bulk Delete Records

bulk_sample1
bulk_sample2
bulk_sample3

About This Fork

This repository is a TypeScript-based fork of NocoDB-MCP-Server. It retains the core functionality while improving maintainability and compatibility with modern TypeScript development practices.

Hosted deployment

A hosted deployment is available on Fronteir AI.

Setup

Ensure that Node.js and TypeScript are installed, then execute:

npm install
npm run build

Configuration

Define the required environment variables in a .env file:

NOCODB_URL=https://your-nocodb-instance.com
NOCODB_API_TOKEN=your_api_token_here
NOCODB_BASE_ID=your_base_id_here

Tip: You can copy the template from env.example and fill in your values.

How to Obtain NOCODB_BASE_ID

To find your NOCODB_BASE_ID, check the URL of your Nocodb instance.
For example:
https://app.nocodb.com/#/wi6evls6/pqmob3ammcknma5/maty9c5xkmf4012
In this URL format:

https://app.nocodb.com/#/{USERNAME}/{NOCODB_BASE_ID}/{TABLE_ID}

Integration with Claude Desktop

Modify claude_desktop_config.json to include:

{
  "mcpServers": {
    "nocodb": {
      "command": "node",
      "args": ["{working_folder}/dist/start.js"],
      "env": {
        "NOCODB_URL": "https://your-nocodb-instance.com",
        "NOCODB_BASE_ID": "your_base_id_here",
        "NOCODB_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

Direct call from CLI

You can directly call the MCP server from the command line:
NOCODB_URL, NOCODB_API_TOKEN, and NOCODB_BASE_ID are required parameters.
NOCODB_URL=https://app.nocodb.com if you are using NocoDB cloud.

npx -y nocodb-mcp-server {NOCODB_URL} {NOCODB_BASE_ID} {NOCODB_API_TOKEN} 

Testing CLI

To run the tests, execute:

npx -y @wong2/mcp-cli npx nocodb-mcp-server {NOCODB_URL} {NOCODB_BASE_ID} {NOCODB_API_TOKEN} 

API Functions

For detailed information about available API functions, please refer to API_FUNCTION.md.

Project Structure

/project-root
  ├── src/            # TypeScript source files
  ├── dist/           # Compiled JavaScript output
  ├── .env            # Environment variable configurations
  ├── package.json    # Project dependencies and scripts
  ├── tsconfig.json   # TypeScript settings

Contribution Guidelines

Contributions are encouraged! Feel free to open issues or submit pull requests.

License

This project is distributed under MIT.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.