跳轉至

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 方式進行調用

在函數數量較多時,可大幅減少上下文長度