mcpField
N
Nocodb MCP Server

Nocodb MCP Server

本地服务
github.com/edwinbernadus数据库7630 周前更新

关于 Nocodb MCP Server

NocoDB MCP Server 是一个用于操作 NocoDB 数据库的 MCP 服务,支持通过自然语言对表格记录执行增删改查。它是一个 TypeScript 分支版本,提供命令行调用与 Claude Desktop 配置方式。

主要功能

  1. 01对 NocoDB 表格记录进行增删改查
  2. 02通过 .env 文件配置实例与令牌
  3. 03支持命令行直接调用
  4. 04提供 Claude Desktop 配置示例

适用场景

  1. 01通过自然语言查询 NocoDB 表格数据
  2. 02从 JSON 文件创建 NocoDB 数据表
  3. 03在 AI 助手中批量维护表格记录

MCP 相关

该项目是 MCP 服务,将 NocoDB 的表格操作以 MCP 工具的形式提供给 Claude Desktop 等 MCP 客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nocodb": {
"command": "npx",
"args": [
"-y",
"nocodb-mcp-server"
]
}
}
}
启动命令npx -y nocodb-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmnocodb-mcp-server

工具

11

收录的工具列表 · 更新于 3 周前

参数类型必填说明
tableNamestring是
filtersstring否示例:where=(field1,eq,value1)~and(field2,eq,value2) 将筛选出 'field1' 等于 'value1' 且 'field2' 等于 'value2' 的记录。 还可以使用 'ne'(不等于)、'gt'(大于)、'lt'(小于)等其他比较运算符,创建复杂的筛选规则。 比较运算符 操作 含义 示例 eq 等于 (colName,eq,colValue) neq 不等于 (colName,neq,colValue) not 不等于(neq 的别名) (colName,not,colValue) gt 大于 (colName,gt,colValue) ge 大于或等于 (colName,ge,colValue) lt 小于 (colName,lt,colValue) le 小于或等于 (colName,le,colValue) is 是 (colName,is,true/false/null) isnot 不是 (colName,isnot,true/false/null) in 属于 (colName,in,val1,val2,val3,val4) btw 介于 (colName,btw,val1,val2) nbtw 不介于 (colName,nbtw,val1,val2) like 匹配 (colName,like,%name) isWithin 在范围内(仅适用于 Date 和 DateTime) (colName,isWithin,sub_op) allof 包含所有 (colName,allof,val1,val2,...) anyof 包含任意 (colName,anyof,val1,val2,...) nallof 不包含所有(包含零个或部分,但非全部) (colName,nallof,val1,val2,...) nanyof 不包含任何 (colName,nanyof,val1,val2,...) 比较子运算符 以下子运算符适用于 Date 和 DateTime 列。 操作 含义 示例 today 今天 (colName,eq,today) tomorrow 明天 (colName,eq,tomorrow) yesterday 昨天 (colName,eq,yesterday) oneWeekAgo 一周前 (colName,eq,oneWeekAgo) oneWeekFromNow 一周后 (colName,eq,oneWeekFromNow) oneMonthAgo 一个月前 (colName,eq,oneMonthAgo) oneMonthFromNow 一个月后 (colName,eq,oneMonthFromNow) daysAgo 多少天前 (colName,eq,daysAgo,10) daysFromNow 多少天后 (colName,eq,daysFromNow,10) exactDate 确切日期 (colName,eq,exactDate,2022-02-02) Date 和 DateTime 列中的 isWithin 使用另一组子运算符。 操作 含义 示例 pastWeek 过去一周 (colName,isWithin,pastWeek) pastMonth 过去一个月 (colName,isWithin,pastMonth) pastYear 过去一年 (colName,isWithin,pastYear) nextWeek 下一周 (colName,isWithin,nextWeek) nextMonth 下一个月 (colName,isWithin,nextMonth) nextYear 下一年 (colName,isWithin,nextYear) nextNumberOfDays 接下来的天数 (colName,isWithin,nextNumberOfDays,10) pastNumberOfDays 过去的天数 (colName,isWithin,pastNumberOfDays,10) 逻辑运算符 操作 示例 ~or (checkNumber,eq,JM555205)~or((amount, gt, 200)~and(amount, lt, 2000)) ~and (checkNumber,eq,JM555205)~and((amount, gt, 200)~and(amount, lt, 2000)) ~not ~not(checkNumber,eq,JM555205) 日期空值规则 (date,isnot,null) -> (date,notblank)。 (date,is,null) -> (date,blank)。
limitnumber否
offsetnumber否
sortstring否示例:sort=field1,-field2 将先按 'field1' 升序、再按 'field2' 降序对记录排序。
fieldsstring否示例:fields=field1,field2 将仅在 API 响应中包含 'field1' 和 'field2'。

