DATAFOCUS · OT FLASH · R56

OT Flash Agent 與 MCP 接入手冊

協議 授權 工具合約與完整調用流程

使用 OT Flash r56 的公共 Remote MCP 構建可追溯的數據與知識應用。本冊給出 OAuth、協議報文、所有已聲明工具的參數參考、證據規則、條件能力及恢復流程,並提供可運行客戶端和合成數據示例。

Agent 開發者 整合工程師及管理員

配套樣例保留中文顯示欄位名。介面語言和說明正文的翻譯不會改變實際表名、欄位名、枚舉值、工具名或協定欄位。

章節 1

Agent 接入範圍與完成標準

選擇授權入口,依據服務端回執完成查詢、取證或受控寫入。

OT Flash r56 通過 Remote MCP 向外部 Agent 提供本體範圍內的數據與知識能力,並提供獨立業務工作臺入口。Agent 應以實際 tools/list、inputSchema、OAuth scope 和當前資源權限決定可執行工作,不能根據靜態手冊推斷一個部署已經啟用所有可選功能。

圖 A1 外部 Agent 通過 OAuth 和 MCP 使用原查詢、知識與業務能力。接口關係示意圖。
入口用途邊界
/mcp本體 數據表 文檔知識 原生 Search 及條件開放的分析與建模當前用戶權限與本次授權資源的交集
/mcp/business業務系統發現 查詢 動作計劃 狀態與執行獨立業務系統授權及發佈合約
本體智能體嵌入頁在人類界面中使用本體對話依賴真實登錄態,不是免登錄 MCP Token 交換入口

能力分類

  • 基礎讀取:本體與資源、圖譜定位、知識檢索與完整原文、授權表詳情和 Doris SQL。
  • 獨立委託:dfc_search 需要 search:operate,並繼續使用原用戶和模型權限。
  • 條件開放:分析、持久報告、製品草稿與應用、本體模型查詢和委託 Agent 任務。
  • 不可用能力:Flash 的 dfc_etl 僅報告 capabilities,不提供 Heavy ETL 執行。AutoML 以及內部 FocusCode 工作空間入口不屬於本冊公共 Flash API。

完成標準

讀事實必須取得實際可用的查詢或完整原文回執;生成候選必須說明尚未套用;發佈必須有真實 APPLIED 回執;取消必須區分請求與確認。用回答文字、HTTP 200、工具已接收或模型「已完成」的描述,都不能單獨證明業務操作成功。

配套 reference/mcp-tool-catalog.json 是 r56 的離線聲明參考,包含條件開啟的定義並非任何用戶的實時 tools/list。完整目錄包括 28 個本體核心工具、4 個控制器條件擴展及 8 個業務側工具,不代表默認全部開放。

章節 2

快速連接與能力發現

用實例正式域名開始,以最小權限發現實際可用工具。

  1. 向管理員取得正式 HTTPS 根地址和需要訪問的本體或業務系統。不要使用文檔中的示例域名調用真實業務。
  2. 將 MCP 服務器地址配置為 https://flash.example.com/mcp,業務工作臺使用同域的 /mcp/business。
  3. 按客戶端支持觸發 OAuth 登錄與授權,核對資源和 scope;不要提交用戶名密碼到 MCP。
  4. 使用對應時代的協議發現或初始化,再讀取 tools/list 與資源說明。
  5. 先做一個小範圍只讀請求,核對結構化結果和錯誤,再執行用戶目標。

客戶端配置片段

json
{
  "mcpServers": {
    "ot-flash": {
      "url": "https://flash.example.com/mcp"
    }
  }
}

該片段說明服務器地址的配置意圖,具體配置文件結構和 OAuth 支持取決於客戶端。不要在公開文件中填寫真實 access_token、refresh_token、Cookie 或管理員密碼。

現代協議發現

http
POST /mcp HTTP/1.1
Host: flash.example.com
Authorization: Bearer <ACCESS_TOKEN>
Content-Type: application/json
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
Mcp-Method: server/discover

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "server/discover",
  "params": {
    "_meta": {
      "io.modelcontextprotocol/protocolVersion": "2026-07-28",
      "io.modelcontextprotocol/clientInfo": {"name": "flash-client", "version": "1.0.0"},
      "io.modelcontextprotocol/clientCapabilities": {}
    }
  }
}

接入前檢查

  • 資源根地址、OAuth issuer 和反向代理對外地址一致。
  • 客戶端支持相應協議時代,而不是向新協議入口固定發送 initialize。
  • 當前授權綁定需要的本體或業務系統。
  • Token 有效,且新的可選 scope 已經獲得明確授權。
章節 3

OAuth 發現 註冊與授權

使用授權碼和 PKCE,不向 Agent 暴露產品登入憑據。

圖 A2 OAuth 授權碼與 PKCE 流程。時序示意圖。
端點方法作用
/.well-known/oauth-protected-resourceGET本體 MCP 資源發現
/.well-known/oauth-protected-resource/mcpGET本體資源路徑兼容發現
/.well-known/oauth-protected-resource/mcp/businessGET業務 MCP 資源發現
/.well-known/oauth-authorization-serverGET授權服務器元數據
/oauth/registerPOST JSON動態註冊 public client
/oauth/authorizeGET 或 POST form登錄 選擇資源並確認授權
/oauth/tokenPOST form授權碼兌換和輪換刷新
/oauth/revokePOST formToken 吊銷
/oauth/grantsGET已登錄用戶查看授權連接
/oauth/grants/revokePOST form按原頁面流程撤銷連接

授權順序

  1. 讀取受保護資源元數據與授權服務器元數據。無 Token 請求返回的 401 及 WWW-Authenticate 會指向資源發現地址。
  2. 註冊或使用客戶端身份。r56 的動態註冊 public client 使用 token_endpoint_auth_method=none;不能用客戶端密鑰替代 PKCE。
  3. 生成隨機 state 與 code_verifier,計算 S256 code_challenge。
  4. 打開元數據指示的 authorize 地址,傳 response_type=code、client_id、精確 redirect_uri、scope、resource、state、code_challenge 和 code_challenge_method=S256。
  5. 用戶在 DataFocus 登錄並選擇本體或業務系統。客戶端不能預先選入用戶無權訪問的資源。
  6. 接收回調,驗證 state 和 issuer;使用原 code_verifier 兌換授權碼。
  7. 僅把 access_token 用於 MCP Bearer 認證。刷新使用原 OAuth 流程,安全保存輪換後的 refresh_token。

註冊示例

json
{
  "client_name": "OT Flash Knowledge Client",
  "redirect_uris": ["http://127.0.0.1:8765/callback"],
  "application_type": "native",
  "token_endpoint_auth_method": "none",
  "grant_types": ["authorization_code", "refresh_token"],
  "response_types": ["code"]
}

Web 客戶端回調使用 HTTPS;native 客戶端可使用受支持的回環地址。授權與換 Token 都按登記的回調精確匹配。一個 Grant 面向一個 protected resource,不把本體 scope 與業務工作臺 scope 混在同一連接。

Token 生命週期

r56 服務端缺省 access token 為 3600 秒、refresh token 為 2592000 秒、授權碼為 300 秒,部署可以覆蓋這些值。客戶端必須使用 token 響應的 expires_in 和實際錯誤判斷,不將缺省值寫死。刷新後更新 Token;撤銷角色、資源權或 Grant 會使後續調用被拒絕。

章節 4

Scope 資源邊界與實時權限

授權範圍委託現有權限,不授予角色提升,也不跨 Grant 共享業務狀態。

Scope典型能力重要約束
ontology.metadata:read本體 資源 表結構本體及表必須在授權和當前可讀範圍內
ontology.graph:read圖譜搜索和鄰居返回定位信息,不是事實證據
ontology.knowledge:read知識定位和完整原文保留知識庫和文檔原權限
ontology.table:query本體表 SQL 及發佈模型查詢表查詢還需要 metadata scope;實際來源和列權繼續生效
search:operate原生關鍵詞模型與會話獨立明確委託,按原模型和用戶表列權限執行
etl:operateFlash ETL capabilities不開放 Heavy ETL
authoring.contract:read條件開放的建模合約還需功能開關和相關資源
authoring.artifact:read候選與計劃等當前授權讀取綁定原主體 Grant 和資源
authoring.artifact:draft候選提交 預覽等不授權執行或發佈
authoring.artifact:apply受控計劃與應用仍需原業務角色 策略與審批
execution.script:draft特定腳本草稿不授權實際腳本執行
datasource.http:read / draft / test / import條件開放的 HTTP 數據源製品能力每項獨立開關和原權限
圖 A3 用戶權限、Grant、所選資源和功能配置共同決定可用能力。示意圖。

讀取組合要求

dfc_table detail 要求 ontology.metadata:read;query 另要求 ontology.table:query。dfc_ontology_query 要求 graph 與 knowledge 兩個讀取 scope。dfc_knowledge_search/detail 要求 knowledge。published_model/published_query 走 table:query;candidate_query 還需 authoring.artifact:read。分析工具還檢查允許的證據 scope;持久報告要求 metadata 與 table query。

默認授權不要硬編碼

r56 的本體默認 scope 集合包含 table query;Search 和 ETL 是顯式委託。最終仍以發現元數據、授權頁、實際 Token scope 和 tools/list 為準。舊文檔中“本體默認一定沒有 SQL”或“只有六個工具”的說法不能作為當前實現依據。

狀態隔離

會話、報告、候選和動作計劃都有自己的所有者與範圍。access token 刷新不會把原 Grant 的工作交給另一個 Grant。不要把另一連接返回的 sessionId、reportId、planId、審批令牌或來源 Token 合併到當前連接。

章節 5

HTTP 與現代 MCP 報文

