MCP Connections and Access
An MCP connection decides what an MCP client can do in NocoDB: the projects it can reach and the tools it can call. Desktop and CLI clients use a connection that you create. Web clients get the same choices on the OAuth authorization screen.
Server Configuration (NocoDB)
Each MCP endpoint in NocoDB gives a secure URL. You can link this URL to an MCP-compatible client. After you configure it, the LLM can do database operations in your workspace from natural language prompts. You do not write SQL or scripts.
- Open Account Settings and select MCP Server.
- Open the Manual connections tab.
- Click New Connection.
- Type a name for the connection.
- Below Access, add the projects that it can reach, or give access to all resources.
- Below Tools & Permissions, allow the tools that this connection can call.
- (Optional) Below Opt-in tools, switch on a tool that the connection needs. Refer to Opt-in tools.
- Click Create connection. NocoDB generates the configuration for each supported client.
- Select the tab of your LLM client and copy its configuration. The Claude Code tab gives a command, the Codex tab gives a TOML block, and the other tabs give a JSON block. The Windsurf, Copilot and AntiGravity tabs carry the
/mcp-discoveryURL instead of/mcp, because those clients cap the tool list. Refer to Clients that cap the tool list.
The NocoDB MCP screen of a project lists the manual connections that reach that project, under Manual connections. New connections that you create there are pinned to that project. Thus this screen does not show Access when you create or edit a connection. To change the access of a connection, use MCP Server in Account Settings.

In the Community Edition, you create connections for each project:
- In the left sidebar, click Overview.
- Select the Settings tab.
- Select Model Context Protocol.
- Click New MCP Endpoint. This creates a new MCP config JSON for your project.
- Type a name for the MCP endpoint.
- Click Create. NocoDB generates the MCP Config JSON.
- Copy the generated JSON configuration. You use it in the configuration of your LLM client.


xc-mcp-token header, so existing configurations using it keep working.Connection tools and access
On all editions except the Community Edition, you create an MCP connection for your account, not for a single project. When you create it, you select what it can do. Use one connection for one MCP client.
Access sets what the connection can reach. Add the projects that it can use, or give it all resources.
Tools & Permissions is an allowlist of the tools that the connection can call. NocoDB does not register a tool that you do not allow, so the tool does not show in the tool list of the client. Set each section to Read, Read & write, Read, write & delete, or None. To allow single tools instead, expand the section. A new connection starts every section at Read, write & delete, so narrow the ones that a client does not need.
| Section | What it covers |
|---|---|
| Records & data | Records, comments, import and export |
| Schema | Tables, fields, duplicating, and how a project is organized |
| Views | Views, filters, sorts, sharing, form fields, row colors |
| Automation | Workflows, webhooks, scripts, and agents |
| Interfaces, dashboards & docs | Interface pages, dashboards, widgets, and documents |
| Account & workspaces | Who you are, your workspaces, the projects in them, and links into the app |
| Access & security | Field and table permissions, row-level security |
| Platform | Integrations, environments, and apps |
You can change a connection after you create it:
- Open the connection from the list, or click Edit connection in its row menu.
- Rename the connection, or change its Access and Tools & Permissions.
The change applies on the next call of the client, and the key stays the same. NocoDB shows the key only when you create or regenerate a connection.
Opt-in tools
Opt-in tools delete for good or act outside NocoDB. A connection never gets an opt-in tool unless you switch it on under Opt-in tools when you create or edit the connection. A section level such as Read, write & delete does not include them. All three are off in a new connection.
| Tool | What it does |
|---|---|
Delete Base (deleteBase) | Delete a project that this connection created. You cannot restore the project, over MCP or in the app. NocoDB also removes the link fields in other projects that point into it. |
Test Webhook (testHook) | Fire a webhook once with a sample payload. This sends a real request, email or message. |
Run Automation (executeWorkflow) | Run the published version of a workflow now. Its nodes write records, call external services and send messages. |

