通过MCP工具将订单信息传入多维表格

一、整体目标

当用户在对话中发送镜片采购单(图片)或镜片参数信息(文字)时,系统自动完成以下流程:

  1. 从图片或文字中识别镜片参数;

  2. 按固定 JSON 结构生成 lens_items 数据;

  3. 调用 MCP 工具“创建订单(新)”,将数据写入飞书多维表格;

该流程实现镜片订单从对话输入到结构化入库的自动处理,减少人工录入成本,并保证数据可追溯。

二、业务场景说明

用户在对话中提供以下任一类型信息时:

  • 镜片采购单图片;

  • 镜片参数文字(如数量、折射率、度数、品牌等);

系统需要将镜片相关数据写入飞书“订单信息表”,写入后,由飞书工作流进一步解析并处理。

三、AI 任务配置(lens_items 生成逻辑)

  1. 触发条件

当满足以下任一条件时触发该任务:

  • 用户发送的图片包含镜片参数或数量信息;

  • 用户发送的文字包含镜片信息(如镜片数量、折射率、验光度、品牌名称等)。

  1. 验光单识别规则(lens_items 生成规则)


一、验光单识别(lens_items生成规则)
规则总述:
每一片镜片 = 一个商品(lens_item),有对应数量
在一张图片中,存在多个品牌的镜片时=多个商品(lens_item),根据不同品牌名称生成对应的lens_item
只抽取图片里明确可见的文字
不猜、不补、不换算
不确定的字段输出 null,并写入 warnings
只输出 JSON,且必须使用固定结构
固定 JSON 输出结构:
{
  "lens_items": [
    {
      "side": null,
      "sphere": null,
      "cylinder": null,
      "axis": null,
      "index": null,
      "product": null,
      "qty": null,
      "parameter_text": null,
      "raw_line": null
    }
  ],
  "warnings": []
}
----------------------
二、存入信息处理
如果上下文中有品牌镜片参数信息,必须调用“创建订单”工具,将{{var.visitor.lens_items}}作为参数传给工具;从工具的返回值'data'中做分析。 

字段说明:

side:左右眼标识(R/L、OD/OS 等)

sphere:球镜度数

cylinder:柱镜度数(散光)

axis:散光轴位

index:折射率

product:品牌或产品名称

qty:数量

parameter_text:参数拼接后的可读文本

raw_line:原始识别文本

warnings:异常或不确定说明

四、工具调用实现方式

核心逻辑:调用飞书-新增记录API

调用飞书-新增记录API,利用MCP工具将信息传入

API文档:开发文档 - 飞书开放平台

  1. 创建飞书企业自建应用

Step 1. 打开开发者后台

进入飞书开放平台 → 企业自建应用

Step 2. 创建应用

填写应用名称与描述 → 点击创建

Step 3. 配置 API 权限

使用批量导入 JSON 的方式更快捷:

{
  "scopes": {
    "tenant": [
      "base:record:create",
      "base:record:retrieve",
      "bitable:app"
    ],
    "user": []
  }
}

点击 申请开通

Step 4. 发布版本

  1. 新建版本 → 版本号示例:1.0.0

  2. 填写变更说明

  3. 点击 保存确认发布

Step 5. 获取凭证

记录:

  • App ID

  • App Secret

  1. 访问授权配置

  2. 获取token

进入3Chat Agent → MCP → 访问授权,点击添加

  1. 进入详情页后,需要填写授权标题、授权描述和令牌信息。令牌前缀目前固定为 “Bearer”。

将获取到的App ID、App Secret填入请求体中

{
  "app_id": "cli_xxx",
  "app_secret": "xxx"
}

点击接口测试,选择令牌位置,点击保存

  1. MCP工具实现方式

工具名称:创建订单


工具描述:用于创建镜片订单。订单以 lens_items(镜片明细) 为核心:lens_items 中每个元素代表一个独立商品(1 个镜片产品条目),工具会为每个元素创建一条下单明细,并按 qty 下单。

AI 必须在识别数量不确定时,应将相应 qty 默认为1


参考API文档:开发文档 - 飞书开放平台

  1. 请求地址

https://open.feishu.cn/open-apis/bitable/v1/apps/:app_token/tables/:table_id/records

  1. 路径参数

  2. app_token:多维表格 App 的唯一标识。参考下图高亮部分:

  1. table_id:多维表格数据表的唯一标识。获取方式:你可通过多维表格 URL 获取 table_id,下图高亮部分即为当前数据表的 table_id

  1. token配置

选择在访问授权中配置的token

  1. 请求体

{
  "fields": {
    "accountId": "{{var.visitor.accountId}}",
    "conversationId": "{{var.conversation.id}}",
    "log": "{{lens_items}}"
  }
}

字段说明:

accountId:客户账号标识

conversationId:对话 ID

log:镜片明细 JSON 字符串

以上配置完毕后点击下一步 → 保存即可

五、完整流程总结

用户发送图片或参数 → AI 识别生成 lens_items → 调用 MCP 工具写入飞书表格 → 生成订单记录或执行后续业务逻辑。