正確發送逐請求元數據和匹配的路由頭,分別處理 HTTP 與工具結果。

專案r56 行為
傳輸無狀態 Streamable HTTP,POST JSON-RPC
支持標識2026-07-28 以及 2025-11-25 2025-06-18 2025-03-26
現代方法server/discover tools/list tools/call resources/list resources/read,按實際能力開放
會話頭不分配 Mcp-Session-Id
GET 與 DELETE/mcp 與 /mcp/business 回傳 405
服務端 SSE 通知這兩個公共 MCP 入口不提供
目錄快取現代發現及列表返回 ttlMs=60000 與 cacheScope=private
普通結果現代結果包含 resultType=complete 與服務身分中繼資料

必須匹配的內容

  • MCP-Protocol-Version 與 params._meta 中 io.modelcontextprotocol/protocolVersion 一致。
  • Mcp-Method 與 JSON-RPC method 一致。
  • tools/call 的 Mcp-Name 與 params.name 一致;resources/read 的名稱頭與 URI 一致。
  • 每個現代請求都攜帶 io.modelcontextprotocol/clientCapabilities 物件;同時提供標準 clientInfo 便於用戶端識別。

呼叫範例

json
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "dfc_ontologies",
    "arguments": {"page": 1, "pageSize": 20},
    "_meta": {
      "io.modelcontextprotocol/protocolVersion": "2026-07-28",
      "io.modelcontextprotocol/clientInfo": {"name": "flash-client", "version": "1.0.0"},
      "io.modelcontextprotocol/clientCapabilities": {}
    }
  }
}

對應 HTTP 頭為 Mcp-Method: tools/call 和 Mcp-Name: dfc_ontologies。所有例子中的 ACCESS_TOKEN 都是佔位符。不要將 Bearer Token 放進 URL、JSON 參數或快取鍵。

結果讀取

先處理 HTTP 狀態,再檢查 JSON-RPC error;有 result 時繼續檢查 isError。成功工具結果通常提供 structuredContent,同時有包含相同業務 JSON 的 text 內容;優先讀取結構化通道,避免把 text 和 structuredContent 當作兩份獨立事實重複彙總。HTTP 200 可能攜帶工具失敗。

公共資源與 UI

內建說明資源不依賴 MCP Apps。業務工作臺入口不因此獲得本體說明資源。支援視覺化的用戶端應透過實際能力與工具 _meta 發現對應 UI,不猜測未返回的資源 URI。

章節 6

舊協定用戶端相容

在仍使用初始化握手的用戶端中保持一致的協定時代。

json
{
  "jsonrpc": "2.0", "id": 1, "method": "initialize",
  "params": {
    "protocolVersion": "2025-11-25",
    "capabilities": {},
    "clientInfo": {"name": "flash-legacy-client", "version": "1.0.0"}
  }
}
  1. 發送 initialize,讀取服務端協商的協定版本與 capabilities。
  2. 按用戶端協定發送必要的初始化完成通知;通知沒有普通工具結果。
  3. 使用 tools/list 讀取當前授權工具,再發送 tools/call。
  4. 保持當前請求時代的頭和報文一致,不向 2026-07-28 報文發送舊 initialize 或 ping 流程。

舊協定仍使用相同 Bearer/OAuth、權限和工具合同。它不意味著伺服器一定提供舊式 SSE 長連接或 Mcp-Session-Id;r56 的公共服務保持無狀態。

協定錯誤

情況典型結果處理
現代頭與報文不一致HTTP 400 JSON-RPC -32020修正頭、中繼資料及工具名
不支援的版本-32022 並提供支援版本列表選擇實際支援的協定
未知方法JSON-RPC -32601,現代請求可能 HTTP 404檢查協定時代與方法
缺少參數或非法參數JSON-RPC 參數錯誤或工具 isError按實際 inputSchema 修正
章節 7

選擇正確工具與證據通道

根據未解決的業務問題路由,不用固定呼叫鏈重複取證。

圖 A4 按任務選擇表 SQL、知識證據、Search、分析或業務動作。路由示意圖。
任務首選工具完成所需證據
發現授權主題與資源dfc_ontologies dfc_ontology_resources實際資源 ID 類型及當前可見範圍
表格統計與 TopNdfc_table query成功執行回執及完整 evidenceRows
查制度、合同或報告dfc_ontology_query 或 knowledge search/detail完整、授權、可用於事實的原文
定位圖譜物件dfc_ontology_graph search/neighbors定位到實際來源,再取得對應事實
原關鍵字互動dfc_manual 然後 dfc_search原模型與業務幀中的實際結果
融合分析與報告dfc_analysis_* 或 dfc_report_*各結構化分支與文件證據的真實狀態
修改展示或本體模型dfc_authoring_* 與 artifact 工具候選、計畫、審批和實際應用分別核對
執行業務命令/mcp/business 的 dfb_*已發布契約與原 ActionPlan 回執

避免不必要的呼叫

已有當前、完整、授權的表結構時,不要求每次查詢重新 detail;已有可信定位與證據時,不重複同一檢索。需要某個缺失維度時做有界補查。失敗明確不可重試時先解決缺口,不用「再試一次」替代判斷。

Flash 的排除項

dfc_etl capabilities 可返回 available=false 及 ETL_NOT_INCLUDED_IN_OT_FLASH。內建 ETL 函式的靜態說明用於跨產品參考,不證明 Flash 安裝了 ETL,也不允許 Agent 自動轉到 Heavy 或其他租戶執行。

章節 8

本體資源與 ID 類型

先取得實際資源座標,防止把儲存名、文件 ID 和知識庫 ID 混為一談。

  1. 呼叫 dfc_ontologies,按 page 和 pageSize 瀏覽本次授權且當前仍可讀的本體。
  2. 用真實 ontologyId 呼叫 dfc_ontology_resources;按需要選擇 tables、answers、pinboards、documents 和 knowledgeBindings。
  3. 對每種資源分別處理分頁。pageSize 最大 100;不要以第一頁推斷整個資源範圍。
  4. 保存資源宣告的類型及原始 ID,後續呼叫原樣使用。
json
{"name":"dfc_ontology_resources","arguments":{
  "ontologyId":"<ONTOLOGY_ID>",
  "resourceTypes":["tables","documents","knowledgeBindings"],
  "page":1,"pageSize":100
}}
座標來源不能替代
ontologyId授權本體列表或當前有效上下文另一本體的 ID
表資源 idtables 列表或可信上下文physicalName 或顯示表名
tblDisplayName colDisplayName當前表與列中繼資料猜測的實體 SQL 識別碼
knowledgeIdknowledgeBindings 或實際知識檢索回執文件資源 id
assetId documentId chunkId evidenceId同一個實際定位回執從不同定位結果拼接的欄位
rid revisionId releaseId已發布模型或服務端候選上下文自行產生的 ID 或 latest

精度約定

所有 64 位元資源識別優先用十進位字串,JavaScript 不經 Number 轉換。部分業務 Schema 相容 string 或 integer,不等於可以捨棄整數精度。opaque locator、UUID、雜湊及一次性權杖也按原樣保存。

章節 9

Doris 表查詢與結構合同

在授權表上執行唯讀 SQL,並保留輸出語義、精確數值和完整性。

讀取結構

json
{"name":"dfc_table","arguments":{
  "action":"detail","ontologyId":"<ONTOLOGY_ID>","id":"<TABLE_RESOURCE_ID>"
}}

detail 使用真實表資源 ID。核對 schemaComplete、tblDisplayName、columns 中的 colDisplayName 和權威 sqlDataType,以及返回的 queryContract。dataType 僅是相容映射,實體儲存名不是提交 SQL 的表名。

執行查詢

json
{
  "name": "dfc_table",
  "arguments": {
    "action": "query",
    "ontologyId": "<ONTOLOGY_ID>",
    "sql": "SELECT \"区域\", SUM(\"销售金额\") AS \"销售金额合计\" FROM \"电商销售数据\" WHERE \"订单状态\" = '已完成' GROUP BY \"区域\" ORDER BY \"销售金额合计\" DESC",
    "maxRows": 100
  }
}

SQL 約束

  • 使用顯示表名和顯示列名,以雙引號引用識別碼。請求是一條本體範圍內的唯讀 Doris 查詢。
  • 顯式列出輸出,禁止 SELECT * 和 table.*;它們不能透過實體欄位繞過註冊欄位權限。
  • 關聯使用明確 JOIN ... ON;NATURAL JOIN 和 JOIN USING 會拒絕。
  • 可以使用合法的多維聚合、CTE、視窗、CASE、COUNT(DISTINCT ...) 等唯讀運算式;語義驗證未覆蓋某運算式,不等於統一禁止執行。
  • 先在 SQL 中完成聚合、排序和排名,再施加結果上限。maxRows 預設為 100,最大 200。

日期與時區

類型或目標形式注意
DATECAST('2026-09-01' AS DATE) 與 CURRENT_DATE不能直接拿文字字面量假定日期類型
DATETIMECAST('2026-09-01 00:00:00' AS DATETIME) 與 CURRENT_TIMESTAMP核對來源時區與會話時區
相對時間DATE_SUB(CURRENT_DATE, INTERVAL 1 YEAR)日期與時間戳使用對應當前函數
時間分組YEAR(column) 或 DATE_TRUNC(column, 'month')每個輸出使用唯一別名;以 queryContract 為準

SQLite 的 DATE('now', ...) 不是此入口的 Doris 日期合同。不要把文件示例的 SQLite 離線核對方式放入線上 SQL。

讀取 v8 查詢回執

evidenceRows 是 Agent 面向行數據的唯一通道,raw data 不對 Agent 開放。SQL 數字以精確十進制 JSON 字符串編碼;通過 resultColumnContracts 判斷其數值和業務類型,不因為 JSON 是字符串就解釋為 VARCHAR。讀取 executionReceipt、完整性與截斷信息,保留 evidenceRowsSha256 等來源信息。

