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 欄位值)
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 | |
修改配置後重啟 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 | |
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 方式進行呼叫
在函式數量較多時,可大幅減少上下文長度