详细介绍

MseeP.ai Security Assessment Badge

Nocodb MCP 服务

Trust Score smithery badge

简介

NocoDB MCP 服务可让您通过模型上下文协议(MCP)与 NocoDB 数据库无缝交互。借助此服务,您可以使用自然语言命令,轻松对 NocoDB 表执行 CRUD(创建、读取、更新、删除)操作。

示例提示词

[Get Records]
get data from nocodb, table: Shinobi

[Create Record]
add new row, with name: sasuke-2
add other row, with name: naruto-2

[Update Record]
update all rows, remove suffix -

[Delete Record]
delete all rows with name naruto

[Add Column]
add column with name: Age

update all rows, set Age to 18

[Delete Column]
delete column with name: Age

示例提示词 - 上传文件

[Create table]
from the json files
put on nocodb database
table name is TableShinobi

JSON 位置文件:example_upload.json

示例提示词 - 批量创建记录和批量删除记录

bulk_sample1 bulk_sample2 bulk_sample3

关于此分支

此代码仓库是 NocoDB-MCP-Server 的 TypeScript 分支。它保留了核心功能,同时提升了可维护性,并增强了与现代 TypeScript 开发实践的兼容性。

托管部署

可通过 Fronteir AI 使用托管部署。

设置

请确保已安装 Node.js 和 TypeScript,然后执行:

npm install
npm run build

配置

在 .env 文件中定义所需的环境变量:

NOCODB_URL=https://your-nocodb-instance.com
NOCODB_API_TOKEN=your_api_token_here
NOCODB_BASE_ID=your_base_id_here

**提示:**您可以从 env.example 复制模板并填写相应值。

如何获取 NOCODB_BASE_ID

如需查找 NOCODB_BASE_ID,请查看 Nocodb 实例的 URL。
例如: https://app.nocodb.com/#/wi6evls6/pqmob3ammcknma5/maty9c5xkmf4012
此 URL 格式如下:

https://app.nocodb.com/#/{USERNAME}/{NOCODB_BASE_ID}/{TABLE_ID}

与 Claude Desktop 集成

修改 claude_desktop_config.json,添加以下内容:

{
  "mcpServers": {
    "nocodb": {
      "command": "node",
      "args": ["{working_folder}/dist/start.js"],
      "env": {
        "NOCODB_URL": "https://your-nocodb-instance.com",
        "NOCODB_BASE_ID": "your_base_id_here",
        "NOCODB_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

通过 CLI 直接调用

您可以通过命令行直接调用 MCP 服务:
NOCODB_URL、NOCODB_API_TOKEN 和 NOCODB_BASE_ID 是必需参数。
如果您使用 NocoDB 云服务,请设置 NOCODB_URL=https://app.nocodb.com。

npx -y nocodb-mcp-server {NOCODB_URL} {NOCODB_BASE_ID} {NOCODB_API_TOKEN} 

CLI 测试

如需运行测试,请执行:

npx -y @wong2/mcp-cli npx nocodb-mcp-server {NOCODB_URL} {NOCODB_BASE_ID} {NOCODB_API_TOKEN} 

API 函数

有关可用 API 函数的详细信息,请参阅 API_FUNCTION.md。

项目结构

/project-root
  ├── src/            # TypeScript source files
  ├── dist/           # Compiled JavaScript output
  ├── .env            # Environment variable configurations
  ├── package.json    # Project dependencies and scripts
  ├── tsconfig.json   # TypeScript settings

贡献指南

欢迎贡献!您可以随时提交问题或拉取请求。

许可证

此项目基于 MIT 许可证发布。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。