有可引用執行回執的查詢輸出可以按原樣引用;只有服務端驗證過的語義,才能授權後續確定性二次計算。不能根據字段名猜「累計餘額」「期末值」「币种」或自行補單位。零行結果、失敗或截斷不能被描述為完整統計。

章節 10

多維 Top3 與截斷處理

以服務端聚合和窗口函數回答排名,不在不完整結果上二次計算。

配套 examples/top3.sql 使用示例表,先按区域、类别和产品聚合,再在各区域與类别內執行 ROW_NUMBER,並使用产品名作為金額並列時的穩定順序。請求 maxRows=100 足以容納示例的 36 行;其他業務數據需要按真實組數評估。

  1. 取得真實結構和當前口徑,明確币种、期間、订单状态及並列規則。
  2. 提交服務端聚合與排名 SQL。不要先只查詢区域總額,再將它當作类别产品排名。
  3. 檢查輸出列合同與實際 evidenceRows,確認返回覆蓋全部需要的組。
  4. 發現截斷時,按服務端支持的邊界做有界分區查詢,例如按区域分別取得完整 Top3;每次保持同一業務口徑。
  5. 如果來源期間發生變化,重新查詢並明確新版本,不混用不同數據版本或失效游標。
圖 A5 明細篩選、分組匯總、組內排名與最終返回的順序。示意圖。

錯誤恢復

TABLE_SCHEMA_INCOMPLETE 應修正或取得完整結構;ONTOLOGY_SQL_FAILURE_CONTRACT_INVALID 等失敗按返回的 errorCode、retryable、remediation 處理。不要聲稱「所有多維 GROUP BY 或窗口函數都被禁止」,也不要在沒有查詢結果時編造排名。

章節 11

知識檢索 完整原文與證據資格

把定位、讀取和事實引用分開,並保留出處與完整性。

兩種常用路徑

路徑用途要點
dfc_ontology_query在本體綁定知識內檢索並可結合圖譜路由檢查完整 canonical answerContextItems 與證據資格
dfc_knowledge_search → dfc_knowledge_detail chunk顯式搜索定位,再讀取所選分片搜索預覽不作為事實;讀取同一定位的完整原文
json
{"name":"dfc_knowledge_search","arguments":{
  "ontologyId":"<ONTOLOGY_ID>","query":"销售金额是否排除退货", "topK":5
}}

{"name":"dfc_knowledge_detail","arguments":{
  "action":"chunk","ontologyId":"<ONTOLOGY_ID>",
  "evidenceId":"<EVIDENCE_ID_FROM_THE_SAME_SEARCH_RESULT>"
}}

可用於事實的條件

  • 檢查當前 ACL、內容完整性及服務端的 canonicalFactEligible、citationEligible 或相應執行合同。
  • 完整內容與 contentSha256 綁定。截斷、預算省略或低質量內容需按實際字段處理。
  • 文件元數據、page_context、圖譜定位、檢索摘要和預覽均不能替代 canonical 原文。
  • 優先複製 evidenceId;需要 chunkId 與 documentId 時,必須來自同一條定位結果,不拼接或猜造。

圖譜路由

search/neighbors 結果是定位信息。僅把服務端完整返回的 routeLocator 對象交給本體 query,包括綁定、版本和證明字段。不要把一個 assetId 或 knowledgeId 自行包裝成服務端簽發的 locator,也不要回傳模型斷言的來源證明。

結構化文件恢復

dfc_ontology_query 的 structuredPlan 是專門用於不規則文件表格的受限恢復與確定性校驗。僅在返回當前 executionContractSha256、tableIndex、列與完整表格後使用服務端聲明的計劃。普通已匯入業務表應走 dfc_table SQL;不要把 Markdown 表格恢復當作繞過表查詢授權的通道。

圖 A6 定位結果與可引用原文的證據鏈。示意圖。

檢索策略

knowledgeIds 通常省略以覆蓋當前啟用綁定;傳入時僅使用 knowledgeBindings 的真實知識庫 ID。不要把文件資源 ID 當作知識庫 ID。按未解決問題做新的有界搜索,避免精確重複且沒有新增證據的檢索。

章節 13

語言與區域約定

保持 UI locale、查詢詞典、返回語言及原字段名稱之間的邊界。

優先級為明確請求語言、應用系統語言、實際執行節點 locale。缺省、null、空字符串和空白不會固定回退中文。languageRegistry 中的區域值應保持精確,不能把 en-GB、fr-CA、pt-BR、es-US 或 ar-AE 隨意折疊成另一個地區。

語言或地區查詢 locale說明
簡體中文 繁體中文zh-CN zh-Hant原中文規則與繁體目錄不同
美國 英國 澳洲 加拿大英語en-US en-GB en-AU en-CAUI/關鍵詞包可共用,地區元數據保留
德語 義大利語 俄語de-DE it-IT ru-RU按當前會話建議使用
西班牙及拉美西語es-ES es-US產品地區 ID 為 es-US。
法國及加拿大法語fr-FR fr-CA地區 ID 不合併
葡萄牙及巴西葡語pt-PT pt-BR目錄和地區約定分別保留
荷蘭 丹麥 挪威 芬蘭 瑞典語nl-NL da-DK nb-NO fi-FI sv-SE挪威語為 Bokmål
日語 韓語ja-JP ko-KR不按英語空格規則自行分詞
沙烏地阿拉伯及阿聯酋阿拉伯語ar-SA ar-AE界面說明支持 RTL,協議標識符不反轉

使用關鍵詞目錄

json
{"name":"dfc_manual","arguments":{
  "action":"keywords","locale":"de-DE","names":["<ACTUAL_KEYWORD_ID>"]
}}

dfc_manual 的靜態關鍵詞目錄只有明確列出的 locale,省略時使用英語參考;這是參考默認值,不是查詢語言解析規則。地區變體未提供靜態目錄時,通過當前會話 assist 獲取實際建議,不偽造別名或回退結果。單次 names 最多 32 項。

不翻譯的內容

  • 表、列、枚舉值、客戶名、公式名及其他真實模型字符串。
  • 工具名、action、scope、Schema 字段、錯誤碼與狀態值。
  • 資源 ID、哈希、opaque locator 和服務端簽發的引用。

例如德語問題可以查詢中文顯示列「销售金额」。把它改成一個德語列名,會變成另一條標識符,而不是界面翻譯。更換語言後重新初始化或按原協議更新會話,並重新獲取建議和歧義候選。

章節 14

融合分析與交互式結果

在條件開放的分析工具中,保留授權、版本、分支與證據狀態。

dfc_analysis_* 由 datafocus.mcp.analysis.tools.enabled 控制。結構化部分繼續走 Search 權威查詢與當前行策略;文件部分重新取得當前 ACL 下的完整原文。它們不是開放 SQL、任意指令或任意過濾器注入入口。

工具用途必要坐標
dfc_analysis_ask提出自然語言分析問題ontologyId question,可選 language sessionId
dfc_analysis_result_get讀取返回過的結果ontologyId sessionId resultId
dfc_analysis_refine基於最新完整結果追問或變更原結果 expectedRevision 與穩定冪等鍵
dfc_analysis_page取得服務端分支的一頁原分支與結果版本 pageNo pageSize
dfc_analysis_cancel取消仍在工作的結果原會話與結果
dfc_analysis_close釋放非工作狀態會話原會話

發起分析

json
{"name":"dfc_analysis_ask","arguments":{
  "ontologyId":"<ONTOLOGY_ID>",
  "question":"按区域分析已完成订单销售金额,并引用退货统计口径",
  "language":"zh-CN"
}}
  1. 讀取返回的 sessionId、resultId、狀態與 revision;需要時繼續讀取原結果。
  2. 逐個檢查結構化分支的狀態、完整性、行策略和來源,不以一個分支完成代表整次分析完整。
  3. 檢查文件證據、事實賬本、引用資格與局限。模型生成敘述不能獨立升級證據資格。
  4. 需要追問時,基於最新完整結果並傳 expectedRevision;同一變更重試複用同一冪等鍵。
  5. 關閉前確認會話不再工作;取消與關閉是不同動作。

受控篩選與分頁

filter_patch 使用服務端給出的 branchId、fieldRef、valueRef 和允許操作符;當前類型化篩選只聲明 EQ。禁止用原始 SQL、tableId、columnId 或客戶端私造過濾樹替換 opaque 引用。分頁 pageNo 從 1 開始,最大 10000;pageSize 最大 100。

圖 A7 分支、版本與分頁綁定;來源或版本變化後,應重新查詢取得新定位。示意圖。

能力提示與行為

工具 annotations 是客戶端提示,不是安全授權。部分通用模板使用 readOnlyHint,並不能代替對實際動作的判斷;取消、關閉和創建報告會改變相應工作狀態。始終按工具語義、用戶目標與服務端權限執行。

章節 15

持久可視化報告與 MCP Apps

創建可恢復報告,並按當前權限讀取其結果與交互界面。

dfc_report_* 由 datafocus.mcp.analysis.report-tools.enabled 控制,並要求 metadata 與 table query scope。它與進程內 Search 會話不同,報告使用持久 reportId;持久不表示不再檢查權限。

json
{"name":"dfc_report_create","arguments":{
  "ontologyId":"<ONTOLOGY_ID>","goal":"比较区域与类别销售表现并核对口径",
  "title":"零售经营分析","language":"zh-CN",
  "idempotencyKey":"retail-report-20261019-01"
}}
{"name":"dfc_report_status","arguments":{
  "ontologyId":"<ONTOLOGY_ID>","reportId":"<REPORT_ID>"
}}

