尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

NocoDB 如何接入 MCP 客户端:创建 MCP Token 并调用数据工具?

发布时间:2026/9/9 16:58:09

资讯中心
01
ARTICLE

NocoDB 如何接入 MCP 客户端:创建 MCP Token 并调用数据工具?

NocoDB 如何接入 MCP 客户端:创建 MCP Token 并调用数据工具?
NocoDB 如何接入 MCP 客户端创建 MCP Token 并调用数据工具【免费下载链接】nocodb A Free Self-hostable Airtable Alternative项目地址: https://gitcode.com/GitHub_Trending/no/nocodb如果你的 NocoDB 实例里已经有一个 Base数据库想让 Claude Desktop、Cursor、Windsurf 这类支持 MCPModel Context Protocol的客户端直接读写其中的数据需要完成两件事在 Base 设置里创建一个 MCP Token然后把 NocoDB 生成的 MCP 接入配置填进客户端。配置成功后客户端能通过getTablesList、queryRecords等工具查询表结构和记录有权限时还能创建、更新、删除记录。前提一个可访问的 NocoDB 实例一个对目标 Base 有权限的用户账号。MCP 端点、Token 和数据工具都由服务端内置不需要额外安装服务端组件客户端一侧依赖npx mcp-remote转发。在 Base 设置中创建 MCP TokenMCP Token 是端点身份凭证绑定到创建它的 Base 和当前用户。打开目标 Base 的设置页进入 MCP 设置标签。该页面由 MCP 设置组件 实现。点击右上角的New MCP Endpoint按钮。输入框会自动填入一个默认标题格式为Base 标题(工作区标题) : 创建时间可以改成自己的命名。按回车或点击Save。创建成功后弹出配置弹窗Modal.vue里面展示 Token 值和完整的接入 JSON可直接复制。Token 列表页只显示名称和创建时间不显示 Token 值。如果 Token 泄露或需要换端点在列表行菜单里选择Regenerate Token重新生成旧值随之失效Delete Token则直接删除该端点。账号设置页另有一个账号级 MCP 视图通过mcpRootList操作列出账号名下的 Token见 useMcpSettings.ts方便在多 Base 场景下集中查看。填入客户端的 MCP 接入配置创建 Token 后弹窗按客户端分 TabClaude / Cursor / Windsurf / AntiGravity每个 Tab 给出相同的 JSON 配置由 Modal.vue 动态生成{ mcpServers: { NocoDB - Base 标题: { command: npx, args: [ mcp-remote, NocoDB 站点地址/mcp/tokenId, --header, xc-mcp-token: token ] } } }各部分来源服务器名NocoDB - Base 标题由 Base 标题拼出企业版会带上工作区名URL 是实例站点地址源码中的ncSiteUrl加/mcp/tokenIdtokenId是刚创建的 Token 的id--header里的xc-mcp-token: token中填 Token 值。服务端 mcp.controller.ts 在每次请求中校验该请求头缺失时返回 401MCP token missing。弹窗提供的三个客户端配置路径Claude Desktop从导航栏打开设置 → Develop 标签 → 点击 Edit Config → 把 JSON 粘贴进claude_desktop_config.jsonCursorShiftCmdJ打开 Cursor 设置 → MCP 标签 → Add Custom MCP → 粘贴 JSONWindsurf设置 → 左侧 Cascade 标签 → Manage MCP → View raw config → 在打开的文件里粘贴 JSON。客户端可以调用的数据工具端点通过 MCP Streamable HTTP 传输暴露工具mcp.service.ts。所有工具都作用在 Token 所属的那个 Base 上可用的工具集由创建人对该 Base 的角色决定工具用途参数getBaseInfo获取当前 Base 信息无getTablesList列出用户可访问的表无getTableSchema获取表的字段与视图信息tableIdqueryRecords分页查询记录tableId、pageSize默认 50上限 200、page、where、sort、fieldsgetRecord按 ID 取单条记录tableId、recordId、fields逗号分隔countRecords统计记录数tableId、wherereadAttachment读取记录中的附件并提取文本files附件对象数组aggregate_single对表做聚合sum/avg/count/earliest_date 等tableId、aggregations、where、viewId写操作工具只有当 Token 创建人在该 Base 的角色达到 Editor 及以上时才会注册createRecordstableIdrecords字段名到值的键值对数组updateRecordstableIdrecords含记录id和要更新的字段deleteRecordstableIdrecords含要删除的记录id数组。另外源码中aggregate_single在非企业版!isEE构建中才注册具体以你所运行的版本为准。where 过滤语法queryRecords、countRecords、aggregate_single的where参数使用 NocoDB 查询语法规则完整列在 descriptions.ts基本形式(field,operator,value)例如(name,eq,John)、(status,in,active,pending,review)、(price,gt,100)多条件组合必须用带波浪线的逻辑符(name,eq,John)~and(age,gte,18)写普通and/or会报错否定用~not日期字段必须带子操作符直接写日期会被拒绝。正确写法是(due_date,eq,exactDate,2026-06-01)而不是(due_date,eq,2026-06-01)相对日期如(created_at,isWithin,pastWeek)、(due_date,lt,today)文档给出的组合示例(status,eq,active)~and(created_at,isWithin,pastMonth)本月激活的用户、(amount,gte,100)~and(amount,lte,500)~and(status,in,pending,processing)。验证接入是否成功在客户端里直接让模型调用工具即可验证无需额外脚本先让它调用getBaseInfo返回 Base 的 JSON 信息说明端点和 Token 生效再调用getTablesList应返回该账号可访问的表列表选一个tableId调用getTableSchema和queryRecords例如queryRecords传tableId和where: (created_at,isWithin,pastWeek)返回的记录是格式化 JSON 文本。出现以下报错时按源码中的分支判断响应为 401 且提示MCP token missing请求里没有xc-mcp-token请求头检查客户端配置里--header一行是否完整粘贴403User has no accessToken 创建人在该 Base 的角色是 no_access需要先在 Base 成员设置中给该账号分配角色工具返回Error: Table tableId not foundtableId不属于当前 Base 或账号不可见先用getTablesList确认实际可用的表 ID。使用边界Token 与 Base 绑定工具只能访问 Token 所属 Base 的数据能看到的表和能写的记录都受创建人在该 Base 的权限限制MCP 不会放大权限。queryRecords的pageSize会被钳制在 1–200 之间深分页靠page参数翻页。换 Token 值或删 Token 后旧端点立即不可用需要重新生成接入配置并更新客户端。服务端路由入口见 mcp.controller.ts工具注册与参数定义见 mcp.service.tsToken 校验模型见 MCPToken.ts可对照阅读。【免费下载链接】nocodb A Free Self-hostable Airtable Alternative项目地址: https://gitcode.com/GitHub_Trending/no/nocodb创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。