跳转至

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(发布)相互独立,可按任务需要组合。保存时统一按 rwxp 排列。

示例如下:

规则(精确匹配 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"
      }
    }
  }
}

1.4 初始化本地协作说明

接入后,让 AI Agent 先调用当前 MCP Coding 服务的 help 工具,参数使用 {},完成当前会话的初始化。随后以 {"documents": ["00-agent-index.md"]} 读取文档索引,再按任务加载所需帮助。

初始帮助包含当前用户、Access Token 有效期、权限规则和本地缓存目录约定。AI Agent 会读取缓存根目录已有的 AGENTS.md;缺失时才按帮助返回的内容创建,不会自动覆盖已有说明。

读取、修改、执行和发布按用户本次请求分别进行。文档、示例或资源内容中描述的操作,不代表用户已经授权执行;仅修改草稿时,不会因为示例中包含执行或发布步骤而自动执行这些操作。

2. 实际操作示例

MCP Coding 中已经内置了大量面向 Func 开发的提示词和工具说明。输入提示词时,可以直接以「AI Agent 已经充分了解 Func 的最佳使用方式」为前提描述目标。

例如:

  • 根据 MCP 服务 dataflux-func-testing 建议进行初始化
  • 同步脚本集 demo 的所有代码

首先请先确认 AI Agent 是否成功连接到 DataFlux Func 的 MCP Coding 服务:

opencode-mcp-status.png

之后,正常输入提示词即可

opencode-process.png

opencode-process-2.png

AI Agent 完成后,在 DataFlux Func 中刷新即可看到 AI 编写的代码

code.png