跳转至

MCP 服务 / MCP 函数

于 7.5.0 版本新增

「MCP 函数」是 DataFlux Func 的一个用于支持 AI Agent 调用 Func 中函数的功能。

用户可以通过 MCP 服务的方式,向 AI Agent 提供 DataFlux Func 中的部分函数。

1. 接入步骤

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

1.1 创建 Access Token

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

并可以在规则中指定所需开放函数(如:按 category 字段值)

add-access-token.png

add-access-token-2.png

1.2 权限规则

权限规则可以手工编辑,从上到下依次匹配,按照首个命中的规则确定权限。

示例如下:

规则(精确匹配 ID) 允许调用
category:math category"math" 的函数
scriptSet:mytest 属于脚本集 mytest 的函数
script:mytest__demo 属于脚本 mytest__demo 的函数
func:mytest__demo.func ID 为 mytest__demo.func 的函数
规则(通配 ID) 允许调用
scriptSet:myte* 按脚本集 ID 通配 myte* 的函数
script:mytest__de* 按脚本 ID 通配 mytest__de* 的函数
func:mytest__demo.fu* 按函数 ID 通配 mytest__demo.fu* 的函数
规则(禁止 禁止调用
!category:math category"math" 的函数

1.3 配置 MCP 客户端

DataFlux Func 的 MCP 服务遵循 MCP 规范

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

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

配置项
URL 地址 {DataFlux Func 访问地址}/mcp
/mcp2/mcp3
具体区别见下文「MCP 服务模式
请求头 X-Dff-Access-Token: atk-xxxxx:xxxxx
示例:OpenCode 配置
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
{
  "mcp": {
    "dataflux-func-mcp": {
      "enabled": true,
      "type"   : "remote",
      "url"    : "{DataFlux Func 访问地址}/mcp",
      "headers": {
        "X-Dff-Access-Token": "atk-xxxxx:xxxxx"
      }
    }
  }
}
示例:Codex 配置
1
2
3
4
[mcp_servers.dataflux-func-mcp]
enabled      = true
url          = "{DataFlux Func 访问地址}/mcp"
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": {
      "type": "http",
      "url": "{DataFlux Func 访问地址}/mcp",
      "headers": {
        "X-Dff-Access-Token": "atk-xxxxx:xxxxx"
      }
    }
  }
}
示例:通用 JSON 配置
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
{
  "mcpServers": {
    "dataflux-func-mcp": {
      "url": "{DataFlux Func 访问地址}/mcp",
      "headers": {
        "X-Dff-Access-Token": "atk-xxxxx:xxxxx"
      }
    }
  }
}

修改配置后重启 AI Agent

很多 AI Agent 只会在启动时加载 MCP 服务配置。修改 MCP 服务配置后,如果新配置没有生效,请重启 AI Agent。比如在 VS Code 中使用 Codex 等 AI Agent 插件时,可以通过 Ctrl + P 输入 >Reload Window 重新加载窗口。

2. MCP 服务模式

DataFlux Func 的 MCP 服务根据接入路径不同,支持 3 种模式:

路径 模式
/mcp 基础模式
/mcp2 List-Call 模式
/mcp3 Search-Call 模式(推荐)

假设 Access Token 配置如下,且代码库中存在如下函数:

禁止 category:test,允许 category:math
1
2
!category:test
category:math

code.png

2.1 /mcp 基础模式

直接将所有可用函数作为 Tool 列出

注意:当函数列表改变时,需要客户端重连才能更新列表

2.2 /mcp2 List-Call 模式

仅提供两个 Tool:

  • list-func:列出函数
  • call-func:调用函数

可以实现动态函数列表,需要 AI Agent / 模型能够正常遵循 List-Call 方式进行调用

2.3 /mcp3 Search-Call 模式

仅提供两个 Tool:

  • search-func:查询函数
  • call-func:调用函数

可以实现根据关键字查询所需函数,需要 AI Agent / 模型能够正常遵循 Search-Call 方式进行调用

在函数数量较多时,可大幅减少上下文长度