工作流

  1. 創建時使用穩定的 idempotencyKey,長度 8 至 128 個受支持字符。
  2. 保存 reportId,輪詢 status,並檢查完成、失敗、部分完成或取消等實際狀態。
  3. 讀取結果時核對結構化分支、可視化、事實來源、文檔引用和完整性。
  4. 取消未完成報告用原 reportId;不要創建另一份報告代替取消。
  5. 網絡超時後先讀取原報告狀態;原冪等鍵重放應保持同一業務意圖。

MCP Apps

支持 UI 擴展的客戶端,通過工具 _meta 與實際資源發現讀取報告頁面。r56 對應的持久報告頁面為 ui://datafocus/analysis-report/v16/index.html,交互分析使用相應的服務端資源引用;客戶端不應硬編碼取代工具返回值。沒有 UI 擴展時仍可讀取結構化結果。

來源綁定

報告讀取重新檢查 Grant、本體、請求 Origin 綁定及當前表權限。瀏覽器跨來源集成需使用批准的實際來源;客戶端不通過偽造 Origin 繞過綁定。舊 reportId 不是長期公開鏈接,也不是跨用戶訪問憑據。

章節 16

製品草稿 預覽 計劃與應用

把生成內容交給原服務端規範化、驗證和審批,不讓模型直接改生產資源。

製品工具需要 authoring 功能開啟、實際 artifact type、相關 scope 與原管理員寫權限。缺省類型配置為 CONTROL_PANEL_SPEC 和 VIEW_SPEC;其他表單、HTTP 來源或腳本類型還受獨立配置控制。Flash 沒有 AutoML,因此不把相關類型列為本版本可用製品。

圖 A8 上下文、候選、預覽、計劃、批准與應用的受控順序。示意圖。
  1. dfc_authoring_capabilities 讀取當前 Grant 可用的合同與動作。
  2. dfc_artifact_context 取得有界上下文、contractVersion、contextHash、baseArtifactHash 和 baseArtifactVersion。
  3. 在客戶端根據真實合同生成候選,不執行其中的代碼。
  4. dfc_artifact_submit 提交原上下文與候選,保持 instruction 相同,並使用穩定 clientRequestId。
  5. 讀取 proposalId、candidateHash、校驗和預覽;有實際錯誤時修訂候選,不偽造服務端通過狀態。
  6. 需要重新預覽時,使用 dfc_artifact_preview 和相同候選哈希。
  7. dfc_artifact_plan 創建不可變計劃,使用真實候選、目標版本和冪等鍵。
  8. 按原交互審批或已獲授權的策略處理批准,再 dfc_artifact_apply;只有 APPLIED 回執代表實際應用。

最小上下文請求

json
{"name":"dfc_artifact_context","arguments":{
  "artifactType":"CONTROL_PANEL_SPEC",
  "ontologyId":"<ONTOLOGY_ID>",
  "instruction":"为当前授权销售指标建立区域比较面板"
}}

VIEW_SPEC 使用當前授權 projectId;編輯已有製品時使用實際 artifactId。variables、previewInput、viewport 等字段按返回合同提供,不猜造候選內部結構。

並發與重試

計劃綁定目標版本、候選哈希及冪等鍵。目標變化後,舊計劃不能繼續應用;重新讀取上下文並按實際衝突處理。transport timeout 不證明失敗,先用 dfc_artifact_status 查詢原 proposalId 或 planId。READY 不是 APPLIED。

批准與自動策略

通用製品計劃需要原人工審批。符合本體自動發佈政策的計劃按 approvalMode 處理,不要求用戶另簽一份代理發明的批准。approvalToken 是服務端簽發材料,不能由 Agent 寫一個字符串替代;實際 inputSchema 與計劃回執決定必填字段。

章節 17

本體候選創建與發佈合同

使用獨立版本的本體聲明與發佈配置,不把普通展示製品合同套到模型發佈。

創建候選

本體容器必須已經存在並在 Grant 內。使用 dfc_ontology_table_schema 檢查當前結構化來源字段與 v4 Binding 指紋;字段可只提供 sourceField 自動發現類型。顯式 DECIMAL 聲明需要當前精度與小數位,其他類型不攜帶這兩個字段。

json
{"name":"dfc_ontology_table_schema","arguments":{
  "ontologyId":"<ONTOLOGY_ID>","sourceAssetRef":"table:<ACTUAL_TABLE_ID>",
  "fields":[{"sourceField":"区域"},{"sourceField":"销售金额"}]
}}

候選與發佈配置

合同用途關鍵邊界
ontology-workspace-create-mcp-submit-v1以本地聲明創建候選真實授權來源 服務端編譯,不接受完成證明
ontology-workspace-create-mcp-submit-v2混合本地和精確已發佈引用提供精確 releaseSelections 及閉包依賴
ontology-publication-mcp-submit-v1 至 v3把已有候選綁定到發佈計劃請求顯式坐標,目標 來源 審批和校驗由服務端恢復
ontology-publication-mcp-submit-v4 至 v6單獨啟用的自動發佈相關配置只有 capabilities 與實際 schema 聲明時使用
ontology-initial-activation-retirement-submit-v1受控初始激活退休操作獨立計劃 新的人工批准與精確範圍

發佈順序

  1. 取得當前候選 workspaceId、workspaceRevision、candidateHash 及實際來源。
  2. 依照服務端能力選擇合同版本;提交 releases 與 selection 等坐標,不附帶自稱「已批准」「已通過」的字段。
  3. 保留 submit 返回的 proposalId 和原 idempotencyKey。submit 與 MODEL_PLAN 是同一請求的不同階段。
  4. 調用 dfc_artifact_plan,使用原候選、目標版本和同一冪等鍵。
  5. PLANNING_INCOMPLETE 只表示尚未形成有效計劃;VALIDATION_UNSATISFIED 表示當前校驗仍有缺口,按 nextAction 處理。
  6. 計劃成功後根據 HUMAN_REQUIRED 或 POLICY_AUTO 繼續,使用原審批和發佈能力。
  7. 以 APPLIED 回執和隨後真實的已發佈模型讀取、授權查詢確認結果。

超時與恢復

PLAN 超時後讀取原 proposalId。MODEL_PLAN_SUBMITTED 是未完成請求;MODEL_PLAN_COMPLETED 表示應以原坐標和原鍵恢復原回執,不是讓客戶端另造一條新請求。終態校驗缺口不能靠換鍵或重複提交變成發佈通過。

人類業務權限

Agent 提供的 instruction 和聲明屬於 Agent 輸入,不是人類政策簽署。MODEL_AUTHOR、MODEL_PUBLISH、自動發佈委託、業務確認、公鑰信任、預算和來源 ACL 繼續由原機制決定。不得以客戶端字段替代這些事實。

章節 18

發佈模型 候選查詢與引用閉包

按精確版本使用已發佈業務知識,並保留未發佈候選的臨時性。

dfc_ontology_graph 的 published_model、published_query 與 candidate_query 是條件開放的結構化配置,不是普通 search/neighbors 的同義詞。它們按 table query 及必要的建模讀取權限授權,不能以圖譜可見性代表表權限。

讀取已發佈模型

  1. 當工具 action 枚舉實際包含 published_model 時,提交真實 committed releaseId。
  2. v1 返回授權查詢模板;v2 增加精確 PERSISTED 引用和 releaseSelections;v3 增加依賴引用、精確 domainRef 及緊湊綁定模板。
  3. 從實際返回值選擇對象、屬性、Binding、scope 和版本,不生成 RIDs 或使用 latest。
  4. 提交 published_query 的固定類型化查詢;結果仍需通過當前來源與字段授權。

候選查詢

candidate_query 使用實際 workspaceId、revision、candidateHash 和候選聲明。混合已發佈引用時使用對應 v2 類型化 LOCAL/PERSISTED 坐標及精確選擇。候選結果始終是未發佈、臨時的,不當作企業已確認知識。

局部維護與閉包

只選擇候選根所需的傳遞依賴,並保證每個已發佈引用都有精確 releaseSelections。複製發佈正文、只提交一組 ID 或擴大到所有歷史資源,都不能替代當前依賴與來源檢查。

圖 A9 候選根、精確已發佈依賴與來源授權。引用閉包示意圖。

這些 action 的 query 是版本化類型對象,不接受 SQL、物理表 ID 或來源表名替代其業務引用。元數據模板和圖譜結果本身不具有事實引用資格。

章節 19

委託本體智能體任務

使用持久任務與原 Grant 恢復工作,不將 Agent 指令當作人類批准。

dfc_ontology_agent 僅在實際 Pi Runtime 和相關權限可用時顯示。QUERY 使用讀取能力;AUTHORING 還要求建模角色與對應 authoring scope。它不開放另一套無約束執行引擎。

json
{"name":"dfc_ontology_agent","arguments":{
  "contractVersion":"ontology-agent-task-v1","action":"start",
  "ontologyId":"<ONTOLOGY_ID>","mode":"QUERY",
  "instruction":"列出当前可查询的表,并说明各表用途",
  "idempotencyKey":"retail-discovery-01"
}}
{"name":"dfc_ontology_agent","arguments":{
  "contractVersion":"ontology-agent-task-v1","action":"status",
  "ontologyId":"<ONTOLOGY_ID>","runId":"<RUN_ID>"
}}

嚴格參數集

start 使用 contractVersion、action、ontologyId、mode、instruction、idempotencyKey;status/cancel 使用 contractVersion、action、ontologyId、runId。服務端按 action 檢查精確字段集合。instruction 最多 16000 字符;鍵為 1 至 128 個受支持字符且首字符為字母或數字。

