跳转至

MCP 服务 / MCP 编程

于 7.6.0 版本新增

「MCP 编程」是 DataFlux Func 的一个用于支持 AI Agent 在 Func 中编写、管理脚本的功能。

用户可以通过 MCP 服务的方式,允许 AI Agent 参与 DataFlux Func 中函数的编写和管理。

1. 接入步骤

可以按照如下步骤,将 MCP 客户端 / AI Agent 接入 DataFlux Func 的 MCP Coding 服务

1.1 创建 Access Token

访问 DataFlux Func 的 MCP Coding 服务需要创建 Access Token,并开启「MCP 编程」功能

并可以在规则中指定所需开放函数(如:按脚本集 ID)

add-access-token.png

add-access-token-2.png

1.2 权限规则

权限规则可以手工编辑,从上到下依次匹配,按照首个命中的规则确定权限;没有命中规则的对象不可访问。保存时会保留空行和 # 注释,匹配时忽略注释。

r(读取)、w(修改)、x(执行)和 p(发布)相互独立,可按任务需要组合。保存时统一按 r、w、x、p 排列。

示例如下:

规则(精确匹配 ID) 匹配对象 匹配 ID 权限
scriptSet:mytest:r 脚本集 mytest 读取
scriptSet:mytest:rw 脚本集 mytest 读取、修改
scriptSet:mytest:rwx 脚本集 mytest 读取、修改、执行
scriptSet:mytest:rwp 脚本集 mytest 读取、修改、发布
scriptSet:mytest:rwxp 脚本集 mytest 读取、修改、执行、发布
script:mytest__demo:r 脚本 mytest__demo 读取
规则(通配 ID) 匹配对象 通配 ID 权限
scriptSet:my*:r 脚本集 按 my* 通配 读取
script:mytest__de*:r 脚本 按 mytest__de* 通配 读取

脚本集规则也覆盖其下属脚本。对于脚本,执行草稿使用 x 权限,发布使用 p 权限;发布会进行平台脚本预检查,但不要求 x 权限或预先执行草稿。

创建函数 API、定时任务,或替换其绑定的 funcId 时,除了对应资源的 w 权限,还需要目标函数所属脚本的 x 权限,因为这些资源将执行该函数。

1.3 配置 MCP 客户端

DataFlux Func 的 MCP 服务遵循 MCP 规范

在实际对接前,推荐使用 MCP Inspector 进行调试

在 MCP 客户端 / AI Agent 中添加如下配置:

配置项 值
URL 地址 {DataFlux Func 访问地址}/mcp/coding
请求头 X-Dff-Access-Token: atk-xxxxx:xxxxx
示例:OpenCode 配置
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
{
  "mcp": {
    "dataflux-func-mcp-coding": {
      "enabled": true,
      "type"   : "remote",
      "url"    : "{DataFlux Func 访问地址}/mcp/coding",
      "headers": {
        "X-Dff-Access-Token": "atk-xxxxx:xxxxx"
      }
    }
  }
}
示例:Codex 配置
1
2
3
4
[mcp_servers.dataflux-func-mcp-coding]
enabled      = true
url          = "{DataFlux Func 访问地址}/mcp/coding"
http_headers = { "X-Dff-Access-Token" = "atk-xxxxx:xxxxx" }
示例:Claude Code 配置
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "mcpServers": {
    "dataflux-func-mcp-coding": {
      "type": "http",
      "url": "{DataFlux Func 访问地址}/mcp/coding",
      "headers": {
        "X-Dff-Access-Token": "atk-xxxxx:xxxxx"
      }
    }
  }
}
示例:通用 JSON 配置
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
{
  "mcpServers": {
    "dataflux-func-mcp-coding": {
      "url": "{DataFlux Func 访问地址}/mcp/coding",
      "headers": {
        "X-Dff-Access-Token": "atk-xxxxx:xxxxx"
      }
    }
  }
}

2. 实际操作示例

配置完成后,先在 MCP 客户端中确认已成功连接到 DataFlux Func 的 MCP Coding 服务:

opencode-mcp-status.png

连接成功后,直接描述需要完成的任务,并说明目标脚本集、脚本或函数,以及是否需要执行或发布。例如:

  • 同步脚本集 demo 的所有代码
  • 修改脚本 demo__test 中的函数,只保存草稿
  • 查询函数 demo__test.run 最近一天的失败任务记录,分析错误原因

查询任务记录时,需为 Access Token 配置所属脚本的 r 权限(也可从脚本集继承),或对应函数 API 的 r 权限;定时任务记录也可通过对应定时任务的 r / x 权限读取。

输入任务后,即可在客户端中查看处理过程和结果:

opencode-process.png

opencode-process-2.png

代码修改完成后,在 DataFlux Func 中刷新并查看修改结果。仅保存草稿时,不会影响已生效的代码;确认修改后,再发布脚本。

code.png