数据库协议服务器

QuickBase MCP服务器是一个提供数据库表、字段、记录和关系全面管理的模型上下文协议服务,适用于需要灵活操作QuickBase数据库的开发场景。

  • by BLTCPT
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 BLTCPT/QuickBase-MCP-Server

使用说明

QuickBase MCP 服务器

一个模型上下文协议(MCP)服务器,为QuickBase操作提供最大灵活性。该服务器允许您通过MCP工具创建表、添加字段、修改关系,并执行所有QuickBase操作。

特点/特性

应用程序管理

  • 获取申请信息
  • 列出所有表
  • 测试连接

表操作

  • 创建新表
  • 获取表格信息
  • 更新表属性
  • 删除表格

现场管理

  • 获取表的所有字段
  • 创建新字段(支持所有类型)
  • 更新现有字段
  • 删除字段
  • 支持查找、公式和关系

记录操作

  • 带过滤和排序的查询记录
  • 获取特定记录
  • 创建单条或多条记录
  • 更新现有记录
  • 删除记录
  • 按文本搜索记录
  • 批量操作

关系管理

  • 建立父子关系
  • 获取现有关系
  • 外键管理

实用函数

  • 获取并运行报告
  • 高级查询功能
  • 错误处理和重试逻辑

安装

  1. 克隆并设置服务器:
cd quickbase-mcp-server
npm install
  1. 复制环境配置:
cp env.example .env
  1. 在(相应位置)配置您的QuickBase凭据 .env:
# QuickBase Configuration
QB_REALM=yourname.quickbase.com
QB_USER_TOKEN=your_quickbase_user_token_here
QB_APP_ID=yourid

# Optional: Default settings
QB_DEFAULT_TIMEOUT=30000
QB_MAX_RETRIES=3

# MCP Server Configuration
MCP_SERVER_NAME=quickbase-mcp
MCP_SERVER_VERSION=1.0.0
  1. 构建项目:
npm run build

获取您的QuickBase用户令牌

  1. 进入QuickBase → 我的应用 → 用户账户
  2. 点击“管理用户令牌”
  3. 点击“新用户令牌”
  4. 给它起个名字,比如“MCP服务器”
  5. 设置适当的权限
  6. 将令牌复制到您的 .env 文件

用法

独立运行服务器:

npm start

在您的MCP客户端配置中添加:

在您的MCP客户端配置中添加(例如,Claude Desktop):

{
  "mcpServers": {
    "quickbase": {
      "command": "node",
      "args": ["/path/to/quickbase-mcp-server/dist/index.js"],
      "env": {
        "QB_REALM": "yourname.quickbase.com",
        "QB_USER_TOKEN": "your_token_here",
        "QB_APP_ID": "yourid"
      }
    }
  }
}

可用工具

应用程序工具

  • quickbase_get_app_info - 获取应用程序信息
  • quickbase_get_tables - 列出所有表
  • quickbase_test_connection - 测试连接

表格工具

  • quickbase_create_table - 创建新表
  • quickbase_get_table_info - 获取表格详情
  • quickbase_delete_table - 删除表格

现场工具

  • quickbase_get_table_fields - 获取所有字段
  • quickbase_create_field - 创建新字段
  • quickbase_update_field - 更新现有字段
  • quickbase_delete_field - 删除字段

录音工具

  • quickbase_query_records - 带有筛选/排序的查询
  • quickbase_get_record - 获取特定记录
  • quickbase_create_record - 创建新记录
  • quickbase_update_record - 更新现有记录
  • quickbase_delete_record - 删除记录
  • quickbase_bulk_create_records - 创建多条记录
  • quickbase_search_records - 通过文本搜索

关系工具

  • quickbase_create_relationship - 创建表关系
  • quickbase_get_relationships - 获取现有关系

实用工具

  • quickbase_get_reports - 获取所有报告
  • quickbase_run_report - 运行特定报告

示例用法

创建一个新表:

{
  "name": "quickbase_create_table",
  "arguments": {
    "name": "New Projects",
    "description": "Project tracking table"
  }
}

向表中添加一个字段:

{
  "name": "quickbase_create_field",
  "arguments": {
    "tableId": "bu65pc8px",
    "label": "Project Status",
    "fieldType": "text_choice",
    "choices": ["Planning", "Active", "Complete", "On Hold"],
    "required": true
  }
}

带过滤条件的查询记录:

{
  "name": "quickbase_query_records",
  "arguments": {
    "tableId": "bu65pc8px",
    "where": "{6.EX.'John'}",
    "top": 10,
    "sortBy": [{"fieldId": 3, "order": "DESC"}]
  }
}

创建一条新记录:

{
  "name": "quickbase_create_record",
  "arguments": {
    "tableId": "bu65pc8px",
    "fields": {
      "6": {"value": "John Doe"},
      "7": {"value": "123 Main St"},
      "8": {"value": "john@example.com"}
    }
  }
}

支持的字段类型

  • text - 单行文本
  • text_choice - 单选下拉菜单
  • text_multiline - 多行文本
  • richtext - 富文本编辑器
  • numeric - 数字字段
  • currency - 货币字段
  • percent - 百分比字段
  • date - 日期字段
  • datetime - 日期/时间字段
  • checkbox - 复选框字段
  • email - 电子邮件字段
  • phone - 电话号码字段
  • url - URL 字段
  • address - 地址字段
  • file - 文件附件
  • lookup - 从另一个表中查找
  • formula - 计算字段
  • reference - 表引用

发展

以开发模式运行:

npm run dev

运行测试:

npm test

故障排除

常见问题

  1. 认证错误

    • 检查您的用户令牌是否正确
    • 验证令牌权限是否包含您的应用程序
    • 确保领域主机名正确
  2. 表/字段未找到

    • 验证表/字段ID是否正确
    • 检查您是否有访问权限
  3. 字段创建失败

    • 检查字段类型是否受支持
    • 为可选字段提供验证选项
    • 确保公式字段的公式语法正确

启用调试日志记录

设置环境变量:

DEBUG=quickbase-mcp:*

实施说明

这台服务器通过以下方式为QuickBase操作提供最大的灵活性:

  1. 直接API访问 直接使用QuickBase REST API v1
  2. 全面现场支持 - 支持所有QuickBase字段类型
  3. 关系管理 - 可以创建和管理表关系
  4. 批量操作 - 高效的大批量记录操作
  5. 高级查询 - 完全支持QuickBase查询语法
  6. 错误处理 - 全面的错误处理和重试逻辑

许可证

麻省理工学院许可证(MIT License)