恢復與取消

  1. 保留原 runId、Grant、mode 和冪等鍵。
  2. 同一鍵與相同 instruction 恢復同一 run,不重新提交另一個任務;相同鍵換指令會拒絕。
  3. status 查詢原任務狀態。完成後仍需核對其表查詢、證據或發佈回執。
  4. 取消使用原 runId;以實際任務狀態確認結果。

run 完成不是模型發佈回執。發佈任務仍通過原 artifact 狀態及來源檢查確認;QUERY 沒有隱含的寫入或發佈權。

章節 20

業務工作臺 MCP

基於已發佈業務契約查詢記錄,並通過原 ActionPlan 執行命令。

/mcp/business 使用獨立 protected resource 和業務系統選擇,不能複用本體 Grant 代替業務授權。業務系統需要已發佈、可供 Agent 調用、滿足原安全策略,且當前用戶有實際運行時角色和能力。

Scope工具邊界
business-system:discoverdfb_systems dfb_system_describe只發現本次授權且當前可調用系統
business-system:readdfb_query dfb_record dfb_work_items dfb_action_status當前用戶可讀記錄與本人計劃
business-system:plandfb_action_plan僅創建不可變計劃,不執行
business-system:executedfb_action_execute獨立明確授權,按風險及審批執行
  1. dfb_systems 發現授權系統。
  2. dfb_system_describe 讀取當前發佈契約、releaseId 及所有哈希、查詢和命令。
  3. dfb_query 使用已發佈 queryKey,按需要指定 objectKey、state、page 和 pageSize。它不是任意 SQL。
  4. dfb_record 與 dfb_work_items 讀取當前允許的記錄和待辦。
  5. 執行前用 dfb_action_plan 提供實際 releaseId、releaseHash、canonicalIrHash、agentManifestHash、commandType、planIdempotencyKey 與合同 payload。
  6. 核對 riskClass、requiresApproval 和 status;涉及目標記錄時保留 expectedRecordVersion。
  7. dfb_action_execute 僅執行當前連接擁有且已就緒的計劃,人工要求的審批令牌由 DataFocus 發出。
  8. 失敗或超時後 dfb_action_status 恢復原計劃;重試保持原冪等語義。
圖 A10 已發布契約、計劃、審批與動作執行。示意圖。

連接與版本綁定

計劃與當前 Grant 的穩定隔離 ID 綁定。Access Token 刷新後仍可處理同一連接的計劃,另一 OAuth 連接不能接管它。執行時重新檢查發布版本、IR/manifest 雜湊、目標記錄版本、計劃過期、冪等和審批。OAuth allowlist 不能繞過業務治理。

章節 21

業務知識輸入與待確認問題

在對應生產處理器開放時登記業務輸入,並保留人類確認邊界。

以下四個工具由公共 MCP 控制器按已安裝處理器和當前 scope 條件加入。它們不在基礎目錄中始終出現。聲明 Schema 的存在不代表實例已配齊處理器、預算或權限,必須先檢查 tools/list。

工具用途不產生的授權或效果
dfc_ontology_knowledge_input_propose為已有工作空間登記原業務輸入不生成確認問題 不審批 不發布
dfc_ontology_knowledge_input_preview從原輸入臨時預覽問題草稿不持久化 不確認 不形成生產回執
dfc_ontology_knowledge_question_submit保存 authored 且未確認的問題不自動合併答案 不獲得責任權限或發布權
dfc_ontology_business_scope_initialize顯式初始化一個業務系統消費者範圍不發布 不激活 不授予來源訪問權

輸入與預覽

  1. 從實際準備工作中取得 workspaceId、workspaceRevision、localRef 與 preparationDigest。
  2. propose 使用原 input 合同和穩定 idempotencyKey 登記業務輸入;同鍵只能對應同一輸入。
  3. preview 使用原輸入的冪等鍵和 ontologyId;它每次返回服務端 revision 及 60 秒窗口,不是冪等生產完成回執。
  4. 需要存儲問題時,question_submit 使用新的命令鍵、原 originalInputKey、明確的 questionRevision、validFrom、validUntil 和 expectedRevision;創建時 expectedRevision 為 null。

人類確認入口

question_submit 返回的 knowledgeConfirmationPage 只是原登錄頁的相對定位,預填某個問題。它不帶 Bearer、不會自動打開頁面、不會確認知識。QUESTION_STORED_UNCONFIRMED 明確表示尚未確認,不能在回答中寫成「知識已發布」。

消費者範圍初始化

business scope initialize 必須同時具備本體發布權,以及精確業務系統的建立者或 SourceManager 管理權。它使用 domainRid、domainRevisionId 和 businessSystemId 的真實座標,不能由用戶端填寫任意 consumerScope 或已完成證明。返回 INITIALIZED 與 COMPLETED 仍明確 published=false、activationAuthorized=false。

這些請求還經過嚴格 JSON、字段集合、字節與深度校驗。輸入請求上限為 1 MiB;部分具體操作有更小上限。完整輸入和輸出 Schema 隨工具參考交付,不能把一般 MCP 包裝器的寬鬆參數邏輯套到這些嚴格合同。

章節 22

響應 錯誤與安全重試

分層解釋錯誤,保持任務座標與冪等語義。

層次檢查內容處理原則
網絡與 HTTP連接 TLS 401 403 400 404 405 等不要把失敗響應當普通查詢結果
JSON-RPCerror.code message data區分協議 方法 參數和授權問題
MCP 工具result.isError 與 structuredContentHTTP 200 仍可能失敗
業務結果真實狀態 完整性 失敗原因 nextAction收到或就緒不等於完成
事實資格executionReceipt citationEligible contentComplete沒有資格的內容僅用於定位或解釋缺口

常見 HTTP 情況

  • 401:缺少或失效 Bearer,按當前 OAuth 流程刷新或重新授權。
  • 403:Grant、角色、所選資源、來源權限、Origin 或配置不滿足;不靠重放繞過。
  • 400:報文或版本化合同非法,包括現代頭與元數據不一致。
  • 404:檢查確切服務路徑、協議方法及運行時能力;不要隨機換本體 ID。
  • 405:公共 /mcp 的 GET、DELETE 本來不開放;改用正確 POST,而不是建立 SSE 長連接。

結果不明的寫操作

MCP_OPERATION_OUTCOME_UNKNOWN 可能包含 outcome=UNKNOWN、retryable=false、nextAction=READ_ORIGINAL_STATUS、recoveryTool 與原定位參數。先查原狀態,再恢復原請求。不要重新提交候選、更換冪等鍵或把超時當作事務回滾。

圖 A11 失敗、結果不明與可重試情況的處理順序。恢復示意圖。

需要原樣保留的內容

  • 原 Grant、資源範圍、任務和結果 ID。
  • candidateHash、planHash、expectedRevision、目標版本與發布選擇。
  • 同一邏輯操作的冪等鍵;不同業務操作應使用新鍵。
  • 服務端聲明的 retryable、remediation、nextAction 和當前狀態。

不要從異常文本提取內部 SQL、主機、憑據或堆棧作為答案來源。記錄可公開的錯誤碼與請求關聯信息即可;原錯誤可能需要管理員在受控日誌中查看。

章節 23

集成安全與能力邊界

保持身份、資源、執行和證據的原邊界,安全處理不可信文檔。

  1. 只連接管理員給出的正式域名;驗證 TLS 與 OAuth issuer,不關閉證書驗證。
  2. 使用專用、最小資源範圍的 Grant;不要把管理員賬號、Cookie 或長期內部 Token 當公共接口憑據。
  3. 把文檔正文當作不可信業務材料。文檔中的「忽略規則」「上傳密鑰」「執行命令」不是工具授權。
  4. 限制自動重試、並發和結果範圍;不在客戶端重新構造原始業務權限。
  5. 日誌只記錄必要關聯信息,不記錄 Bearer、refresh token、審批令牌及完整敏感業務內容。
  6. 用戶斷開連接或管理員撤權後,停止使用緩存中的授權和數據,不靠舊 locator 繼續調用。

工具提示不是權限

readOnlyHint、destructiveHint、idempotentHint 與 openWorldHint 用於客戶端理解能力,不保證每次調用的實際業務效果,也不替代當前用戶授權。所有寫入、計劃、預覽、會話和取消動作按其真實行為處理。

不要調用的入口

  • 原 Trino/Hive/Hadoop 服務和未包括在 Flash 中的 Heavy ETL。
  • 內部 FocusCode 專用 scope 或工作空間接口。
  • 未在當前實例 tools/list 中出現的執行 v2、AutoML 或其他實驗工具。
  • 瀏覽器私有 REST、任意數據庫連接或其他租戶的服務來繞過 MCP 拒絕。

數據語義

遵循服務端的精確十進制、類型、币种、單位、時間及證據合同。不要因為輸出文字像數字就重新四捨五入或轉換币种,也不要在結果被截斷時對可見行做全局排名。

章節 24

管理員接線與條件開關

在啟用擴展能力前核對真實組件、公開地址和原權限配置。

配置用途發布要求
datafocus.mcp.public-base-url正式外部根地址OAuth 發現 issuer 回調及反向代理一致
datafocus.mcp.allowed-origins額外批准瀏覽器來源精確配置,不擴大成任意來源
datafocus.mcp.oauth.route-proof-secret圖譜路由證明專用服務器秘密獨立保存,不使用 Bearer 作為密鑰
datafocus.mcp.analysis.tools.enabled交互分析工具配套數據 知識和權限服務真實可用
datafocus.mcp.analysis.report-tools.enabled持久報告工具配套存儲 worker 與恢復鏈可用
datafocus.mcp.analysis.apps.enabledMCP Apps 展示客戶端聲明支持並檢查返回 _meta
datafocus.mcp.authoring.enabled草稿與建模合同保留原管理員及資源權限
datafocus.mcp.authoring.apply-enabled製品應用能力不可變計劃 原審批和當前狀態重校驗
datafocus.mcp.ontology-published-query-enabled已發布模型與查詢真實已提交版本和來源授權
datafocus.mcp.ontology-candidate-query-enabled候選結構化查詢候選所有權 精確版本及讀取權
datafocus.mcp.authoring.ontology-auto-publication-enabled自動發布委託相關授權有效原策略 公鑰信任 預算及發布權

