Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the NocoDB MCP server

Vendor MCP
Open markdown

The NocoDB MCP connector routes your AI agent's tool calls to NocoDB's own MCP server through Scalekit. Each user signs in to NocoDB once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 11 tools.

Tools
11
What they doRead · write · destructive
9 · 0 · 29 read0 write2 destructive
Users sign in with
OAuth app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the NocoDB MCP connection

    In AgentKit > Connections, create a NocoDB MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for NocoDB MCP server, so you don't need to register an OAuth app.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'nocodbmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize NocoDB MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'nocodbmcp_getbaseinfo',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • nocodbmcp_aggregatePerform aggregations (sum, count, avg, etc.) on table data with filtering and groupingRead-only

    Aggregate

    Perform aggregations (sum, count, avg, etc.) on table data with filtering and grouping

    Inputs

    aggregationsarrayrequired
    List of aggregation operations to perform on the table fields.
    filterGroupsarrayrequired
    List of filter groups; each group produces a separate set of aggregation results.
    tableIdstringrequired
    The unique ID of the NocoDB table to aggregate data from.
    viewIdstring
    Optional view ID to scope the aggregation to a specific view's configuration.
  • nocodbmcp_countrecordsCount Records in a TableRead-only

    CountRecords

    Count Records in a Table

    Inputs

    tableIdstringrequired
    The unique ID of the NocoDB table to count records in.
    wherestring
    Filter expression to limit which records are counted. Uses NocoDB query syntax: (field,operator,value). Combine conditions with ~and / ~or.
  • nocodbmcp_createrecordsCreate records in a tableRead-only

    CreateRecords

    Create records in a table

    Inputs

    recordsarrayrequired
    List of records to create. Each record is an object with a 'fields' key containing field name-value pairs.
    tableIdstringrequired
    The unique ID of the NocoDB table to insert records into.
  • nocodbmcp_getbaseinfoFetch information about current baseRead-only

    GetBaseInfo

    Fetch information about current base

    Inputs

    This tool takes no inputs.

  • nocodbmcp_getrecordFetch a record by IDRead-only

    GetRecord

    Fetch a record by ID

    Inputs

    recordIdstringrequired
    The ID or primary key value of the record to fetch.
    tableIdstringrequired
    The unique ID of the NocoDB table containing the record.
    fieldsstring
    Comma-separated list of field names to include in the response. Leave blank to return all fields.
  • nocodbmcp_gettableschemaGet the table schema including fields and views informationRead-only

    GetTableSchema

    Get the table schema including fields and views information

    Inputs

    tableIdstringrequired
    The unique ID of the NocoDB table to retrieve the schema for.
  • nocodbmcp_gettableslistList tables accessible by userRead-only

    GetTablesList

    List tables accessible by user

    Inputs

    This tool takes no inputs.

  • nocodbmcp_queryrecordsQuery Records from a TableRead-only

    QueryRecords

    Query Records from a Table

    Inputs

    tableIdstringrequired
    The unique ID of the NocoDB table to query records from.
    fieldsarray
    List of field names to include in the response. Returns all fields when omitted.
    pagenumber
    Page number for pagination. Starts at 1.
    pageSizenumber
    Number of records to return per page. Default is 50.
    sortarray
    List of sort options. Each entry specifies a field name and sort direction.
    wherestring
    Filter expression using NocoDB query syntax: (field,operator,value). Combine with ~and / ~or.