NocoDB MCP

Live

API KEY

DATABASE

Developer Tools

Connect your AI agent to NocoDB to create, read, update, and delete records, manage table schemas, handle linked records, and explore database structure — all through natural language. Agents can automate data workflows across any NocoDB base without writing SQL or clicking through the UI.

  • Acts as the user: Database reads and writes are tied to the NocoDB account owner who authorized the agent, keeping every operation fully traceable.
  • Credentials stay vaulted: AES-256, resolved at request time, never in LLM context.
  • Scoped before every call: Permissions enforced per-user. 90-day audit trail.
NocoDB MCP
agent · Acme Q3
Run
Show me all records from the Projects table and add a new one for the Q3 launch.
S
getRecords
85ms
NocoDB MCP agent
Fetched all 24 records from the Projects table and created a new record for the Q3 launch.
Sources: Projects table, 24 records
nocodbmcpmcp
24 records
18:29
Message Claude...

Tools your developer agent reaches for on NocoDB MCP, scoped per user.

CALL ANY TOOL
A full suite of NocoDB tools lets agents manage records, columns, linked data, and table schemas across any base.
nocodbmcp_aggregate
Aggregate
Perform aggregations (sum, count, avg, etc.) on table data with filtering and grouping
Parameters
Name
Type
Required
Description
aggregations
array
Required
List of aggregation operations to perform on the table fields.
filterGroups
array
Required
List of filter groups; each group produces a separate set of aggregation results.
tableId
string
Required
The unique ID of the NocoDB table to aggregate data from.
viewId
string
Optional
Optional view ID to scope the aggregation to a specific view's configuration.
nocodbmcp_countrecords
Countrecords
nocodbmcp_createrecords
Createrecords
nocodbmcp_deleterecords
Deleterecords
nocodbmcp_getbaseinfo
Getbaseinfo
nocodbmcp_getrecord
Getrecord
nocodbmcp_gettableschema
Gettableschema
nocodbmcp_gettableslist
Gettableslist
nocodbmcp_queryrecords
Queryrecords
nocodbmcp_readattachment
Readattachment
nocodbmcp_updaterecords
Updaterecords
Build your Agent
Same auth pattern across every framework.
Python · LlamaIndex
from langchain_mcp_adapters.client import MultiServerMCPClient
from scalekit import ScalekitClient

client = ScalekitClient(env_url=ENV_URL, client_id=CLIENT_ID, client_secret=SECRET)
token = client.agent.get_token(user_id="user_id", connector="nocodbmcp")

mcp = MultiServerMCPClient({
"nocodbmcp": {
"url": "https://mcp.scalekit.com/nocodbmcp",
"headers": {"Authorization": "Bearer " + token}
}
})
tools = await mcp.get_tools()
import OpenAI from "openai";
import { ScalekitClient } from "@scalekit-sdk/node";

const client = new ScalekitClient({ envUrl, clientId, clientSecret });
const token = await client.agent.getToken({ userId: "user_id", connector: "nocodbmcp" });

const openai = new OpenAI();
// Connect to MCP at https://mcp.scalekit.com/nocodbmcp
// Pass: Authorization: Bearer + token
import Anthropic from "@anthropic-ai/sdk";
import { ScalekitClient } from "@scalekit-sdk/node";

const client = new ScalekitClient({ envUrl, clientId, clientSecret });
const token = await client.agent.getToken({ userId: "user_id", connector: "nocodbmcp" });

const anthropic = new Anthropic();
// Connect to MCP at https://mcp.scalekit.com/nocodbmcp
// Pass: Authorization: Bearer + token
from google.adk.agents import LlmAgent
from scalekit import ScalekitClient