這些名稱來自 r56 配置和實現;是否可以開啟取決於配套服務與原上線門禁。只改變布爾值不會補齊缺失的處理器、數據庫、驗證預算或策略。知識輸入擴展及 Pi 任務按實際安裝組件決定可見性。

邊緣代理

保留 Authorization、Content-Type、MCP-Protocol-Version、Mcp-Method、Mcp-Name 及批准的 Origin。按實際服務要求設置請求體、超時與 TLS;不要將公共 /mcp 轉發到管理端口或另一個产品。

上線核對

  • 匿名發現與受保護調用的狀態符合預期。
  • 普通用戶只能發現其授權範圍,撤權後後續請求被拒絕。
  • Search 原生會話、SQL、原文與可選報告各自有真實結果。
  • 寫入和發布的審批及冪等恢復保持原行為。
  • 日誌和公開文檔不包含私鑰 Token Cookie 密碼及內部客戶資料。
章節 25

可運行客戶端與調用樣例

使用配套最小客戶端驗證報文,不繞過 OAuth 或當前授權。

examples/flash_mcp.py 是僅依賴 Python 標準庫的最小協議客戶端。它不登錄、不代辦批准、不自動調用不可見工具,支持現代與舊協議,並按 HTTP、JSON-RPC、工具錯誤分層退出。Token 通過進程環境輸入,不寫入腳本或說明文件。

bash
export FLASH_BASE_URL='https://flash.example.com'
read -r -s -p 'Access token: ' FLASH_ACCESS_TOKEN
export FLASH_ACCESS_TOKEN

python3 examples/flash_mcp.py discover
python3 examples/flash_mcp.py tools
python3 examples/flash_mcp.py call dfc_ontologies --arguments '{"page":1,"pageSize":20}'

unset FLASH_ACCESS_TOKEN

讀取與查詢

bash
python3 examples/flash_mcp.py call dfc_ontology_resources \
  --arguments-file examples/requests/ontology-resources.json

python3 examples/flash_mcp.py call dfc_table \
  --arguments-file examples/requests/table-detail.json

python3 examples/flash_mcp.py call dfc_table \
  --arguments-file examples/requests/top3-query.json

先把請求文件中的 ONTOLOGY_ID、TABLE_RESOURCE_ID 等佔位符替換為當前授權返回的真實值。客戶端遇到佔位符會拒絕執行。SQL 示例要求配套 CSV 已按原列名匯入;沒有對應 schema 時不能直接提交。

其他場景

  • 業務入口:使用 --endpoint business,重新取得面向 /mcp/business 的 Grant。
  • 舊客戶端:選擇 --protocol 2025-11-25,先 initialize,再按同一協議調用。
  • 內置說明:使用 resources 或 read-resource 讀取實際 URI。
  • 離線自檢:--self-test 驗證現代標頭與中繼資料建構,不需要 Token,也不請求產品伺服器。

樣例的邊界

客戶端是協議接入起點,不自動生成建模候選、保存問答或執行發佈。它輸出原 JSON 以便上層 Agent 核對業務狀態;不要僅根據進程退出碼向用戶承諾查詢、報告或發佈完成。

章節 26

嵌入本體對話界面

將人類對話頁嵌入業務前端,並保持登錄與瀏覽器安全邊界。

html
<iframe
  title="OT Flash ontology agent"
  src="https://flash.example.com/10001/#/embed/ontology-agent/1001"
  style="width:100%;height:760px;border:0"
  referrerpolicy="strict-origin-when-cross-origin">
</iframe>

10001 為示例租戶 ID,1001 為示例本體 ID,使用時換成真實有權座標。單本體可由 path 或受支援 query 指定;all 模式提供 @ 選擇當前用戶可訪問的本體。skillId 僅透傳,不據此聲稱技能編排已可執行。

認證與域名

當前嵌入頁依賴真實 DataFocus 登錄態,會檢查 /uc/status。跨站 Cookie、SSO、CSP frame-ancestors 和網關配置都會影響嵌入。它不接受把 MCP Bearer 塞入 URL 作為免登錄通道;未實現的 outside 外鏈不能按設計建議自行拼出。

MCP 與 iframe 的區別

方式使用者身份與結果
Remote MCP外部 Agent 或服務集成OAuth Grant 與結構化工具回執
本體對話 iframe人類終端用戶原登錄態與對話界面
MCP Apps支援擴展的 MCP 客戶端受控資源與當前工具結果,不是公開 iframe 登錄替代
章節 27

集成驗收清單

在真實實例上證明完整業務鏈,而不是只確認接口返回 200。

  1. 發現:取得實際支援版本、當前工具目錄和內置資源。
  2. 授權:普通用戶僅看到獲准本體與業務系統;沒有 scope 的操作拒絕。
  3. 表結構:真實顯示名、列、類型和權限完整。
  4. SQL:單維、多維、JOIN、日期、TopN 與截斷檢查符合實際業務口徑。
  5. 知識:定位、完整原文與事實引用資格一致,混合問題同時有數據和文檔依據。
  6. Search:模型、init、建議、結果、關閉及緩衝完整性檢查通過。
  7. 可選分析與報告:多分支真實狀態、翻頁、權限變更及取消保持原行為。
  8. 可選建模:候選、計劃、原審批、實際應用和版本查詢逐階段核對。
  9. 業務動作:發佈哈希、目標版本、審批、冪等與跨 Grant 隔離核對。
  10. 恢復:網絡超時後恢復原狀態,來源更新後舊定位失效並使用新查詢。

結果記錄

記錄實例版本、使用者角色、Grant 範圍、配置版本、真實操作與結果。協議用戶端離線自檢、示例 CSV 的離線預期值、靜態 JSON Schema 校驗和真正的線上功能驗收應分別標記。不要把一個階段通過外推為全部產品通過。

章節 28

規範資源與維護

使用隨冊完整工具 Schema,並與實例實際發現結果保持同步。

資源內容
reference/mcp-tool-catalog.json32 個本體側和 8 個業務側的聲明輸入 Schema;部分工具含原輸出 Schema
reference/locales.json21 個可選項與 24 個兼容 locale 及 UI 術語
reference/search-keywords.json17 個明確 locale 的靜態關鍵詞目錄
reference/analysis-contract-manifest.json分析 分支 事實 回執及報告相關版本約束
examples/合成 CSV 口徑說明 Top3 SQL 預期結果與最小協議客戶端

內置說明資源

text
datafocus://manuals/etl-formulas/v1
datafocus://manuals/search-keyword-queries/v1
datafocus://manuals/etl-functions/v1
datafocus://manuals/search-keywords/v1

resources/list 和 resources/read 需要當前使用者至少擁有 metadata、search operate 或 etl operate 中的一項對應讀取資格。ETL 文件是靜態跨產品參考;Flash 可執行能力仍只有其明確報告的範圍。

外部協議參考

MCP 協議與授權背景參考官方規範:https://modelcontextprotocol.io/specification/2026-07-28/basic 和 https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization 。本產品的端點、工具和條件行為以 r56 實現及當前實例發現結果為準;不能把通用協議支援等同於伺服器提供所有可選特性。

升級維護

升級時重新發現工具與版本,對比輸入 Schema、輸出合同和配置;舊 Grant 不會自動獲得新 scope。保持引用、緩存和回執與源版本綁定,在確認不兼容變化後重新取得上下文,不把舊定位強行用於新業務狀態。

章節 29

工具參數參考 基礎與原生 Search

完整名稱與輸入字段,按工具分組查閱。

以下表格是當前 r56 工具輸入字段的閱讀參考。完整嵌套類型、oneOf、條件必填、模式約束和部分輸出 Schema 見 reference/mcp-tool-catalog.json;最終提交前仍需讀取當前 Grant 的 tools/list。表中的「可選」不消除動作內部校驗要求。

dfc_manual

參數類型要求含義與範圍
namesarray可選或條件必填需要查找的明確名稱,單次最多 32 個。 maxItems: 32
actionstring可選或條件必填操作名。按當前枚舉和動作對應參數使用。 enum: list, read, keywords, functions, etl_requests
localestring可選或條件必填明確靜態參考目錄 locale,不是查詢默認語言。
uristring可選或條件必填當前工具列出的內置資源 URI。 enum: datafocus://manuals/etl-formulas/v1, datafocus://manuals/search-keyword-queries/v1, datafocus://manuals/etl-functions/v1, datafocus://manuals/search-keywords/v1

dfc_search

參數類型要求含義與範圍
dataobject可選或條件必填原動作載荷;參照能力發現與動作字段表。
actionstring必填操作名。按當前枚舉和動作對應參數使用。 enum: capabilities, model_create, model_read, open, request, poll, cancel, close

dfc_etl

參數類型要求含義與範圍
dataobject可選或條件必填原動作載荷;參照能力發現與動作字段表。
actionstring必填操作名。按當前枚舉和動作對應參數使用。 enum: capabilities

dfc_ontologies

參數類型要求含義與範圍
pageSizeinteger可選或條件必填每頁條數;按 Schema 上限。 minimum: 1; maximum: 100
pageinteger可選或條件必填頁號,從 1 開始。 minimum: 1

dfc_ontology_resources

