跳轉至

MCP 服務 / 訪問函數

於 7.5.0 版本新增

MCP 服務是 DataFlux Func 的一個用於支持 AI Agent 工具調用的功能。

用户可以通過 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) 匹配對象 匹配 ID 權限
scriptSet:mytest:r 腳本集 mytest 讀取
scriptSet:mytest:rw 腳本集 mytest 讀取、修改
scriptSet:mytest:rwx 腳本集 mytest 讀取、修改、執行
scriptSet:mytest:rwxp 腳本集 mytest 讀取、修改、執行、發佈
script:mytest__demo:r 腳本 mytest__demo 讀取
規則(通配 ID) 匹配對象 匹配 ID 權限
scriptSet:my*:r 腳本集 my* 通配 讀取
script:mytest__de*:r 腳本 mytest__de* 通配 讀取

1.3 配置 MCP 客户端

DataFlux Func 的 MCP 服務遵循 MCP 規範

在實際對接前,推薦使用 MCP Inspector 進行調試

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

配置項
URL 地址 {DataFlux Func 訪問地址}/mcp
/mcp2/mcp3
具體區別見下文「MCP 服務模式
請求頭 Authorization: Bearer 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": {
        "Authorization": "Bearer atk-xxxxx:xxxxx"
      }
    },
  }
}

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

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