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
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. 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>Create the NocoDB MCP connection
In AgentKit > Connections, create a NocoDB MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for NocoDB MCP server, so you don't need to register an OAuth app.
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.actionsconst connector = 'nocodbmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { 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 callconst result = await actions.executeTool({connector,identifier,toolName: 'nocodbmcp_getbaseinfo',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "nocodbmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize NocoDB MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="nocodbmcp_getbaseinfo",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolnocodbmcp_aggregatePerform aggregations (sum, count, avg, etc.) on table data with filtering and groupingRead-onlyAggregate
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-onlyCountRecords
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-onlyCreateRecords
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-onlyGetBaseInfo
Fetch information about current base
Inputs
This tool takes no inputs.
nocodbmcp_getrecordFetch a record by IDRead-onlyGetRecord
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-onlyGetTableSchema
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-onlyGetTablesList
List tables accessible by user
Inputs
This tool takes no inputs.
nocodbmcp_queryrecordsQuery Records from a TableRead-onlyQueryRecords
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.
nocodbmcp_readattachmentRead attachments in a recordRead-onlyReadAttachment
Read attachments in a record
Inputs
filesarrayrequired- List of attachment objects from NocoDB. Each attachment must include title, mimeType, size, and either a URL or a path.
nocodbmcp_deleterecordsDelete records in a tableDestructiveDeleteRecords
Delete records in a table
Inputs
recordsarrayrequired- List of records to delete. Each entry must include the record ID.
tableIdstringrequired- The unique ID of the NocoDB table to delete records from.
nocodbmcp_updaterecordsUpdate records in a tableDestructiveUpdateRecords
Update records in a table
Inputs
recordsarrayrequired- List of records to update. Each entry must include the record ID and a 'fields' object with the updated values.
tableIdstringrequired- The unique ID of the NocoDB table to update records in.
No tools match.