client = ScalekitClient(env_url=ENV_URL, client_id=CLIENT_ID, client_secret=SECRET)
token = client.agent.get_token(user_id="user_id", connector="nocodbmcp")
# Connect to MCP at https://mcp.scalekit.com/nocodbmcp
# Pass: Authorization: Bearer + token
Try these prompts
Paste any prompt into your agent to get started.
Search & retrieve
Copy the prompt
Copied
List all tables in my NocoDB base and show me the schema for the Customers table.
Copy the prompt
Copied
Get all records from the Orders table where status is pending and show me the linked contacts.
Create & update
Copy the prompt
Copied
Create a new record in the Projects table with name 'Q3 Launch', status 'In Progress', and due date next Friday.
Copy the prompt
Copied
Update all records in the Tasks table that are overdue and set their priority to High.
SEE HOW AUTH WORKS
User authorises once. Every agent call after uses their token with scope enforcement.
1
Authorize
Your user connects
NocoDB MCP
once. We tie it to their identity and the meetings they approved — no shared bot account, no org-wide access
Who:
user ‘A’
when:
Once per user
access:
Limited to user
2
Store
Their
NocoDB MCP
token lives in a vault scoped to them. User A's meetings are never reachable by an agent acting for user B, even on the same connection
vault:
encrypted
scope:
per-user
tokens:
auto-refreshed
3
Resolve
When your agent calls a
NocoDB MCP
tool, we fetch the right token server-side. It never touches your agent, never appears in the LLM context, never shows up in your logs
speed:
~40ms
check:
before every call
seen by:
nobody
4
Audit
Every
NocoDB MCP
tool call is logged — who triggered it, which meeting was fetched, what came back. 90 days of history, tied to the user who authorized it
history:
90 days
export:
SIEM-ready
logged:
every call
Test other agents
See the same per-user auth pattern across other connectors.
ENGINEERING
DevOps assistant agent
Triage GitHub incidents, open Linear tickets, and notify the on-call channel in Slack with context already attached.
ENGINEERING
Auto-release notes agent
Group merged GitHub PRs by feature, fix, or chore and publish release notes per tag. No manual changelog grooming.
Why Scalekit
Secure your agent's access. Connectors ship in minutes
Other connector libraries treat auth as a demo afterthought.
01.
Shared tokens break per-user analytics
A shared token looks fine in a demo. In production every call looks like a service account. Scalekit resolves the real user credential.
// shared token
audit → bot_service_account

// scalekit
audit → user_abc ✓
02.
Authentication is not authorization
“Our agents act across Salesforce, Gong, Google Drive, and more, on behalf of every customer. Scalekit behind the scenes meant we can keep adding tools without ever rebuilding how credentials or tool calling work.”
Venu Madhav Kattagoni
Head of Engineering / Von
FAQs
Frequently Asked Questions
Does the agent access NocoDB MCP as the user or as a shared key?
Scalekit resolves a per-user credential for each call. The NocoDB MCP audit log shows the real user identity, not a shared service account.
Where is the NocoDB MCP token stored?
In Scalekit's AES-256 encrypted vault, isolated per tenant. Tokens are auto-refreshed before expiry and revocable from a single dashboard without code changes.
Can I limit what the agent is allowed to do in NocoDB MCP?
Pass a toolNames filter to listScopedTools. Scalekit enforces the allowed set before every API call — the agent cannot invoke tools outside the approved list.
What happens when a user revokes NocoDB MCP access?
The token is invalidated at the next tool call. The agent fails closed rather than falling back to a shared key. Other users are unaffected and the revocation event is logged with a timestamp.
Can the agent write or delete records in NocoDB tables it should not touch?
By default, agents can call any tool the user's token permits. To restrict write and delete operations to specific tables, pass a toolNames filter when fetching scoped tools. Scalekit validates the filter before every call, so an agent cannot reach tables or operations outside the approved list even if the underlying NocoDB token would allow it.
Start in your coding agent
Up and running in one command
Install the Scalekit skill in your editor of choice. Connector, auth, tools, prompt, all wired up
Claude Code REPL
/plugin marketplace add scalekit-inc/claude-code-authstack
/plugin install agentkit@scalekit-auth-stack
Cursor Code REPL
# ~/.cursor/mcp.json
{
""mcpServers"": {
""nocodbmcp"": {
""url"": ""https://mcp.scalekit.com/nocodbmcp"",
""headers"": { ""Authorization"": ""Bearer $SCALEKIT_TOKEN"" }
}
}
}
Codex Code REPL
# ~/.codex/config.toml
[mcp_servers.nocodbmcp]
url = ""https://mcp.scalekit.com/nocodbmcp""
auth_env = ""SCALEKIT_TOKEN""
Copilot Code REPL
# .vscode/mcp.json
{
""servers"": {
""nocodbmcp"": {
""url"": ""https://mcp.scalekit.com/nocodbmcp"",
""type"": ""http""
}
}
}