參數類型要求含義與範圍
resourceTypesarray可選或條件必填需要返回的資源類型集合。
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
pageSizeinteger可選或條件必填每頁條數;按 Schema 上限。 minimum: 1; maximum: 100
pageinteger可選或條件必填頁號,從 1 開始。 minimum: 1
章節 30

工具參數參考 表格 圖譜與知識

完整名稱與輸入字段,按工具分組查閱。

以下表格是當前 r56 工具輸入字段的閱讀參考。完整嵌套類型、oneOf、條件必填、模式約束和部分輸出 Schema 見 reference/mcp-tool-catalog.json;最終提交前仍需讀取當前 Grant 的 tools/list。表中的「可選」不消除動作內部校驗要求。

dfc_ontology_graph

參數類型要求含義與範圍
relationTypesarray可選或條件必填關係類型過濾。
depthinteger可選或條件必填鄰居遍歷深度。 minimum: 1; maximum: 3
sourceTypesarray可選或條件必填來源類型過濾。
queryobject可選或條件必填查詢文本,或 action 對應的精確版本化查詢對象。
limitinteger可選或條件必填返回數量上限。 minimum: 1; maximum: 100
actionstring必填操作名稱。按當前枚舉與動作對應參數使用。 enum: search, neighbors, published_model, published_query, candidate_query
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
nodeKeystring可選或條件必填從實際圖譜結果複製的節點鍵。
keywordstring可選或條件必填圖譜定位關鍵詞,不是智能問數語法。
nodeTypesarray可選或條件必填節點類型過濾。

dfc_ontology_query

參數類型要求含義與範圍
routeLocatorsarray可選或條件必填完整複製伺服器端簽發的類型化路由定位。 maxItems: 20
topKinteger可選或條件必填召回候選上限,不證明覆蓋完整。 minimum: 1; maximum: 20
queryModestring可選或條件必填按工具枚舉選擇證據查詢模式。 enum: vector, hybrid, graph
fanoutPlanobject可選或條件必填受限分支檢索計劃,按嵌套 Schema。
structuredPlanobject可選或條件必填完整文件表格的伺服器端合同綁定計劃,不是 SQL。
knowledgeIdsarray可選或條件必填實際 knowledgeBindings 中的知識庫 ID。
querystring必填查詢文本,或 action 對應的精確版本化查詢對象。
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。

dfc_knowledge_search

參數類型要求含義與範圍
topKinteger可選或條件必填召回候選上限,不證明覆蓋完整。 minimum: 1; maximum: 20
minScorenumber可選或條件必填最低匹配分數。 minimum: 0; maximum: 1
knowledgeIdsarray可選或條件必填實際 knowledgeBindings 中的知識庫 ID。
querystring必填查詢文本,或 action 對應的精確版本化查詢對象。
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
assetIdsarray可選或條件必填當前允許的文件資產 ID。
retrievalStrategystring可選或條件必填實際支援的檢索策略。 enum: auto, hybrid_stage2

dfc_knowledge_detail

參數類型要求含義與範圍
qdrantIdstring / integer可選或條件必填實際定位返回的索引標識。
pageNointeger可選或條件必填實際頁面或分頁頁號。
evidenceIdstring可選或條件必填同一知識定位返回的證據 ID。
actionstring必填操作名稱。按當前枚舉與動作對應參數使用。 enum: chunk, document, page_context
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
documentIdstring / integer可選或條件必填同一定位的文件 ID。
radiusinteger可選或條件必填相鄰頁面範圍。 minimum: 0; maximum: 3
chunkIdstring可選或條件必填同一定位的實際分片 ID。

dfc_table

參數類型要求含義與範圍
maxRowsinteger可選或條件必填返回行數上限;不是客戶端排名範圍。 minimum: 1; maximum: 200
actionstring必填操作名稱。按當前枚舉與動作對應參數使用。 enum: detail, query
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
idstring可選或條件必填真實表資源 ID,不是物理名稱或顯示名稱。
sqlstring可選或條件必填單條本體範圍內唯讀 Doris SQL,顯式輸出欄位。
章節 31

工具參數參考 分析與報告

完整名稱與輸入字段,按工具分組查閱。

以下表格是當前 r56 工具輸入字段的閱讀參考。完整嵌套類型、oneOf、條件必填、模式約束和部分輸出 Schema 見 reference/mcp-tool-catalog.json;最終提交前仍需讀取當前 Grant 的 tools/list。表中的「可選」不消除動作內部校驗要求。

dfc_analysis_ask

參數類型要求含義與範圍
questionstring必填自然語言問題或相容追問。
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
languagestring可選或條件必填明確回答或查詢 locale;省略時按對應工具規則。
sessionIdstring可選或條件必填同一 Grant 下的真實會話定位。

dfc_analysis_refine

參數類型要求含義與範圍
branchIdstring可選或條件必填伺服器端簽發的結構化分支定位。
resultIdstring必填原返回的分析結果定位。
questionstring可選或條件必填自然語言問題或相容追問。
idempotencyKeystring必填同一邏輯操作穩定複用的冪等鍵。
changeobject可選或條件必填自然語言變更或類型化 filter_patch。
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
languagestring可選或條件必填明確回答或查詢 locale;省略時按對應工具規則。
sessionIdstring必填同一 Grant 下的真實會話定位。
expectedRevisioninteger必填原結果或業務頭版本前提;建立問題時可為 null。 minimum: 1
visualIdstring可選或條件必填與分支綁定的視覺化定位。

dfc_analysis_page

參數類型要求含義與範圍
branchIdstring必填伺服器端簽發的結構化分支定位。
resultIdstring必填原返回的分析結果定位。
pageNointeger必填實際頁面或分頁頁號。 minimum: 1; maximum: 10000
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
pageSizeinteger必填每頁條數;按 Schema 上限。 minimum: 1; maximum: 100
sessionIdstring必填同一 Grant 下的真實會話定位。
expectedRevisioninteger必填原結果或業務頭版本前提;建立問題時可為 null。 minimum: 1

dfc_analysis_result_get

參數類型要求含義與範圍
resultIdstring必填原返回的分析結果定位。
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
sessionIdstring必填同一 Grant 下的真實會話定位。

dfc_analysis_cancel

參數類型要求含義與範圍
resultIdstring必填原返回的分析結果定位。
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
sessionIdstring必填同一 Grant 下的真實會話定位。

dfc_analysis_close

參數類型要求含義與範圍
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
sessionIdstring必填同一 Grant 下的真實會話定位。

dfc_report_create

參數類型要求含義與範圍
goalstring必填報告分析目標。
idempotencyKeystring必填同一邏輯操作穩定複用的冪等鍵。
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
languagestring可選或條件必填明確回答或查詢 locale;省略時按對應工具規則。
titlestring可選或條件必填可選報告標題。

dfc_report_status

參數類型要求含義與範圍
reportIdstring必填當前 Grant 的持久報告定位。
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。

dfc_report_cancel

參數類型要求含義與範圍
reportIdstring必填當前 Grant 的持久報告定位。
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
章節 32

工具參數參考 建模與原任務

完整名稱與輸入字段,按工具分組查閱。

以下表格是當前 r56 工具輸入字段的閱讀參考。完整嵌套類型、oneOf、條件必填、模式約束和部分輸出 Schema 見 reference/mcp-tool-catalog.json;最終提交前仍需讀取當前 Grant 的 tools/list。表中的「可選」不消除動作內部校驗要求。

dfc_ontology_agent

參數類型要求含義與範圍
modestring可選或條件必填QUERY 或 AUTHORING,能力分別受權。 enum: QUERY, AUTHORING
instructionstring可選或條件必填用戶需求文本;上下文與提交保持一致。 maxLength: 16000
idempotencyKeystring可選或條件必填同一邏輯操作穩定複用的冪等鍵。 maxLength: 128
actionstring必填操作名。按當前枚舉和動作對應參數使用。 enum: start, status, cancel
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
runIdstring可選或條件必填同一本體和 Grant 的原任務 ID。
contractVersionstring必填必須使用實際支持的精確合同版本。 enum: ontology-agent-task-v1

dfc_authoring_capabilities

此工具的輸入根對象沒有欄位;使用空 arguments 對象。

dfc_artifact_context

參數類型要求含義與範圍
artifactTypestring必填實際開啟的製品或本體發布類型。 enum: CONTROL_PANEL_SPEC, VIEW_SPEC
scopeTypestring可選或條件必填實際製品合同中的資源範圍類型。
ontologyIdstring可選或條件必填本次授權內的真實本體 ID,按字符串保留。
projectIdstring可選或條件必填當前授權項目 ID。
artifactIdstring可選或條件必填編輯已有製品的真實 ID。
instructionstring必填用戶需求文本;上下文與提交保持一致。
variablesobject可選或條件必填按返回合同提供的變量對象。
previewInputobject可選或條件必填按合同提供的有界預覽輸入。
viewportobject可選或條件必填原合同要求的展示視口。

dfc_ontology_table_schema

參數類型要求含義與範圍
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
sourceAssetRefstring必填已登記的結構化資產引用,例如 table:123。
fieldsarray必填當前來源的字段與可選顯式類型聲明。 minItems: 1; maxItems: 64

dfc_artifact_preview

參數類型要求含義與範圍
proposalIdstring必填當前 Grant 創建的原候選 ID。
candidateHashstring必填原服務端候選的精確哈希。
previewInputobject必填按合同提供的有界預覽輸入。

dfc_artifact_status

參數類型要求含義與範圍
proposalIdstring可選或條件必填當前 Grant 創建的原候選 ID。
planIdstring可選或條件必填不可變應用計劃 ID。

dfc_artifact_plan

參數類型要求含義與範圍
proposalIdstring必填當前 Grant 創建的原候選 ID。
candidateHashstring必填原服務端候選的精確哈希。
expectedTargetVersioninteger必填當前真實目標版本前提。 minimum: 0
idempotencyKeystring必填同一邏輯操作穩定複用的冪等鍵。