To see what deleteBase removes, call it without confirm. It deletes nothing and lists the link fields in other projects that point into the project, with a count for the ones in projects that the connection cannot read. To delete, call it again with confirm set to the exact project title.
The connection form cannot switch an opt-in tool on for a connection that was created before per-tool permissions existed. Create a new connection to use these tools.
Tools that the client finds on demand
On the /mcp-discovery endpoint, the NocoDB MCP server keeps its schema, automation and configuration write tools out of the tool list to save the context of the client. Most read tools and the record create, update, delete, link and unlink tools are in the list directly. The client uses two tools to reach the others:
| Tool | What it does |
|---|---|
listTools | Show the unlisted tools of one category, with their argument schemas. |
callTool | Run a tool that listTools showed. NocoDB checks the arguments against the schema of that tool. |
These two tools give no extra access. callTool runs only the tools that the connection allows.
The /mcp endpoint lists every tool that the connection allows, so it does not use these two tools. Refer to Clients that cap the tool list.
A connection can never do more than you can. Its authority is the part of your selection that your own roles also permit. NocoDB resolves this authority on each tool call, so a role change applies from the next call. Two rules are outside the access list:
- A connection can always reach a project that it creates.
- MCP connections cannot create a workspace.
Web based LLM Clients (OAuth)
Connect NocoDB to web-based LLM applications with OAuth. The LLM then gets database access directly from the browser, and you do not set up a desktop client. This method gives granular permission controls, and you do not configure JSON manually.
To get the steps for your tool, open Account Settings > MCP Server, or the NocoDB MCP screen of a project, and stay on the AI apps tab. Below Connect an AI app, select Claude, ChatGPT, Claude Code, Cursor, Codex, Windsurf, Copilot or Other tool. NocoDB gives the server URL and the command or values that the tool asks for, and the card reports the app as connected once you authorize it.

The authorization screen has the same Access and Tools & Permissions pickers as an MCP connection. Thus a client reaches only the projects that you add and calls only the tools that you allow. The screen starts every section at Read, write & delete.
Some clients name the permissions that they need in the authorization request. They use <category>:<level> pairs, for example records:read or tables:write. The level is read, write or delete. For these clients:
- The screen shows the requested permissions below Requested permissions, in place of the Tools & Permissions picker.
- You cannot edit this list. Authorize it as it is, or cancel.
- You still select the projects that the client reaches, below Access.
- The screen marks a permission that NocoDB does not offer. If you authorize, the client gets an
invalid_scopeerror, not a grant.
Managing and removing access
Account Settings > MCP Server holds both kinds of access, on two tabs. The NocoDB MCP screen of a project shows the same two tabs, limited to the apps and connections that reach that project.
Your AI apps, on the AI apps tab, lists the apps that you signed in with OAuth. Each row names the app and what it can do, and marks an app that can delete data. Last used shows how long ago the app last called NocoDB. An app that has not called NocoDB yet shows when it signed in.

| To do this | Do this |
|---|---|
| Change what an AI app can do | In the row of the app, click Manage. Below Tools & permissions, set a level for each section, or expand a section to allow single tools. Click Save changes. The change applies on the next call of the app. |
| Disconnect an AI app | In the row of the app, click Manage, then click Disconnect and confirm. The app loses access at once and must sign in again. |
| Change or remove a manual connection | Open the Manual connections tab, then edit the connection or delete it. A client that uses a deleted connection can no longer connect. |

An app that signed in before the tool picker existed, or one that asked for fixed permissions, carries no tool list. NocoDB shows its access read-only. To change what it does, disconnect it and sign it in again.
Disconnecting revokes the whole authorization. When you disconnect an app from a project screen, and the app also reaches other projects, it loses those too.
Account Settings > External Integrations lists the same OAuth authorizations with the date that you authorized each one, and its actions menu has Revoke. It shows "No authorized applications" until you authorize a client with OAuth. It is available on NocoDB Cloud and licensed self-hosted deployments, the editions that have OAuth.
API call usage
A tool call counts toward the API Calls allowance of the workspace. It counts as the same work would cost over the REST API, not as one call for each request. If a client sends several tool calls in one request, NocoDB charges each of them.
| Tool | Counts as |
|---|---|
| Link records, unlink records | one call per record, since the REST route takes one record at a time |
| Create, update, delete records | one call per 10 records, the REST bulk limit |
| Export CSV | one call per 1,000 rows returned |
| Upload attachments, import CSV | one call, since the REST route takes the whole set or file in one request |
| Submit feedback | nothing, NocoDB does not charge a feedback report |
| Every other tool | one call |
Related
Last updated on