网淘吧来吧,欢迎您!

Dingtalk Ai Table

2026-03-30 新闻来源:网淘吧 围观:8
电脑广告
手机广告

钉钉 AI 表格操作(新版 MCP)

新版 MCP schema工作:

  • Base:baseId
  • Table:tableId
  • Field:fieldId
  • Record:recordId

不要再用旧版dentryUuid / sheetIdOrName / fieldIdOrName

Dingtalk Ai Table

版本守门规则(每个 MCP Server 地址只强制检查一次)

在真正开始任何 AI 表格操作前,必须先检查当前mcporter注册的dingtalk-ai-tableMCP server 实际返回的 tools schema。但这个检查不该每次都重复做;同一个 MCP Server 地址只需要强制检查一次。

一次性检查策略

  1. 先读取当前mcporter钉钉AI表格对应的 MCP 服务器地址。
  2. 使用此地址生成一个本地检查标记(例如基于完整 URL 或其哈希值)。
  3. 在工作区保存检查结果,例如保存到:
~/.openclaw/workspace/.cache/dingtalk-ai-table/

建议的文件名模式:

schema-check-<url-hash>.json
  1. 如果当前地址对应的检查标记已存在,并且结果是“已确认新版 schema”,则跳过重复检查,直接继续后续的 AI 表格操作。
  2. 仅在以下情况下才重新强制检查:
    • 第一次运行,没有检查标记
    • mcporter中的 MCP 服务器地址已更改
    • 之前的检查结果是旧版 schema / 检查失败
    • 用户明确要求重新验证

强制检查时执行

mcporter list dingtalk-ai-table --schema

判断标准

如果返回的 tools 仍然是旧版这一套,例如出现:

  • get_root_node_of_my_document
  • create_base_app
  • list_base_tables
  • add_base_record
  • search_base_record
  • list_base_field

或者整体仍然基于:

  • dentryUuid
  • sheetIdOrName
  • fieldIdOrName

那么说明:虽然 skill 文件已经是新版,但 mcporter 里注册的 MCP server 地址还是旧的,不能继续操作。

遇到旧版 schema 时的强制提示

此时必须明确提示用户:

  1. 打开这个页面:https://mcp.dingtalk.com/#/detail?mcpId=9555&detailType=marketMcpDetail
  2. 点击右侧「获取 MCP Server 配置」按钮
  3. 复制新的 MCP Server 地址
  4. 用新的地址替换mcporter里已经注册的dingtalk-ai-table地址
  5. 替换完成后,再重新执行:
mcporter list dingtalk-ai-table --schema

只有当返回的 tools 已经变成新版 schema,例如出现:

  • list_bases
  • get_base
  • get_tables
  • get_fields
  • query_records
  • create_records
  • 更新记录
  • 删除记录

才允许继续真正的 AI 表格操作。

通过检查后的处理

一旦确认当前 MCP Server 地址返回的是新版 schema,就把结果写入本地检查标记。后续只要mcporter里的dingtalk-ai-table地址没变,就不要再重复做这一步守门检查。

用户提示文案(可直接复用)

当前 mcporter 里注册的 dingtalk-ai-table 还是旧版 MCP schema,暂时不能按新版技能操作。
请打开 https://mcp.dingtalk.com/#/detail?mcpId=9555&detailType=marketMcpDetail ,点击右侧“获取 MCP Server 配置”按钮,复制新的 MCP Server 地址,并替换 mcporter 里已注册的 dingtalk-ai-table 地址。替换后重新检查 schema,确认出现 list_bases / get_base / create_records 等新版 tools 后,再继续操作 AI 表格。

前置要求

安装 mcporter CLI

npm install -g mcporter
# 或
bun install -g mcporter

验证:

mcporter --version

配置 MCP Server

在钉钉 MCP 广场https://mcp.dingtalk.com/#/detail?mcpId=9555&detailType=marketMcpDetail获取新版钉钉 AI 表格 MCP 的Streamable HTTP URL

方式一:直接配置到 mcporter

mcporter config add dingtalk-ai-table --url "<Streamable_HTTP_URL>"

方式二:使用环境变量

export DINGTALK_MCP_URL="<Streamable_HTTP_URL>"

这个 URL 带访问令牌,等同密码,不要泄露。

工作区沙箱

脚本读取本地文件时,会优先使用OPENCLAW_WORKSPACE作为允许根目录:

export OPENCLAW_WORKSPACE="$HOME/.openclaw/workspace"

未设置时默认使用当前工作目录。

核心工具集

基础层

  • 列出基础
  • 搜索基础
  • 获取基础
  • 创建基础
  • 更新基础
  • 删除基础
  • 搜索模板

表格层

  • 获取表格
  • 创建表格
  • 更新表格
  • 删除表格

字段层

  • 获取字段
  • 创建字段
  • 更新字段
  • 删除字段

记录层

  • 查询记录
  • 创建记录
  • 更新记录
  • 删除记录

推荐工作流

1. 先找 Base

mcporter call dingtalk-ai-table list_bases limit=10 --output json
mcporter call dingtalk-ai-table search_bases query="销售" --output json

2. 再拿 Table 目录

mcporter call dingtalk-ai-table get_base baseId="base_xxx" --output json

3. 再展开表结构

mcporter call dingtalk-ai-table get_tables \
  --args '{"baseId":"base_xxx","tableIds":["tbl_xxx"]}' \
  --output json

4. 字段复杂时读完整配置

mcporter call dingtalk-ai-table get_fields \
  --args '{"baseId":"base_xxx","tableId":"tbl_xxx","fieldIds":["fld_xxx"]}' \
  --output json

5. 再查 / 写记录

mcporter call dingtalk-ai-table query_records \
  --args '{"baseId":"base_xxx","tableId":"tbl_xxx","limit":20}' \
  --output json

mcporter call dingtalk-ai-table create_records \
  --args '{"baseId":"base_xxx","tableId":"tbl_xxx","records":[{"cells":{"fld_name":"张三"}}]}' \
  --output json

脚本

批量新增字段

python3 scripts/bulk_add_fields.py <baseId> <tableId> fields.json

fields.json示例:

[
  {"fieldName":"任务名","type":"text"},
  {"fieldName":"优先级","type":"singleSelect","config":{"options":[{"name":"高"},{"name":"中"},{"name":"低"}]}}
]

兼容项:

  • name会自动映射为fieldName
  • phone会自动映射为telephone

批量导入记录

python3 scripts/import_records.py <baseId> <tableId> data.csv
python3 scripts/import_records.py <baseId> <tableId> data.json 50

说明:

  • CSV 表头默认按fieldId解释
  • JSON 支持:
    • [{"cells": {...}}]
    • [{"fld_xxx": "value"}]

安全规则

  • 文件路径受OPENCLAW_WORKSPACE沙箱限制
  • 仅允许读取工作区内.json/.csv文件
  • Base / Table / Field / Record ID 都做格式校验
  • 批量上限按 MCP server 实际限制控制:
    • create_fields:最多 15
    • get_tables / get_fields:最多 10
    • create_records / update_records / delete_records:最多 100

调试原则

  • get_base,再get_tables,必要时get_fields
  • 不要猜fieldId
  • 复杂参数一律用--argsJSON
  • 单选 / 多选过滤时必须传入选项ID,而非选项名称

参考

  • API参考:references/api-reference.md
  • 错误排查:references/error-codes.md

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Openclaw Safety Coach 下一篇:Qbittorrent

相关文章

您是本站第321865名访客 今日有132篇新文章/评论