dfc_artifact_apply

參數類型要求含義與範圍
planIdstring必填不可變應用計劃 ID。
planHashstring必填原計劃返回的哈希。
approvalTokenstring必填原服務端發出的批准材料,禁止自行生成。
idempotencyKeystring必填同一邏輯操作穩定複用的冪等鍵。

dfc_artifact_submit

參數類型要求含義與範圍
配置1 / artifactTypestring必填實際開啟的製品或本體發布類型。 enum: CONTROL_PANEL_SPEC, VIEW_SPEC
配置1 / scopeTypestring可選或條件必填實際製品合同中的資源範圍類型。
配置1 / ontologyIdstring可選或條件必填本次授權內的真實本體 ID,按字符串保留。
配置1 / projectIdstring可選或條件必填當前授權項目 ID。
配置1 / artifactIdstring可選或條件必填編輯已有製品的真實 ID。
配置1 / instructionstring必填用戶需求文本;上下文與提交保持一致。
配置1 / variablesobject可選或條件必填按返回合同提供的變量對象。
配置1 / previewInputobject可選或條件必填按合同提供的有界預覽輸入。
配置1 / viewportobject可選或條件必填原合同要求的展示視口。
配置1 / contractVersionstring必填必須使用實際支持的精確合同版本。
配置1 / contextHashstring必填context 返回的完整上下文哈希。
配置1 / baseArtifactHashstring必填context 返回的基礎製品哈希。
配置1 / baseArtifactVersioninteger必填context 返回的基礎版本。 minimum: 0
配置1 / candidateobject必填符合當前返回合同的候選對象。
配置1 / clientRequestIdstring必填當前候選請求穩定使用的客戶端冪等鍵。
配置2 / artifactTypestring必填實際開啟的製品或本體發佈類型。 enum: ONTOLOGY_RELEASE
配置2 / contractVersionstring必填必須使用實際支持的精確合同版本。 enum: ontology-publication-mcp-submit-v1, ontology-publication-mcp-submit-v2, ontology-publication-mcp-submit-v3, ontology-publication-mcp-submit-v4, ontology-publication-mcp-submit-v5, ontology-publication-mcp-submit-v6
配置2 / ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
配置2 / candidateHashstring必填原服務端候選的精確哈希。
配置2 / workspaceIdstring必填實際候選工作空間坐標。
配置2 / workspaceRevisionstring必填精確候選版本,不用 latest。
配置2 / releasesobject必填按本體發佈合同提供的精確版本選擇。
配置2 / selectionobject必填只提供明確業務選擇座標,不提供權限或完成證明。
配置2 / idempotencyKeystring必填同一邏輯操作穩定複用的冪等鍵。
配置3 / 配置1 / artifactTypestring必填實際開啟的製品或本體發佈類型。 enum: ONTOLOGY_RELEASE
配置3 / 配置1 / contractVersionstring必填必須使用實際支援的精確合同版本。 enum: ontology-workspace-create-mcp-submit-v1
配置3 / 配置1 / ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
配置3 / 配置1 / workspaceIdstring必填實際候選工作空間坐標。
配置3 / 配置1 / resourcesarray必填伺服器端編譯的原模型宣告。 minItems: 1
配置3 / 配置1 / idempotencyKeystring必填同一邏輯操作穩定複用的冪等鍵。
配置3 / 配置2 / artifactTypestring必填實際開啟的製品或本體發佈類型。 enum: ONTOLOGY_RELEASE
配置3 / 配置2 / contractVersionstring必填必須使用實際支援的精確合同版本。 enum: ontology-workspace-create-mcp-submit-v2
配置3 / 配置2 / ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
配置3 / 配置2 / workspaceIdstring必填實際候選工作空間坐標。
配置3 / 配置2 / resourcesarray必填伺服器端編譯的原模型宣告。 minItems: 1
配置3 / 配置2 / idempotencyKeystring必填同一邏輯操作穩定複用的冪等鍵。
配置3 / 配置2 / releaseSelectionsobject必填每個已發佈引用的精確 releaseId 及依賴閉包。
配置4 / artifactTypestring必填實際開啟的製品或本體發佈類型。 enum: ONTOLOGY_RELEASE
配置4 / contractVersionstring必填必須使用實際支援的精確合同版本。 enum: ontology-initial-activation-retirement-submit-v1
配置4 / ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
配置4 / domainRidstring必填真實業務域 RID。
配置4 / consumerScopesarray必填伺服器端允許的精確消費者範圍。 minItems: 1; maxItems: 256
配置4 / idempotencyKeystring必填同一邏輯操作穩定複用的冪等鍵。
章節 33

工具參數參考 知識輸入與範圍

完整名稱與輸入字段,按工具分組查閱。

以下表格是當前 r56 工具輸入字段的閱讀參考。完整嵌套類型、oneOf、條件必填、模式約束和部分輸出 Schema 見 reference/mcp-tool-catalog.json;最終提交前仍需讀取當前 Grant 的 tools/list。表中的「可選」不消除動作內部校驗要求。

dfc_ontology_knowledge_input_propose

參數類型要求含義與範圍
requestobject必填原業務輸入請求;按完整巢狀 Schema。
idempotencyKeystring必填同一邏輯操作穩定複用的冪等鍵。 minLength: 1; maxLength: 128

此工具另有原生 outputSchema。檢查輸出的完整性、狀態及明確為 false 的授權欄位,不自行升級完成含義。

dfc_ontology_knowledge_input_preview

參數類型要求含義與範圍
idempotencyKeystring必填同一邏輯操作穩定複用的冪等鍵。 minLength: 1; maxLength: 128
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。

此工具另有原生 outputSchema。檢查輸出的完整性、狀態及明確為 false 的授權欄位,不自行升級完成含義。

dfc_ontology_knowledge_question_submit

參數類型要求含義與範圍
questionRevision$ref必填本次待確認問題的明確版本。
idempotencyKey$ref必填同一邏輯操作穩定複用的冪等鍵。
originalInputKey$ref必填對應原知識輸入的冪等鍵。
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。
validUntil$ref必填問題有效視窗終點,UTC 時間。
expectedRevisiononeOf必填原結果或業務頭版本前提;建立問題時可為 null。
validFrom$ref必填問題有效視窗起點,UTC 時間。

此工具另有原生 outputSchema。檢查輸出的完整性、狀態及明確為 false 的授權欄位,不自行升級完成含義。

dfc_ontology_business_scope_initialize

參數類型要求含義與範圍
domainRevisionIdstring必填精確業務域版本。 minLength: 1; maxLength: 128
idempotencyKeystring必填同一邏輯操作穩定複用的冪等鍵。 minLength: 1; maxLength: 128
businessSystemIdstring必填真實業務系統 ID。 minLength: 1
ontologyIdstring必填本次授權內的真實本體 ID,按字符串保留。 minLength: 1
domainRidstring必填真實业务域 RID。 minLength: 1; maxLength: 128

此工具另有原生 outputSchema。檢查輸出的完整性、狀態及明確為 false 的授權欄位,不自行升級完成含義。

章節 34

工具參數參考 业務工作台

完整名稱與輸入字段,按工具分組查閱。

以下表格是當前 r56 工具輸入字段的閱讀參考。完整嵌套類型、oneOf、條件必填、模式約束和部分輸出 Schema 見 reference/mcp-tool-catalog.json;最終提交前仍需讀取當前 Grant 的 tools/list。表中的「可選」不消除動作內部校驗要求。

dfb_systems

此工具的輸入根對象沒有欄位;使用空 arguments 對象。

dfb_system_describe

參數類型要求含義與範圍
systemIdstring / integer必填本次業務 Grant 允許的系統 ID。

dfb_query

參數類型要求含義與範圍
systemIdstring / integer必填本次業務 Grant 允許的系統 ID。
queryKeystring必填describe 返回的已發布查詢鍵。
objectKeystring可選或條件必填已發布對象鍵。
pageSizeinteger可選或條件必填每頁條數;按 Schema 上限。 minimum: 1; maximum: 100
pageinteger可選或條件必填頁號,從 1 開始。 minimum: 1
statestring可選或條件必填業務狀態過濾或服務端狀態。

dfb_record

參數類型要求含義與範圍
recordIdstring / integer必填當前允許讀取的業務記錄 ID。
systemIdstring / integer必填本次業務 Grant 允許的系統 ID。

dfb_work_items

參數類型要求含義與範圍
systemIdstring / integer必填本次業務 Grant 允許的系統 ID。

dfb_action_plan

參數類型要求含義與範圍
expectedRecordVersioninteger可選或條件必填目標記錄的當前樂觀鎖版本。 minimum: 1
systemIdstring / integer必填本次業務 Grant 允許的系統 ID。
commandTypestring必填已發布契約中的命令類型。
canonicalIrHashstring必填當前發布的規範 IR 哈希。
releaseIdstring / integer必填實際發布契約版本 ID。
payloadobject必填符合 describe 中當前命令合同的載荷。
releaseHashstring必填實際發布契約哈希。
targetRecordIdstring / integer可選或條件必填需要操作的真實目標記錄。
agentManifestHashstring必填實際 Agent 能力 manifest 哈希。
planIdempotencyKeystring必填業務計劃的穩定冪等鍵。

dfb_action_status

參數類型要求含義與範圍
actionPlanIdstring / integer必填當前業務 Grant 擁有的動作計劃 ID。

dfb_action_execute

參數類型要求含義與範圍
approvalTokenstring可選或條件必填原服務端發出的批准材料,禁止自行生成。
actionPlanIdstring / integer必填當前業務 Grant 擁有的動作計劃 ID。