Manuale di integrazione OT Flash Agent e MCP
Protocollo, autorizzazione, contratti degli strumenti e flusso di chiamata completo
Creare applicazioni dati e di conoscenza tracciabili utilizzando il Remote MCP pubblico di OT Flash r56. Questo manuale fornisce OAuth, i messaggi di protocollo, il riferimento dei parametri di tutti gli strumenti dichiarati, le regole sulle evidenze, le capacità condizionali e i flussi di ripristino, con esempi di client eseguibili e dati sintetici.
Sviluppatori Agent, ingegneri di integrazione e amministratori
I campioni allegati conservano i nomi dei campi in cinese. La traduzione dell'interfaccia e del testo esplicativo non modifica nomi di tabelle, colonne, valori di enumerazione, nomi di strumenti o campi di protocollo effettivi.
Indice
- 1Ambito di integrazione dell'Agent e criteri di completamento
- 2Connessione rapida e individuazione delle capacità
- 3Individuazione, registrazione e autorizzazione OAuth
- 4Confini di scope e risorse e permessi in tempo reale
- 5HTTP e messaggi moderni MCP
- 6Compatibilità con i client del protocollo legacy
- 7Scelta dello strumento corretto e del canale di evidenza
- 8Risorse dell'ontologia e tipi di ID
- 9Contratto di query e struttura delle tabelle Doris
- 10Top3 multidimensionale e gestione del troncamento
- 11Retrieval della conoscenza — testo originale completo e idoneità come evidenza
- 12Modelli e sessioni Search nativi
- 13Convenzioni su lingua e impostazioni regionali
- 14Analisi ibride e risultati interattivi
- 15Report visivi persistenti e MCP Apps
- 16Bozze di artifact, anteprima, piano e applicazione
- 17Contratto di creazione e pubblicazione delle candidate di ontologia
- 18Modelli pubblicati, query delle candidate e chiusura delle dipendenze
- 19Delega di attività all'Agent di ontologia
- 20Business Workspace MCP
- 21Input di conoscenza di business e domande da confermare
- 22Risposta, errori e retry sicuri
- 23Sicurezza dell'integrazione e confini di capacità
- 24Configurazione amministratore e interruttori condizionali
- 25Client eseguibile ed esempi di chiamata
- 26Incorporare l'interfaccia di dialogo dell'ontologia
- 27Elenco di verifica per l'accettazione dell'integrazione
- 28Risorse normative e manutenzione
- 29Riferimento dei parametri degli strumenti: base e nativo Search
- 30Riferimento dei parametri degli strumenti: tabelle, grafo e conoscenza
- 31Riferimento dei parametri degli strumenti: analisi e report
- 32Riferimento dei parametri degli strumenti: modellazione e attività originali
- 33Riferimento ai parametri dello strumento: Input e ambito della conoscenza
- 34Riferimento ai parametri dello strumento: Area di lavoro Business
Ambito di integrazione dell'Agent e criteri di completamento
Selezionare l'ingresso autorizzato e completare query, acquisizione di evidenze o scritture controllate in base alle ricevute lato server.
OT Flash r56 offre agli Agent esterni capacità di dati e conoscenza nell'ambito dell'ontologia tramite Remote MCP e fornisce un ingresso indipendente all'area di lavoro business. L'Agent deve determinare il lavoro eseguibile in base a tools/list effettivo, inputSchema, scope OAuth e permessi correnti sulle risorse; non può dedurre da un manuale statico che una distribuzione abbia tutte le funzioni opzionali abilitate.
| Voce | Finalità | Confini |
|---|---|---|
| /mcp | Ontologia, tabelle dati, conoscenza documentale, Search nativi e analisi e modellazione ad accesso condizionale | Intersezione tra i permessi dell'utente corrente e le risorse autorizzate in questa sessione |
| /mcp/business | Individuazione dei sistemi business, query, piani d'azione, stato ed esecuzione | Autorizzazione di sistemi business indipendenti e contratti di pubblicazione |
| Pagina incorporata dell'agente ontologia | Utilizzo del dialogo ontologia nell'interfaccia umana | Dipende da uno stato di login reale; non è un ingresso per scambio di token MCP senza login |
Classificazione delle capacità
- Lettura di base: ontologia e risorse, posizionamento nel grafo, ricerca nella conoscenza e testo integrale, dettagli delle tabelle autorizzate e Doris SQL.
- Delega indipendente: dfc_search richiede search:operate e continua a utilizzare i permessi originali di utente e modello.
- Accesso condizionale: analisi, report persistenti, bozze e applicazioni di artefatti, query sul modello di ontologia e attività di Agent delegati.
- Capacità non disponibili: l'dfc_etl di Flash segnala solo le capabilities e non fornisce l'esecuzione Heavy ETL. AutoML e gli ingressi interni dell'area di lavoro FocusCode non rientrano nel Flash API pubblico di questo manuale.
Criteri di completamento
Per i fatti letti occorre ottenere una ricevuta effettiva di query o di testo integrale; la generazione di candidati deve indicare che non sono ancora stati applicati; la pubblicazione richiede una ricevuta reale APPLIED; l'annullamento deve distinguere tra richiesta e conferma. Il testo della risposta, un HTTP 200, la conferma di ricezione dello strumento o la descrizione "completato" del modello non provano da soli il successo di un'operazione di business.
L'reference/mcp-tool-catalog.json allegato è un riferimento dichiarativo offline per r56, contenente le definizioni condizionalmente abilitate, non un tools/list in tempo reale di alcun utente. Il catalogo completo comprende 28 strumenti core dell'ontologia, 4 estensioni condizionali del controller e 8 strumenti lato business, e non implica che siano tutti aperti per impostazione predefinita.
Connessione rapida e individuazione delle capacità
Partire dal dominio formale dell'istanza e individuare gli strumenti effettivamente disponibili con privilegi minimi.
- Ottenere dall'amministratore l'indirizzo root formale HTTPS e l'ontologia o il sistema business da accedere. Non utilizzare i domini d'esempio della documentazione per chiamate su business reali.
- Configurare l'indirizzo del server MCP come https://flash.example.com/mcp; l'area di lavoro business utilizza /mcp/business dello stesso dominio.
- Attivare login e autorizzazione OAuth come supportato dal client e verificare risorse e scope; non inviare nome utente e password a MCP.
- Utilizzare l'individuazione o l'inizializzazione del protocollo dell'epoca corrispondente, quindi leggere tools/list e le descrizioni delle risorse.
- Effettuare prima una piccola richiesta di sola lettura, verificando i risultati strutturati e gli errori, prima di eseguire l'obiettivo dell'utente.
Frammento di configurazione del client
{
"mcpServers": {
"ot-flash": {
"url": "https://flash.example.com/mcp"
}
}
}Questo frammento illustra l'intento di configurazione dell'indirizzo del server; la struttura effettiva del file di configurazione e il supporto OAuth dipendono dal client. Non inserire access_token, refresh_token, Cookie o password di amministratore reali in file pubblici.
Individuazione con protocollo moderno
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": {}
}
}
}Controlli pre-integrazione
- L'indirizzo root delle risorse, l'issuer OAuth e l'indirizzo esterno del reverse proxy coincidono.
- Il client supporta l'epoca del protocollo corrispondente, invece di inviare fisso initialize all'ingresso del nuovo protocollo.
- L'autorizzazione corrente è associata all'ontologia o al sistema business richiesto.
- Il token è valido e i nuovi scope opzionali sono stati esplicitamente autorizzati.
Individuazione, registrazione e autorizzazione OAuth
Utilizzare il codice di autorizzazione e PKCE, senza esporre all'Agent le credenziali di accesso del prodotto.
| Endpoint | Metodo | Funzione |
|---|---|---|
| /.well-known/oauth-protected-resource | GET | Individuazione delle risorse ontologia MCP |
| /.well-known/oauth-protected-resource/mcp | GET | Individuazione compatibile dei percorsi delle risorse dell'ontologia |
| /.well-known/oauth-protected-resource/mcp/business | GET | Individuazione delle risorse business MCP |
| /.well-known/oauth-authorization-server | GET | Metadati del server di autorizzazione |
| /oauth/register | POST JSON | Registrazione dinamica di public client |
| /oauth/authorize | Form GET o POST | Login: selezione delle risorse e conferma dell'autorizzazione |
| /oauth/token | POST form | Scambio del codice di autorizzazione e rotazione del refresh |
| /oauth/revoke | POST form | Revoca del token |
| /oauth/grants | GET | Visualizzazione delle connessioni autorizzate dall'utente connesso |
| /oauth/grants/revoke | POST form | Revoca della connessione secondo il flusso della pagina originale |
Sequenza di autorizzazione
- Leggere i metadati delle risorse protette e i metadati del server di autorizzazione. Il 401 restituito a una richiesta senza token e l'intestazione WWW-Authenticate indicano l'indirizzo di individuazione delle risorse.
- Registrare o utilizzare un'identità client. La registrazione dinamica public client di r56 usa token_endpoint_auth_method=none; il segreto client non può sostituire PKCE.
- Generare state e code_verifier casuali e calcolare il code_challenge S256.
- Aprire l'indirizzo authorize indicato nei metadati, passando response_type=code, client_id, redirect_uri esatto, scope, resource, state, code_challenge e code_challenge_method=S256.
- L'utente accede a DataFocus e seleziona l'ontologia o il sistema business. Il client non può preselezionare risorse a cui l'utente non ha accesso.
- Ricevere il callback, verificare state e issuer; scambiare il codice di autorizzazione utilizzando il code_verifier originale.
- Utilizzare l'access_token esclusivamente per l'autenticazione Bearer MCP. Il refresh segue il flusso originale OAuth; conservare in modo sicuro il refresh_token ruotato.
Esempio di registrazione
{
"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"]
}Il callback del client Web utilizza HTTPS; i client nativi possono utilizzare indirizzi di loopback supportati. Autorizzazione e scambio di token corrispondono esattamente al callback registrato. Un Grant è rivolto a una protected resource: non mescolare scope dell'ontologia e scope dell'area di lavoro business nella stessa connessione.
Ciclo di vita del token
Sul server r56, per impostazione predefinita l'access token dura 3600 secondi, il refresh token 2592000 secondi e il codice di autorizzazione 300 secondi; la distribuzione può sovrascrivere questi valori. Il client deve basarsi su expires_in nella risposta del token e sugli errori effettivi, senza codificare i valori predefiniti. Aggiornare il token dopo il refresh; la revoca di ruoli, permessi su risorse o Grant rende le chiamate successive respinte.
Confini di scope e risorse e permessi in tempo reale
L'ambito autorizzato delega i permessi esistenti, non concede escalation di ruoli e non condivide lo stato business tra Grant diversi.
| Scope | Capacità tipiche | Vincoli importanti |
|---|---|---|
| ontology.metadata:read | Ontologia, risorse, struttura delle tabelle | Ontologia e tabelle devono rientrare nell'ambito autorizzato e leggibile corrente |
| ontology.graph:read | Ricerca nel grafo e vicini | Restituisce informazioni di posizionamento, non evidenze di fatto |
| ontology.knowledge:read | Posizionamento nella conoscenza e testo integrale | Conserva i permessi originali della knowledge base e dei documenti |
| ontology.table:query | Query sulle tabelle ontologia SQL e sui modelli pubblicati | La query sulle tabelle richiede anche lo scope metadata; origine effettiva e permessi sulle colonne restano in vigore |
| search:operate | Modelli e sessioni nativi per parole chiave | Delega esplicita indipendente, eseguita secondo i permessi originali del modello e delle colonne della tabella dell'utente |
| etl:operate | Capabilities Flash ETL | Non apre Heavy ETL |
| authoring.contract:read | Contratti di modellazione ad accesso condizionale | Richiede anche interruttori di funzionalità e risorse correlate |
| authoring.artifact:read | Lettura corrente autorizzata di candidati e piani | Associata al Grant del soggetto originale e alle risorse |
| authoring.artifact:draft | Invio di candidati, anteprime ecc. | Non autorizza esecuzione o pubblicazione |
| authoring.artifact:apply | Piani e applicazioni controllate | Richiedono comunque il ruolo business originale, le policy e le approvazioni |
| execution.script:draft | Bozze di script specifici | Non autorizza l'esecuzione effettiva degli script |
| datasource.http:read / draft / test / import | Capacità sugli artefatti delle sorgenti dati HTTP ad accesso condizionale | Interruttore indipendente per ciascuna voce e permessi originali |
Requisiti di combinazione per la lettura
dfc_table detail richiede ontology.metadata:read; query richiede inoltre ontology.table:query. dfc_ontology_query richiede entrambi gli scope di lettura graph e knowledge. dfc_knowledge_search/detail richiede knowledge. published_model/published_query usano table:query; candidate_query richiede inoltre authoring.artifact:read. Gli strumenti di analisi verificano anche gli scope di evidenza consentiti; i report persistenti richiedono metadata e table query.
Non codificare le autorizzazioni predefinite
L'insieme predefinito di scope dell'ontologia di r56 include table query; Search e ETL sono deleghe esplicite. Il riferimento finale resta costituito dai metadati di individuazione, dalla pagina di autorizzazione, dallo scope effettivo del token e da tools/list. Le affermazioni nella documentazione precedente secondo cui "l'ontologia predefinita non ha mai SQL" o "ci sono solo sei strumenti" non possono essere considerate valide per l'implementazione attuale.
Isolamento dello stato
Chat, report, candidati e piani d'azione hanno tutti un proprietario e un ambito propri. Il refresh dell'access token non trasferisce il lavoro del Grant originale a un altro Grant. Non unire al collegamento corrente sessionId, reportId, planId, token di approvazione o Token di origine restituiti da un altro collegamento.
HTTP e messaggi moderni MCP
Inviare correttamente i metadati per richiesta e gli header di routing corrispondenti, elaborando separatamente HTTP e i risultati degli strumenti.
| Progetti | Comportamento r56 |
|---|---|
| Trasporto | Streamable senza stato HTTP, POST JSON-RPC |
| Indicatori supportati | 2026-07-28 e 2025-11-25 2025-06-18 2025-03-26 |
| Metodi moderni | server/discover tools/list tools/call resources/list resources/read, esposti in base alle capacità effettive |
| Header di sessione | Nessun Mcp-Session-Id assegnato |
| GET e DELETE | /mcp e /mcp/business restituiscono 405 |
| Notifiche SSE del server | Questi due endpoint pubblici MCP non sono forniti |
| Cache del catalogo | La discovery e gli elenchi moderni restituiscono ttlMs=60000 e cacheScope=private |
| Risultati ordinari | I risultati moderni includono resultType=complete e i metadati di identità del servizio |
Contenuti che devono corrispondere
- MCP-Protocol-Version coerente con io.modelcontextprotocol/protocolVersion nei params._meta.
- Mcp-Method coerente con il metodo JSON-RPC.
- Per tools/call, Mcp-Name corrisponde a params.name; per resources/read, l'header del nome corrisponde a URI.
- Ogni richiesta moderna trasporta l'oggetto io.modelcontextprotocol/clientCapabilities; fornire inoltre il clientInfo standard per l'identificazione da parte del client.
Esempio di chiamata
{
"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": {}
}
}
}Gli header HTTP corrispondenti sono Mcp-Method: tools/call e Mcp-Name: dfc_ontologies. In tutti gli esempi ACCESS_TOKEN è un segnaposto. Non inserire il Bearer Token in URL, nel parametro JSON o nelle chiavi di cache.
Lettura dei risultati
Elaborare prima lo stato HTTP, quindi verificare l'errore JSON-RPC; se è presente un result, controllare anche isError. I risultati degli strumenti andati a buon fine forniscono in genere structuredContent, insieme a un contenuto text contenente lo stesso JSON di business; dare priorità al canale strutturato ed evitare di riassumere duplicatamente text e structuredContent come fatti indipendenti. Un HTTP 200 può comunque riportare un errore dello strumento.
Risorse pubbliche e UI
La risorsa di documentazione integrata non dipende da MCP Apps. L'ingresso dell'area di lavoro Business non ottiene per questo la risorsa di documentazione dell'ontologia. I client che supportano la visualizzazione dovrebbero individuare la UI corrispondente tramite le capacità effettive e i _meta degli strumenti, senza fare supposizioni su URI delle risorse non restituite.
Compatibilità con i client del protocollo legacy
Mantenere un'epoca di protocollo coerente nei client che utilizzano ancora l'handshake di inizializzazione.
{
"jsonrpc": "2.0", "id": 1, "method": "initialize",
"params": {
"protocolVersion": "2025-11-25",
"capabilities": {},
"clientInfo": {"name": "flash-legacy-client", "version": "1.0.0"}
}
}- Inviare initialize e leggere la versione del protocollo e le capabilities negoziate dal server.
- Inviare le notifiche di completamento dell'inizializzazione necessarie in base al protocollo del client; le notifiche non producono risultati degli strumenti ordinari.
- Utilizzare tools/list per leggere gli strumenti attualmente autorizzati, quindi inviare tools/call.
- Mantenere coerenza tra header e messaggi dell'epoca della richiesta corrente; non inviare flussi initialize o ping legacy a messaggi 2026-07-28.
Il protocollo legacy utilizza lo stesso Bearer/OAuth, le stesse autorizzazioni e gli stessi contratti degli strumenti. Non implica che il server fornisca necessariamente connessioni persistenti legacy SSE o Mcp-Session-Id; il servizio pubblico r56 rimane senza stato.
Errori di protocollo
| Situazione | Risultato tipico | Soluzione |
|---|---|---|
| Header e messaggi moderni incoerenti | HTTP 400 JSON-RPC -32020 | Correggere header, metadati e nomi degli strumenti |
| Versione non supportata | -32022 con elenco delle versioni supportate | Selezionare un protocollo effettivamente supportato |
| Metodo sconosciuto | JSON-RPC -32601; le richieste moderne possono restituire HTTP 404 | Verificare l'epoca del protocollo e il metodo |
| Parametri mancanti o non validi | JSON-RPC errore dei parametri oppure isError dello strumento | Correggere in base all'inputSchema effettivo |
Scelta dello strumento corretto e del canale di evidenza
Instradare in base al problema di business irrisolto, senza ripetere l'acquisizione delle evidenze con una catena di chiamate fissa.
| Attività | Strumento preferito | Evidenze necessarie al completamento |
|---|---|---|
| Scoperta di temi e risorse autorizzati | dfc_ontologies dfc_ontology_resources | Tipi effettivi degli ID delle risorse e ambito di visibilità corrente |
| Statistiche tabellari e TopN | dfc_table query | Ricevuta di esecuzione riuscita e evidenceRows completo |
| Consultazione di normative, contratti o report | dfc_ontology_query o knowledge search/detail | Testo completo, autorizzato, utilizzabile come fatto |
| Individuazione di oggetti nel grafo | dfc_ontology_graph search/neighbors | Individuare la fonte effettiva, quindi ottenere i fatti corrispondenti |
| Interazione per parole chiave originale | dfc_manual quindi dfc_search | Risultati effettivi nel modello e nei frame di business originali |
| Analisi integrata e report | dfc_analysis_* o dfc_report_* | Stato reale di ciascun ramo strutturato e delle evidenze documentali |
| Modifica della visualizzazione o del modello dell'ontologia | dfc_authoring_* e strumenti artifact | Verifica separata di candidato, piano, approvazione e applicazione effettiva |
| Esecuzione di comandi di business | dfb_* di /mcp/business | Contratti pubblicati e ricevuta dell'ActionPlan originale |
Evitare chiamate non necessarie
Quando si dispone già di una struttura di tabella attuale, completa e autorizzata, non richiedere un nuovo detail a ogni query; quando si dispone già di un'individuazione affidabile e delle evidenze, non ripetere la stessa ricerca. Quando manca una dimensione necessaria, effettuare una verifica supplementare delimitata. Quando un fallimento è chiaramente non ripetibile, colmare prima la lacuna, senza sostituire il giudizio con un "riprova".
Esclusioni di Flash
Le capabilities di dfc_etl possono restituire available=false insieme a ETL_NOT_INCLUDED_IN_OT_FLASH. La documentazione statica delle funzioni ETL integrate serve come riferimento trasversale tra prodotti e non dimostra che Flash abbia ETL installato, né consente all'Agent di passare automaticamente a Heavy o ad altri tenant per l'esecuzione.
Risorse dell'ontologia e tipi di ID
Ottenere prima le coordinate effettive delle risorse, per evitare di confondere nomi di archiviazione, ID di documenti e ID della knowledge base.
- Chiamare dfc_ontologies ed esplorare con page e pageSize le ontologie autorizzate in questa sessione e attualmente leggibili.
- Chiamare dfc_ontology_resources con un ontologyId reale; selezionare tra tables, answers, pinboards, documents e knowledgeBindings secondo necessità.
- Gestire separatamente la paginazione per ciascun tipo di risorsa. Massimo 100 per pageSize; non dedurre l'intero ambito della risorsa dalla prima pagina.
- Salvare il tipo dichiarato della risorsa e l'ID originale, e utilizzarli successivamente così come sono.
{"name":"dfc_ontology_resources","arguments":{
"ontologyId":"<ONTOLOGY_ID>",
"resourceTypes":["tables","documents","knowledgeBindings"],
"page":1,"pageSize":100
}}| Coordinate | Origine | Non possono sostituire |
|---|---|---|
| ontologyId | Elenco delle ontologie autorizzate o contesto valido corrente | ID di un'altra ontologia |
| id della risorsa tabella | Elenco tables o contesto affidabile | physicalName o nome tabella visualizzato |
| tblDisplayName colDisplayName | Metadati correnti di tabelle e colonne | Identificatore fisico SQL ipotizzato |
| knowledgeId | knowledgeBindings o ricevuta effettiva di ricerca nella knowledge base | id della risorsa documento |
| assetId documentId chunkId evidenceId | La stessa ricevuta effettiva di individuazione | Campi assemblati a partire da risultati di individuazione diversi |
| rid revisionId releaseId | Modello pubblicato o contesto candidato lato server | ID generati autonomamente o latest |
Convenzioni di precisione
Tutti gli identificatori di risorsa a 64 bit devono essere preferibilmente stringhe decimali, senza passare per Number in JavaScript. Alcuni Schema di business accettano string o integer, ma ciò non significa che si possa sacrificare la precisione degli interi. Anche gli opaque locator, UUID, gli hash e i token monouso vanno conservati così come sono.
Contratto di query e struttura delle tabelle Doris
Eseguire query SQL di sola lettura sulle tabelle autorizzate, preservando la semantica dell'output, i valori esatti e l'integrità.
Lettura della struttura
{"name":"dfc_table","arguments":{
"action":"detail","ontologyId":"<ONTOLOGY_ID>","id":"<TABLE_RESOURCE_ID>"
}}detail utilizza un ID reale della risorsa tabella. Verificare schemaComplete, tblDisplayName, l'colDisplayName nelle columns e l'sqlDataType autorevole, nonché l'queryContract restituito. dataType è solo una mappatura di compatibilità; il nome di archiviazione fisica non è il nome della tabella su cui inviare SQL.
Esecuzione della query
{
"name": "dfc_table",
"arguments": {
"action": "query",
"ontologyId": "<ONTOLOGY_ID>",
"sql": "SELECT \"区域\", SUM(\"销售金额\") AS \"销售金额合计\" FROM \"电商销售数据\" WHERE \"订单状态\" = '已完成' GROUP BY \"区域\" ORDER BY \"销售金额合计\" DESC",
"maxRows": 100
}
}Vincoli SQL
- Utilizzare i nomi di tabella e di colonna visualizzati, citando gli identificatori tra doppi apici. La richiesta è una query Doris di sola lettura nell'ambito dell'ontologia.
- Elenca esplicitamente gli output; SELECT * e table.* sono vietati; non possono aggirare le autorizzazioni delle colonne registrate tramite colonne fisiche.
- I join utilizzano JOIN ... ON espliciti; NATURAL JOIN e JOIN USING vengono rifiutati.
- Sono ammesse espressioni di sola lettura legittime come aggregazioni multidimensionali, CTE, finestre, CASE, COUNT(DISTINCT ...); il fatto che la validazione semantica non copra un'espressione non equivale a vietarne l'esecuzione.
- Completa prima aggregazioni, ordinamenti e classifiche in SQL, quindi applica il limite sui risultati. maxRows è 100 per impostazione predefinita, massimo 200.
Date e fusi orari
| Tipo o destinazione | Forma | Nota |
|---|---|---|
| DATE | CAST('2026-09-01' AS DATE) e CURRENT_DATE | Non presupporre un tipo data a partire da un letterale di testo |
| DATETIME | CAST('2026-09-01 00:00:00' AS DATETIME) e CURRENT_TIMESTAMP | Verifica il fuso orario della sorgente e il fuso orario della sessione |
| Tempo relativo | DATE_SUB(CURRENT_DATE, INTERVAL 1 YEAR) | Utilizza le funzioni current corrispondenti per date e timestamp |
| Raggruppamento temporale | YEAR(column) oppure DATE_TRUNC(column, 'month') | Utilizza un alias univoco per ogni output; fa fede queryContract |
Il DATE('now', ...) di SQLite non è il contratto data Doris di questo punto di ingresso. Non inserire il metodo di verifica offline SQLite degli esempi di documentazione nel SQL di produzione.
Leggere la ricevuta di query v8
evidenceRows è l'unico canale dell'Agent verso i dati di riga; i raw data non sono accessibili all'Agent. I numeri di SQL sono codificati come stringhe decimali precise JSON; determinarne valore numerico e tipo di business tramite resultColumnContracts, senza interpretare JSON come VARCHAR solo perché è una stringa. Leggere executionReceipt, le informazioni di integrità e troncamento e conservare le informazioni di origine come evidenceRowsSha256.
Gli output di query con una ricevuta di esecuzione citabile possono essere citati così come sono; solo la semantica verificata lato server autorizza successivi calcoli deterministici di secondo livello. Non dedurre dalla sola denominazione dei campi significati come "saldo cumulato", "valore di fine periodo", "币种" né aggiungere unità per conto proprio. Risultati a zero righe, fallimenti o troncamenti non devono essere descritti come statistiche complete.
Top3 multidimensionale e gestione del troncamento
Rispondere alle classifiche tramite aggregazioni e funzioni finestra lato server, senza ricalcolare su risultati incompleti.
L'esempio con la tabella di esempio di examples/top3.sql aggrega prima per 区域, 类别 e 产品, quindi esegue ROW_NUMBER all'interno di ciascun 区域 e 类别, usando il nome di 产品 come ordine stabile in caso di parità. Una richiesta con maxRows=100 è sufficiente per le 36 righe dell'esempio; per altri dati di business valutare in base al numero reale di gruppi.
- Ottenere la struttura reale e il criterio corrente, definendo 币种, periodo, 订单状态 e regole di parità.
- Inviare la SQL di aggregazione e classifica lato server. Non limitarsi a interrogare prima il totale di 区域 per poi usarlo come classifica 类别产品.
- Verificare il contratto delle colonne di output rispetto al reale evidenceRows, confermando che i risultati restituiti coprano tutti i gruppi necessari.
- In caso di troncamento, eseguire query a partizioni limitate entro i confini supportati dal server, ad esempio ottenendo il Top3 completo separatamente per ciascun 区域; mantenere ogni volta lo stesso criterio di business.
- Se il periodo della sorgente cambia, interrogare di nuovo e dichiarare esplicitamente la nuova versione, senza mescolare versioni di dati diverse o cursori non più validi.
Ripristino dopo errori
In caso di TABLE_SCHEMA_INCOMPLETE occorre correggere o ottenere la struttura completa; i fallimenti come ONTOLOGY_SQL_FAILURE_CONTRACT_INVALID si gestiscono secondo errorCode, retryable e remediation restituiti. Non affermare che "tutte le GROUP BY multidimensionali o le funzioni finestra sono vietate" e non inventare classifiche in assenza di risultati di query.
Retrieval della conoscenza — testo originale completo e idoneità come evidenza
Separare localizzazione, lettura e citazione dei fatti, conservando fonte e integrità.
Due percorsi comuni
| Percorso | Finalità | Punti chiave |
|---|---|---|
| dfc_ontology_query | Ricerca entro la conoscenza vincolata all'ontologia, eventualmente con instradamento tramite grafo | Verificare il answerContextItems canonico completo e l'idoneità come evidenza |
| dfc_knowledge_search → chunk dfc_knowledge_detail | Localizzare con una ricerca esplicita, quindi leggere l'intero testo del frammento selezionato | L'anteprima di ricerca non costituisce un fatto; leggere il testo originale completo della stessa locazione |
{"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>"
}}Condizioni per l'uso come fatto
- Verificare il ACL corrente, l'integrità del contenuto e il canonicalFactEligible, il citationEligible o il contratto di esecuzione corrispondente dichiarato dal server.
- Il contenuto completo è vincolato al contentSha256. Troncamenti, omissioni per budget o contenuti di bassa qualità vanno trattati secondo i campi effettivi.
- I metadati del documento, page_context, le locazioni del grafo, i riassunti di retrieval e le anteprime non sostituiscono il testo canonico originale.
- Copiare preferibilmente evidenceId; quando servono chunkId e documentId, devono provenire dalla medesima locazione, senza concatenare o inventare.
Instradamento tramite grafo
Il risultato di search/neighbors è un'informazione di localizzazione. Passare alla query sull'ontologia esclusivamente gli oggetti routeLocator restituiti integralmente dal server, inclusi vincolo, versione e campi di prova. Non incapsulare autonomamente un assetId o un knowledgeId come locator emesso dal server, né restituire prove di fonte affermate dal modello.
Ripristino di documenti strutturati
Il structuredPlan di dfc_ontology_query è un ripristino vincolato con verifica deterministica, dedicato alle tabelle dei documenti irregolari. Utilizzare solo dopo che il server ha restituito il piano dichiarato, con executionContractSha256, tableIndex correnti, colonne e tabella completa. Le tabelle di business regolarmente importate devono seguire dfc_table SQL; non trattare il ripristino di tabelle Markdown come un canale per aggirare l'autorizzazione alle query sulle tabelle.
Strategia di retrieval
knowledgeIds di norma viene omesso per coprire i binding attualmente abilitati; quando viene passato, utilizzare solo veri ID di knowledge base di knowledgeBindings. Non usare l'ID di una risorsa documento come ID di knowledge base. Effettuare nuove ricerche limitate per le questioni irrisolte, evitando retrieval esattamente duplicati e senza evidenze aggiuntive.
Modelli e sessioni Search nativi
Tramite dfc_search, utilizzare il protocollo delle parole chiave del Search Rust e attendere lo stato terminale del frame di business originale.
Leggere prima le istruzioni, poi scoprire le capacità
{"name":"dfc_manual","arguments":{
"action":"read","uri":"datafocus://manuals/search-keyword-queries/v1"
}}
{"name":"dfc_search","arguments":{"action":"capabilities"}}dfc_search richiede un search:operate esplicito. Incapsula la WebSocket originale delle parole chiave senza riscrivere le parole chiave in richieste SQL o LLM. La sessione è vincolata a tenant, utente, Grant, client e modello correnti, e le operazioni riverificano le autorizzazioni originali su colonne delle tabelle.
Flusso minimo di sessione
{"name":"dfc_search","arguments":{
"action":"model_create","data":{"tableIds":["<ACTUAL_TABLE_ID>"]}
}}
{"name":"dfc_search","arguments":{
"action":"open","data":{"sourceToken":"<MODEL_SOURCE_TOKEN>","language":"en-US"}
}}
{"name":"dfc_search","arguments":{
"action":"poll","data":{"sessionId":"<SEARCH_SESSION_ID>","waitMillis":10000}
}}
{"name":"dfc_search","arguments":{
"action":"request","data":{"sessionId":"<SEARCH_SESSION_ID>",
"message":{"type":"assist","datas":{}}}
}}
{"name":"dfc_search","arguments":{
"action":"request","data":{"sessionId":"<SEARCH_SESSION_ID>",
"message":{"type":"search","datas":{"search":"<QUERY_USING_ACTUAL_COLUMNS>","ambiguities":[]}}}
}}- model_create utilizza da 1 a 100 veri ID di tabelle autorizzate, oppure model_read legge un sourceToken già disponibile per l'utente.
- open restituisce solo initializationSent; eseguire prima poll, leggere la risposta di init originale e confermarne l'esito positivo.
- Leggere assist e suggerimenti, quindi inviare un message originale supportato. Nelle query datas, isNl è fissato a false dal wrapper.
- Leggere continuativamente i frames, distinguendo suggerimenti, parsing, ricezione e risultato finale di business.
- Al termine eseguire close; per annullare usare cancel e verificare l'interruzione in base allo stato reale del task.
| action | data | Significato |
|---|---|---|
| capabilities | Omesso o oggetto vuoto | Leggere l'azione — comando TTL e istruzioni di trasporto |
| model_create | Array tableIds | Crea un modello autorizzato per l'utente corrente |
| model_read | sourceToken | Legge il modello, filtrando colonne non autorizzate e configurazioni di sorgenti sensibili |
| open | sourceToken e language opzionale | Stabilisce una sessione nativa e invia init |
| request | sessionId e message | Invia un messaggio del protocollo originale type/datas |
| poll | sessionId e waitMillis da 0 a 30000 | Preleva i frame correnti dal buffer con eventuale attesa limitata |
| cancel close | sessionId | Chiude la sessione nativa; non consente di affermare uno stato terminale BI |
Comandi originali supportati
search associateSearch guide assist exportContext reInit
putFormula modifyFormula deleteFormula fnamecheck
disambiguite reDisambiguite clearDisambiguiteMaiuscole/minuscole dei comandi e struttura dei datas seguono le capabilities correnti e il protocollo della sessione originale. Non aggiungere a request azioni inesistenti; ad esempio, l'ortografia di disambiguite deve essere mantenuta secondo il protocollo effettivo. Ogni messaggio ha un massimo di 256 Ki caratteri.
Sessioni e integrità
La TTL della sessione è di 10 minuti e viene conservata solo per la vita del processo corrente; non è un task ripristinabile in modo persistente. Il buffer contiene al massimo 256 frame ed è soggetto a un limite di memoria; con bufferOverflow=true non trattare i frame già prelevati come risultato completo. Dopo un errore di trasmissione, eseguire prima poll sulla sessione originale, senza re-inviare alla cieca query potenzialmente già eseguite.
Il wrapper corrente non offre salvataggio di risposte o pinboard, lettura/scrittura della cronologia né ripristino di contesti arbitrari. L'esistenza di exportContext non implica la possibilità di ripristinare contesti arbitrari. Per salvare i risultati, utilizzare le effettive capacità sulle risorse originali esposte dall'istanza, senza inventare action.
Convenzioni su lingua e impostazioni regionali
Mantenere i confini tra locale della UI, dizionario di query, lingua di restituzione e nomi dei campi originali.
La priorità è: lingua richiesta esplicitamente, lingua del sistema applicativo, locale del nodo di esecuzione effettivo. Predefinito, null, stringhe vuote e spazi non comportano un fallback fisso al cinese. I valori di 区域 in languageRegistry vanno mantenuti con precisione; en-GB, fr-CA, pt-BR, es-US e ar-AE non devono essere arbitrariamente accorpati in un'altra impostazione regionale.
| Lingua o regione | Locale della query | Descrizione |
|---|---|---|
| Cinese semplificato, cinese tradizionale | zh-CN zh-Hant | Le regole originali per il cinese e i cataloghi tradizionali sono diverse |
| Inglese USA, UK, Australia, Canada | en-US en-GB en-AU en-CA | Pacchetti UI/parole chiave condivisibili, metadati regionali conservati |
| Tedesco, italiano, russo | de-DE it-IT ru-RU | Secondo i suggerimenti della sessione corrente |
| Spagnolo di Spagna e America Latina | es-ES es-US | L'ID regione del prodotto è es-US |
| Francese di Francia e Canada | fr-FR fr-CA | Gli ID regione non vengono accorpati |
| Portoghese di Portogallo e Brasile | pt-PT pt-BR | Cataloghi e convenzioni regionali conservati separatamente |
| Olandese, danese, norvegese, finlandese, svedese | nl-NL da-DK nb-NO fi-FI sv-SE | Il norvegese è Bokmål |
| Giapponese, coreano | ja-JP ko-KR | Non segmentare autonomamente secondo le regole degli spazi inglesi |
| Arabo di Arabia Saudita ed Emirati Arabi | ar-SA ar-AE | Le descrizioni dell'interfaccia supportano RTL; gli identificatori di protocollo non vengono invertiti |
Uso del catalogo delle parole chiave
{"name":"dfc_manual","arguments":{
"action":"keywords","locale":"de-DE","names":["<ACTUAL_KEYWORD_ID>"]
}}Il catalogo statico delle parole chiave di dfc_manual include solo i locale esplicitamente elencati; in caso di omissione si usa il riferimento inglese: si tratta di un valore predefinito di riferimento, non di una regola di parsing della lingua della query. Quando una variante regionale non dispone di un catalogo statico, ottenere i suggerimenti effettivi tramite l'assist della sessione corrente, senza fabbricare alias o fallback. Le names accettano al massimo 32 elementi per richiesta.
Contenuti da non tradurre
- Tabelle, colonne, valori di enumerazione, nomi dei clienti, nomi di formule e altre stringhe reali del modello.
- Nomi degli strumenti, action, scope, campi dello Schema, codici di errore e valori di stato.
- ID delle risorse, hash, locator opachi e riferimenti emessi dal server.
Ad esempio, una domanda in tedesco può interrogare la colonna visualizzata in cinese “销售金额”. Rinominarla con un nome di colonna tedesco produrrebbe un identificatore diverso, non una traduzione dell'interfaccia. Dopo un cambio di lingua, reinizializzare o aggiornare la sessione secondo il protocollo originale, e recuperare di nuovo suggerimenti e candidati di disambiguazione.
Analisi ibride e risultati interattivi
Negli strumenti di analisi con condizioni aperte, conservare autorizzazione, versione, branch e stato delle evidenze.
dfc_analysis_* è governato da datafocus.mcp.analysis.tools.enabled. La parte strutturata continua a seguire le query autorevoli Search e la strategia corrente sui dati di riga; per la parte documentale si riottiene il testo originale completo sotto il ACL corrente. Non sono punti di ingresso aperti per SQL, istruzioni arbitrarie o iniezioni di filtri arbitrari.
| Strumento | Finalità | Coordinate necessarie |
|---|---|---|
| dfc_analysis_ask | Pone una domanda di analisi in linguaggio naturale | ontologyId question, language opzionale sessionId |
| dfc_analysis_result_get | Legge i risultati già restituiti | ontologyId sessionId resultId |
| dfc_analysis_refine | Chiede approfondimenti o modifiche in base all'ultimo risultato completo | Risultato originale expectedRevision e chiave idempotente stabile |
| dfc_analysis_page | Ottiene una pagina di un ramo del server | Ramo originale e versione del risultato pageNo pageSize |
| dfc_analysis_cancel | Annulla un risultato ancora in elaborazione | Chat e risultato originali |
| dfc_analysis_close | Rilascia una chat non in stato di lavoro | Chat originale |
Avvia l'analisi
{"name":"dfc_analysis_ask","arguments":{
"ontologyId":"<ONTOLOGY_ID>",
"question":"按区域分析已完成订单销售金额,并引用退货统计口径",
"language":"zh-CN"
}}- Legge i valori sessionId, resultId, lo stato e la revision restituiti; se necessario, continua a leggere il risultato originale.
- Verifica uno per uno lo stato, la completezza, la strategia di righe e le origini dei rami strutturati; il completamento di un singolo ramo non implica che l'intera analisi sia completa.
- Verifica le prove documentali, il registro dei fatti, l'idoneità delle citazioni e i limiti. Le narrazioni generate dal modello non possono elevare autonomamente l'idoneità delle prove.
- Per un approfondimento, basarsi sull'ultimo risultato completo e passare expectedRevision; i tentativi della stessa modifica riutilizzano la stessa chiave idempotente.
- Prima di chiudere, confermare che la chat non sia più in lavorazione; annullare e chiudere sono azioni diverse.
Filtraggio e impaginazione controllati
filter_patch utilizza branchId, fieldRef, valueRef e gli operatori consentiti forniti dal server; il filtro tipizzato corrente dichiara solo EQ. È vietato sostituire i riferimenti opachi con SQL, tableId, columnId grezzi o un albero di filtri costruito dal client. L'impaginazione pageNo inizia da 1, con massimo 10000; pageSize ha massimo 100.
Suggerimenti sulle capacità e comportamento
Le annotations degli strumenti sono suggerimenti per il client, non autorizzazioni di sicurezza. Alcuni modelli generici utilizzano readOnlyHint, che non sostituisce la valutazione dell'azione effettiva; l'annullamento, la chiusura e la creazione di report modificano i rispettivi stati di lavoro. Agire sempre secondo la semantica dello strumento, gli obiettivi dell'utente e le autorizzazioni lato server.
Report visivi persistenti e MCP Apps
Crea report ripristinabili e ne legge i risultati e le interfacce interattive in base alle autorizzazioni correnti.
dfc_report_* è controllato da datafocus.mcp.analysis.report-tools.enabled e richiede metadata e table query scope. È diverso da una sessione Search in-process: i report utilizzano un reportId persistente; la persistenza non implica che le autorizzazioni non vengano più verificate.
{"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>"
}}Flusso di lavoro
- Alla creazione, utilizzare un idempotencyKey stabile, lungo da 8 a 128 caratteri supportati.
- Salvare reportId, eseguire il polling dello status e verificare gli stati effettivi come completato, non riuscito, parzialmente completato o annullato.
- Alla lettura dei risultati, verificare i rami strutturati, le visualizzazioni, le origini dei fatti, le citazioni documentali e la completezza.
- Per annullare un report non completato, utilizzare il reportId originale; non creare un altro report al posto dell'annullamento.
- Dopo un timeout di rete, leggere prima lo stato del report originale; la ripetizione con la chiave idempotente originale deve mantenere la stessa finalità aziendale.
MCP Apps
I client che supportano le estensioni UI leggono le pagine dei report tramite tool _meta e l'individuazione effettiva delle risorse. La pagina del report persistente corrispondente a r56 è ui://datafocus/analysis-report/v16/index.html; l'analisi interattiva utilizza i riferimenti alle risorse lato server appropriati; il client non deve codificare in modo fisso valori in sostituzione di quelli restituiti dagli strumenti. Senza estensione UI, i risultati strutturati restano leggibili.
Binding dell'origine
La lettura dei report riverifica il Grant, l'ontologia, l'associazione all'Origin della richiesta e le autorizzazioni correnti sulle tabelle. Le integrazioni cross-origin del browser devono utilizzare origin effettivi approvati; il client non aggira l'associazione falsificando l'Origin. Il vecchio reportId non è un collegamento pubblico di lunga durata né una credenziale di accesso tra utenti.
Bozze di artifact, anteprima, piano e applicazione
Consegna i contenuti generati al server originale per normalizzazione, validazione e approvazione; non consentire al modello di modificare direttamente le risorse di produzione.
Gli strumenti artifact richiedono l'abilitazione della funzione authoring, un artifact type effettivo, gli scope pertinenti e le autorizzazioni di scrittura dell'amministratore originale. I tipi predefiniti sono configurati come CONTROL_PANEL_SPEC e VIEW_SPEC; altri moduli, origini HTTP o tipi di script sono soggetti a configurazioni indipendenti. Flash non ha AutoML, pertanto i tipi correlati non sono elencati come artifact disponibili in questa versione.
- dfc_authoring_capabilities legge i contratti e le azioni disponibili per il Grant corrente.
- dfc_artifact_context ottiene il contesto delimitato, contractVersion, contextHash, baseArtifactHash e baseArtifactVersion.
- Genera le candidate nel client in base ai contratti reali, senza eseguirne il codice.
- dfc_artifact_submit invia il contesto originale e la candidate, mantiene l'instruction identica e utilizza un clientRequestId stabile.
- Legge proposalId, candidateHash, la verifica e l'anteprima; in presenza di errori effettivi, rivede la candidate senza falsificare uno stato di approvazione lato server.
- Quando serve una nuova anteprima, utilizzare dfc_artifact_preview e lo stesso hash della candidate.
- dfc_artifact_plan crea un piano immutabile, utilizzando la candidate reale, la versione di destinazione e la chiave idempotente.
- Gestisce l'approvazione secondo l'interazione originale o la policy già autorizzata, quindi dfc_artifact_apply; solo la ricevuta APPLIED attesta l'applicazione effettiva.
Richieste di contesto minime
{"name":"dfc_artifact_context","arguments":{
"artifactType":"CONTROL_PANEL_SPEC",
"ontologyId":"<ONTOLOGY_ID>",
"instruction":"为当前授权销售指标建立区域比较面板"
}}VIEW_SPEC utilizza il projectId attualmente autorizzato; per modificare un artifact esistente, utilizzare il artifactId effettivo. I campi variables, previewInput, viewport e simili vengono forniti secondo il contratto restituito, senza inventare la struttura interna della candidate.
Concorrenza e ripetizioni
Il piano vincola la versione di destinazione, l'hash della candidate e la chiave idempotente. Dopo una modifica del target, il vecchio piano non può più essere applicato; rileggere il contesto e gestire il conflitto effettivo. Un timeout di trasporto non prova un fallimento: usare prima dfc_artifact_status per interrogare il proposalId o il planId originale. READY non è APPLIED.
Approvazione e policy automatiche
I piani di artifact generici richiedono l'approvazione umana originale. I piani conformi alla policy di pubblicazione automatica dell'ontologia vengono gestiti secondo approvalMode, senza richiedere all'utente una firma aggiuntiva inventata dall'agente. approvalToken è materiale firmato dal server e non può essere sostituito da una stringa scritta dall'Agent; il inputSchema effettivo e la ricevuta del piano determinano i campi obbligatori.
Contratto di creazione e pubblicazione delle candidate di ontologia
Utilizzare dichiarazioni di ontologia e configurazioni di pubblicazione con versioni indipendenti; non applicare i contratti dei artifact di sola visualizzazione alla pubblicazione dei modelli.
Creazione della candidate
Il contenitore di ontologia deve già esistere ed essere compreso nel Grant. Utilizzare dfc_ontology_table_schema per verificare i campi delle origini strutturate correnti e l'impronta del Binding v4; per i campi è possibile fornire solo sourceField affinché il tipo venga rilevato automaticamente. Una dichiarazione esplicita DECIMAL richiede la precisione e le cifre decimali correnti; gli altri tipi non trasportano questi due campi.
{"name":"dfc_ontology_table_schema","arguments":{
"ontologyId":"<ONTOLOGY_ID>","sourceAssetRef":"table:<ACTUAL_TABLE_ID>",
"fields":[{"sourceField":"区域"},{"sourceField":"销售金额"}]
}}Candidate e configurazione di pubblicazione
| Contratto | Finalità | Confini critici |
|---|---|---|
| ontology-workspace-create-mcp-submit-v1 | Creazione della candidate da dichiarazione locale | Origini realmente autorizzate, compilazione lato server, nessuna prova di completamento accettata |
| ontology-workspace-create-mcp-submit-v2 | Combinazione di locale e riferimenti pubblicati esatti | Fornire il releaseSelections esatto e le dipendenze di chiusura |
| ontology-publication-mcp-submit-v1 verso v3 | Associazione della candidate esistente alla richiesta di piano di pubblicazione | Coordinate esplicite, destinazione, origine, approvazione e verifica ripristinate dal server |
| ontology-publication-mcp-submit-v4 verso v6 | Configurazioni correlate alla pubblicazione automatica abilitate separatamente | Utilizzo solo quando capabilities e schema effettivo lo dichiarano |
| ontology-initial-activation-retirement-submit-v1 | Operazioni controllate di attivazione iniziale e ritiro | Piano indipendente, nuova approvazione umana e ambito esatto |
Sequenza di pubblicazione
- Ottenere la candidate corrente workspaceId, workspaceRevision, candidateHash e le origini effettive.
- Scegliere la versione del contratto in base alle capacità del server; inviare le coordinate come releases e selection, senza allegare campi che si dichiarino "approvato" o "convalidato".
- Conservare proposalId e il idempotencyKey originale restituiti da submit. submit e MODEL_PLAN sono fasi diverse della stessa richiesta.
- Chiamare dfc_artifact_plan, utilizzando la candidate originale, la versione di destinazione e la stessa chiave idempotente.
- PLANNING_INCOMPLETE indica solo che non è ancora stato formato un piano valido; VALIDATION_UNSATISFIED indica che la verifica corrente presenta ancora lacune, da gestire secondo nextAction.
- Dopo il successo del piano, proseguire secondo HUMAN_REQUIRED o POLICY_AUTO, utilizzando l'approvazione e le capacità di pubblicazione originali.
- Confermare il risultato con la ricevuta APPLIED e la successiva lettura reale del modello pubblicato e le query di autorizzazione.
Timeout e ripristino
Dopo il timeout di PLAN, leggere il proposalId originale. MODEL_PLAN_SUBMITTED è una richiesta non completata; MODEL_PLAN_COMPLETED indica di ripristinare la ricevuta originale con le coordinate e la chiave originali, non di far creare al client una nuova richiesta. Le lacune di verifica nello stato finale non possono diventare una pubblicazione convalidata cambiando chiave o inviando di nuovo.
Autorità aziendale umana
L'instruction e le dichiarazioni fornite dall'Agent sono input dell'Agent, non firme di policy umane. MODEL_AUTHOR, MODEL_PUBLISH, la delega alla pubblicazione automatica, la conferma aziendale, l'attendibilità delle chiavi pubbliche, i budget e le origini ACL continuano a essere determinati dai meccanismi originali. Non sostituire questi fatti con campi lato client.
Modelli pubblicati, query delle candidate e chiusura delle dipendenze
Utilizzare la conoscenza aziendale pubblicata per versioni esatte e preservare la provvisorietà delle candidate non pubblicate.
published_model, published_query e candidate_query di dfc_ontology_graph sono configurazioni strutturate ad apertura condizionata, non sinonimi del normale search/neighbors. Sono autorizzati secondo table query e le necessarie autorizzazioni di lettura per la modellazione; la visibilità del grafo non sostituisce le autorizzazioni sulle tabelle.
Lettura del modello pubblicato
- Quando l'enumerazione action dello strumento include effettivamente published_model, inviare il releaseId committed reale.
- v1 restituisce i modelli di query autorizzate; v2 aggiunge i riferimenti esatti PERSISTED e releaseSelections; v3 aggiunge i riferimenti alle dipendenze, il domainRef esatto e i modelli di binding compatti.
- Selezionare oggetti, proprietà, Binding, scope e versioni dai valori effettivamente restituiti, senza generare RID né usare latest.
- Invia query tipizzate fisse per published_query; i risultati devono comunque passare per le autorizzazioni correnti su origini e campi.
Query delle candidate
candidate_query utilizza il workspaceId effettivo, revision, candidateHash e le dichiarazioni della candidate. In caso di combinazione con riferimenti pubblicati, usare le corrispondenti coordinate tipizzate LOCAL/PERSISTED v2 e la selezione esatta. I risultati delle candidate restano sempre non pubblicati e provvisori, e non vanno considerati conoscenza confermata a livello aziendale.
Manutenzione parziale e chiusura
Selezionare solo le dipendenze transitive necessarie alla radice della candidate e garantire che ogni riferimento pubblicato abbia un releaseSelections esatto. Copiare il corpo pubblicato, inviare solo un insieme di ID o estendere a tutte le risorse storiche non sostituisce la verifica delle dipendenze e delle origini correnti.
Le query di queste action sono oggetti tipizzati con versione e non accettano SQL, ID di tabelle fisiche o nomi di tabelle di origine al posto dei riferimenti aziendali. I modelli di metadati e i risultati del grafo non hanno di per sé idoneità come riferimenti fattuali.
Delega di attività all'Agent di ontologia
Riprendere il lavoro con attività persistenti e il Grant originale; non trattare le istruzioni dell'Agent come approvazioni umane.
dfc_ontology_agent viene mostrato solo quando il Pi Runtime effettivo e le autorizzazioni pertinenti sono disponibili. QUERY utilizza le capacità di lettura; AUTHORING richiede inoltre un ruolo di modellazione e lo scope authoring corrispondente. Non apre un altro motore di esecuzione senza vincoli.
{"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>"
}}Set di parametri rigoroso
start utilizza contractVersion, action, ontologyId, mode, instruction, idempotencyKey; status/cancel utilizza contractVersion, action, ontologyId, runId. Il server verifica l'insieme esatto dei campi per action. L'instruction ha massimo 16000 caratteri; la chiave è di 1 a 128 caratteri supportati e inizia con una lettera o una cifra.
Ripristino e annullamento
- Conservare il runId originale, il Grant, il mode e la chiave idempotente.
- La stessa chiave con la stessa instruction ripristina lo stesso run, senza inviare un'altra attività; la stessa chiave con un'istruzione diversa viene rifiutata.
- status interroga lo stato dell'attività originale. Anche al completamento occorre verificare le query sulle tabelle, le prove o le ricevute di pubblicazione.
- L'annullamento utilizza il runId originale; confermare l'esito con lo stato effettivo dell'attività.
Il completamento del run non è una ricevuta di pubblicazione del modello. L'attività di pubblicazione viene comunque confermata tramite lo stato dell'artifact originale e le verifiche delle origini; QUERY non comporta implicitamente diritti di scrittura o pubblicazione.
Business Workspace MCP
Interroga i record in base ai contratti aziendali pubblicati ed esegue i comandi tramite l'ActionPlan originale.
/mcp/business utilizza un protected resource indipendente e la selezione del sistema aziendale; non è possibile riutilizzare il Grant dell'ontologia al posto dell'autorizzazione aziendale. Il sistema aziendale deve essere pubblicato, invocabile dall'Agent, conforme alla policy di sicurezza originale, e l'utente corrente deve disporre di ruoli e capacità di runtime effettivi.
| Scope | Strumento | Confini |
|---|---|---|
| business-system:discover | dfb_systems dfb_system_describe | Individua solo i sistemi autorizzati per questa sessione e attualmente invocabili |
| business-system:read | dfb_query dfb_record dfb_work_items dfb_action_status | Record leggibili dall'utente corrente e piani propri |
| business-system:plan | dfb_action_plan | Creazione solo di piani immutabili, senza esecuzione |
| business-system:execute | dfb_action_execute | Autorizzazione esplicita indipendente, esecuzione secondo rischio e approvazione |
- dfb_systems individua i sistemi autorizzati.
- dfb_system_describe legge il contratto di pubblicazione corrente, releaseId e tutti gli hash, le query e i comandi.
- dfb_query utilizza il queryKey pubblicato, specificando all'occorrenza objectKey, state, page e pageSize. Non è un arbitrario SQL.
- dfb_record e dfb_work_items leggono i record e le attività in sospeso attualmente consentiti.
- Prima dell'esecuzione, fornire con dfb_action_plan il ⟨releaseId, releaseHash, canonicalIrHash, agentManifestHash, commandType, planIdempotencyKey effettivi e il payload del contratto.
- Verificare riskClass, requiresApproval e status; quando sono coinvolti record di destinazione, conservare expectedRecordVersion.
- dfb_action_execute esegue solo i piani posseduti dalla connessione corrente e pronti; i token di approvazione richiesti manualmente sono emessi da DataFocus.
- In caso di errore o timeout, dfb_action_status ripristina il piano originale; i retry mantengono la semantica di idempotenza originale.
Binding di connessione e versione
I piani sono vincolati a ID di isolamento stabili del Grant corrente. Dopo il rinnovo dell'Access Token è ancora possibile elaborare i piani della stessa connessione; un'altra connessione OAuth non può subentrare. All'esecuzione vengono verificati nuovamente la versione pubblicata, gli hash IR/manifest, la versione del record di destinazione, la scadenza del piano, l'idempotenza e l'approvazione. L'allowlist di OAuth non consente di aggirare la governance di business.
Input di conoscenza di business e domande da confermare
Registrare gli input di business quando il processore di produzione corrispondente è aperto, mantenendo i confini di conferma umana.
I seguenti quattro strumenti vengono aggiunti dal controller pubblico MCP in base ai processori installati e all'ambito corrente. Non compaiono sempre nel catalogo di base. La dichiarazione di esistenza dello Schema non implica che l'istanza disponga di processori, budget o permessi; verificare prima tools/list.
| Strumento | Finalità | Autorizzazioni ed effetti non generati |
|---|---|---|
| dfc_ontology_knowledge_input_propose | Registrare gli input di business originali per uno spazio di lavoro esistente | Non genera domande da confermare Non approva Non pubblica |
| dfc_ontology_knowledge_input_preview | Anteprima temporanea delle bozze di domande dall'input originale | Non persiste Non conferma Non genera ricevute di produzione |
| dfc_ontology_knowledge_question_submit | Salva domande authored e non confermate | Non unisce automaticamente le risposte Non acquisisce responsabilità o diritti di pubblicazione |
| dfc_ontology_business_scope_initialize | Inizializza esplicitamente un ambito consumer di sistema di business | Non pubblica Non attiva Non concede accesso alle fonti |
Input e anteprima
- Ottenere workspaceId, workspaceRevision, localRef e preparationDigest dalla preparazione effettiva.
- propose registra gli input di business usando il contratto input originale e una idempotencyKey stabile; alla stessa chiave può corrispondere solo lo stesso input.
- preview usa la chiave di idempotenza e la ontologyId dell'input originale; restituisce ogni volta la revisione lato server e una finestra di 60 secondi, non è una ricevuta di completamento idempotente della produzione.
- Per archiviare una domanda, question_submit usa una nuova chiave di comando, la originalInputKey originale, una questionRevision, validFrom, validUntil e expectedRevision esplicite; alla creazione expectedRevision è null.
Punto di ingresso per la conferma umana
La knowledgeConfirmationPage restituita da question_submit è solo un riferimento relativo alla pagina di login originale, con precompilazione di una domanda. Non contiene Bearer, non apre automaticamente la pagina e non conferma la conoscenza. QUESTION_STORED_UNCONFIRMED indica esplicitamente che la conferma non è ancora avvenuta; non è possibile scrivere nelle risposte che la "conoscenza è stata pubblicata".
Inizializzazione dell'ambito consumer
business scope initialize richiede contemporaneamente il diritto di pubblicazione dell'ontologia e il ruolo di creatore del sistema di business esatto o permessi di amministrazione SourceManager. Usa le coordinate reali di domainRid, domainRevisionId e businessSystemId; il client non può inserire a piacere consumerScope o prove di completamento. La risposta con INITIALIZED e COMPLETED riporta esplicitamente published=false e activationAuthorized=false.
Queste richieste sono inoltre soggette a rigorosi controlli di JSON, insieme di campi, byte e profondità. Il limite per le richieste in input è 1 MiB; alcune operazioni specifiche hanno limiti inferiori. Gli Schema completi di input e output sono forniti con il riferimento agli strumenti; la logica permissiva del wrapper generico MCP non può essere applicata a questi contratti rigorosi.
Risposta, errori e retry sicuri
Spiegare gli errori a livelli, mantenendo le coordinate dell'attività e la semantica di idempotenza.
| Livello | Contenuto da verificare | Principio di gestione |
|---|---|---|
| Rete e HTTP | Connessione TLS 401 403 400 404 405 ecc. | Non trattare una risposta di errore come risultato normale di query |
| JSON-RPC | error.code message data | Distinguere problemi di protocollo, metodo, parametri e autorizzazione |
| Strumento MCP | result.isError e structuredContent | HTTP 200 può comunque indicare un errore |
| Risultato di business | Stato reale, completezza, causa dell'errore nextAction | Ricezione o disponibilità non equivale a completamento |
| Idoneità fattuale | executionReceipt citationEligible contentComplete | I contenuti senza idoneità servono solo a localizzare o spiegare le lacune |
Situazioni comuni di HTTP
- 401: Bearer mancante o non valido; rinnovare o riautorizzare secondo il flusso OAuth corrente.
- 403: Grant, ruolo, risorsa selezionata, permessi sulla fonte, Origin o configurazione non soddisfatti; non aggirare ripetendo la richiesta.
- 400: messaggio o contratto versionato non valido, incluse intestazioni moderne incoerenti con i metadati.
- 404: verificare il percorso esatto del servizio, il metodo di protocollo e le capacità di runtime; non sostituire casualmente l'ID dell'ontologia.
- 405: il GET, DELETE del /mcp pubblico non è previsto come aperto; usare il corretto POST invece di stabilire una connessione persistente SSE.
Operazioni di scrittura con esito incerto
MCP_OPERATION_OUTCOME_UNKNOWN può contenere outcome=UNKNOWN, retryable=false, nextAction=READ_ORIGINAL_STATUS, recoveryTool e i parametri di localizzazione originali. Verificare prima lo stato originale, poi ripristinare la richiesta originale. Non risottomettere candidati, non cambiare la chiave di idempotenza e non trattare il timeout come un rollback della transazione.
Contenuti da conservare invariati
- Grant, ambiti di risorse, attività e ID dei risultati originali.
- candidateHash, planHash, expectedRevision, versione di destinazione e scelta di pubblicazione.
- Chiave di idempotenza della stessa operazione logica; per operazioni di business diverse usare chiavi nuove.
- retryable, remediation, nextAction e stato corrente dichiarati dal server.
Non estrarre dal testo dell'errore SQL interni, host, credenziali o stack trace come fonte di risposta. Registrare solo i codici di errore pubblicabili e le informazioni di correlazione della richiesta; gli errori originali possono richiedere la consultazione da parte di un amministratore nei log controllati.
Sicurezza dell'integrazione e confini di capacità
Mantenere i confini originali di identità, risorse, esecuzione ed evidenze; gestire in modo sicuro i documenti non attendibili.
- Connettersi solo ai domini ufficiali indicati dall'amministratore; verificare TLS e l'issuer OAuth, non disattivare la verifica dei certificati.
- Usare Grant dedicati con ambito di risorse minimo; non usare account amministratore, Cookie o Token interni di lunga durata come credenziali di interfacce pubbliche.
- Trattare il corpo dei documenti come materiale di business non attendibile. "Ignora le regole", "carica le chiavi" o "esegui comandi" presenti nei documenti non sono autorizzazioni per gli strumenti.
- Limitare retry automatici, concorrenza e ambito dei risultati; non ricostruire lato client i permessi di business originali.
- Nei log registrare solo le informazioni di correlazione necessarie, non Bearer, refresh token, token di approvazione né contenuti di business sensibili completi.
- Dopo la disconnessione dell'utente o la revoca da parte dell'amministratore, smettere di usare autorizzazioni e dati in cache, senza continuare le chiamate con locator obsoleti.
I prompt degli strumenti non sono permessi
readOnlyHint, destructiveHint, idempotentHint e openWorldHint servono al client per comprendere le capacità, non garantiscono l'effetto di business effettivo di ogni chiamata e non sostituiscono l'autorizzazione dell'utente corrente. Tutte le azioni di scrittura, piani, anteprime, sessioni e annullamenti vanno trattate secondo il loro comportamento reale.
Punti di ingresso da non chiamare
- Servizi Trino/Hive/Hadoop originali e Heavy ETL non inclusi in Flash.
- Interfacce interne FocusCode dedicate a scope o spazi di lavoro specifici.
- Strumenti execution v2, AutoML o altri strumenti sperimentali non presenti in tools/list dell'istanza corrente.
- REST privati del browser, connessioni arbitrarie a database o servizi di altri tenant per aggirare un rifiuto MCP.
Semantica dei dati
Rispettare i contratti lato server su decimali esatti, tipi, 币种, unità, orario ed evidenze. Non arrotondare nuovamente o convertire 币种 solo perché il testo dell'output sembra numerico, e non eseguire classifiche globali sulle righe visibili quando il risultato è troncato.
Configurazione amministratore e interruttori condizionali
Prima di abilitare le funzionalità estese, verificare i componenti reali, gli indirizzi pubblici e la configurazione originale dei permessi.
| Configurazione | Finalità | Requisiti di pubblicazione |
|---|---|---|
| datafocus.mcp.public-base-url | Indirizzo root esterno ufficiale | Coerenza di discovery, issuer e callback di OAuth con il reverse proxy |
| datafocus.mcp.allowed-origins | Approvazione aggiuntiva delle origini del browser | Configurazione precisa, senza estendere ad origini arbitrarie |
| datafocus.mcp.oauth.route-proof-secret | Server secret dedicato alla prova di routing del grafo | Conservazione separata, senza usare Bearer come chiave |
| datafocus.mcp.analysis.tools.enabled | Strumenti di analisi interattiva | Servizi dati, conoscenza e permessi collegati realmente disponibili |
| datafocus.mcp.analysis.report-tools.enabled | Strumenti di report persistenti | Storage collegato, worker e catena di ripristino disponibili |
| datafocus.mcp.analysis.apps.enabled | Visualizzazione MCP Apps | Dichiarazione di supporto lato client e verifica del _meta restituito |
| datafocus.mcp.authoring.enabled | Contratti di bozza e modellazione | Conservazione dei permessi originali di amministratore e risorse |
| datafocus.mcp.authoring.apply-enabled | Capacità di applicazione degli artefatti | Piani immutabili, ri-verifica di approvazioni originali e stato corrente |
| datafocus.mcp.ontology-published-query-enabled | Modelli e query pubblicati | Versioni realmente sottomesse e autorizzazione delle fonti |
| datafocus.mcp.ontology-candidate-query-enabled | Query strutturate candidate | Proprietà del candidato, versione esatta e diritti di lettura |
| datafocus.mcp.authoring.ontology-auto-publication-enabled | Autorizzazioni per la delega di pubblicazione automatica | Politica originale valida, fiducia nella chiave pubblica, budget e diritto di pubblicazione |
Questi nomi derivano dalla configurazione e dall'implementazione di r56; la possibilità di attivazione dipende dai servizi collegati e dai gate originali di messa in produzione. Cambiare solo valori booleani non supplisce a processori, database, budget di verifica o politiche mancanti. La visibilità delle estensioni di input di conoscenza e dei task Pi dipende dai componenti effettivamente installati.
Proxy perimetrale
Conservare Authorization, Content-Type, MCP-Protocol-Version, Mcp-Method, Mcp-Name e le Origin approvate. Impostare corpo della richiesta, timeout e TLS secondo i requisiti effettivi del servizio; non inoltrare il /mcp pubblico alla porta di amministrazione o a un altro 产品.
Verifica di messa in produzione
- Gli stati di discovery anonimo e delle chiamate protette sono conformi alle attese.
- Gli utenti normali scoprono solo il proprio ambito autorizzato; dopo la revoca le richieste successive vengono rifiutate.
- Sessioni native Search, SQL, testo originale e report opzionali hanno ciascuno risultati reali.
- Approvazioni per scrittura e pubblicazione e ripristino idempotente mantengono il comportamento originale.
- Log e documentazione pubblica non contengono chiavi private, Token, Cookie, password o dati interni dei clienti.
Client eseguibile ed esempi di chiamata
Usare il client minimo collegato per verificare i messaggi, senza aggirare OAuth o l'autorizzazione corrente.
examples/flash_mcp.py è un client di protocollo minimo che dipende solo dalla libreria standard Python. Non effettua login, non approva per conto dell'utente, non chiama automaticamente strumenti invisibili; supporta protocolli moderni e legacy ed esce con codici gerarchici secondo HTTP, JSON-RPC ed errori degli strumenti. I Token vengono passati tramite l'ambiente del processo, senza essere scritti in script o file di documentazione.
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_TOKENLettura e query
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.jsonSostituire prima i segnaposto come ONTOLOGY_ID e TABLE_RESOURCE_ID nel file di richiesta con i valori reali restituiti dall'autorizzazione corrente. Il client rifiuta l'esecuzione in presenza di segnaposto. Il requisito di esempio SQL richiede che il CSV associato sia stato importato con i nomi di colonna originali; in assenza dello schema corrispondente non è possibile inviare direttamente.
Altri scenari
- Accesso business: usare --endpoint business per ottenere nuovamente una Grant relativa a /mcp/business.
- Client legacy: selezionare --protocol 2025-11-25, eseguire prima initialize e poi effettuare le chiamate secondo lo stesso protocollo.
- Istruzioni integrate: usare resources o read-resource per leggere il URI effettivo.
- Autotest offline: --self-test verifica la costruzione delle intestazioni moderne e dei metadati, senza necessità di Token e senza interpellare il server del prodotto.
Limiti degli esempi
Il client è il punto di ingresso al protocollo e non genera automaticamente candidati di modellazione, non salva le risposte né esegue la pubblicazione. Restituisce il JSON originale affinché l'Agent di livello superiore possa verificare lo stato del business; non garantire all'utente il completamento di query, report o pubblicazioni basandosi solo sul codice di uscita del processo.
Incorporare l'interfaccia di dialogo dell'ontologia
Incorporare la pagina di dialogo umana nel frontend business, mantenendo il login e i confini di sicurezza del browser.
<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 è un ID tenant di esempio e 1001 è un ID ontologia di esempio; all'uso vanno sostituiti con coordinate reali per le quali si possiedono i permessi. Una singola ontologia può essere specificata tramite path o una query supportata; la modalità all fornisce @ per selezionare le ontologie accessibili all'utente corrente. skillId viene solo passato attraverso: non affermare sulla base di ciò che l'orchestrazione delle skill sia già eseguibile.
Autenticazione e dominio
La pagina incorporata si basa su uno stato di login DataFocus reale e verifica /uc/status. I cookie cross-site, SSO, il frame-ancestors di CSP e la configurazione del gateway influiscono tutti sull'incorporamento. Non accetta l'inserimento di un Bearer MCP in URL come canale di accesso senza login; i link esterni outside non implementati non devono essere costruiti autonomamente contro quanto previsto dal design.
Differenza tra MCP e iframe
| Modalità | Utente | Identità e risultato |
|---|---|---|
| Remote MCP | Integrazione di Agent o servizi esterni | Grant OAuth e ricevute di strumenti strutturati |
| Iframe di dialogo sull'ontologia | Utente finale umano | Stato di login originale e interfaccia di dialogo |
| MCP Apps | Client MCP con supporto per estensioni | Risorse controllate e risultati degli strumenti correnti, non un sostituto pubblico del login via iframe |
Elenco di verifica per l'accettazione dell'integrazione
Dimostrare l'intera catena business su un'istanza reale, senza limitarsi a confermare che le API restituiscano 200.
- Discovery: ottenere le versioni effettivamente supportate, il catalogo degli strumenti corrente e le risorse integrate.
- Autorizzazione: gli utenti normali vedono solo le ontologie e i sistemi business autorizzati; le operazioni senza scope vengono rifiutate.
- Struttura delle tabelle: nomi visualizzati reali, colonne, tipi e permessi completi.
- SQL: verifiche su dimensione singola, multidimensione, JOIN, date, TopN e troncamento conformi ai criteri business effettivi.
- Conoscenza: posizionamento, testo originale completo e idoneità alle citazioni di fatto coerenti; le domande miste devono avere fondamenti sia nei dati sia nei documenti.
- Search: superamento dei controlli di integrità su model, init, suggerimenti, risultati, chiusura e buffer.
- Analisi e report opzionali: stati reali dei rami multipli, paginazione, modifiche ai permessi e annullamento che mantengono il comportamento originale.
- Modellazione opzionale: verifica per fasi di candidati, piani, approvazione originale, applicazione effettiva e query di versione.
- Azioni business: verifica di hash di pubblicazione, versione di destinazione, approvazione, idempotenza e isolamento tra Grant.
- Ripristino: dopo un timeout di rete si ritorna allo stato originale; dopo l'aggiornamento della fonte il vecchio posizionamento perde validità e si utilizza la nuova query.
Registrazione dei risultati
Registrare la versione dell'istanza, il ruolo dell'utente, l'ambito della Grant, la versione della configurazione, le operazioni reali e i risultati. Contrassegnare separatamente: l'autotest offline del client di protocollo, i valori attesi offline del CSV di esempio, la validazione statica dello Schema JSON e la vera accettazione funzionale online. Non estrapolare il superamento di una fase al superamento dell'intero prodotto.
Risorse normative e manutenzione
Utilizzare gli Schema completi degli strumenti forniti con il manuale, mantenendoli sincronizzati con i risultati di discovery effettivi dell'istanza.
| Risorse | Contenuto |
|---|---|
| reference/mcp-tool-catalog.json | 32 Schema di input dichiarati lato ontologia e 8 lato business; alcuni strumenti includono l'Schema di output originale |
| reference/locales.json | 21 opzioni e 24 locale compatibili con la terminologia UI |
| reference/search-keywords.json | 17 cataloghi statici di parole chiave con locale esplicito |
| reference/analysis-contract-manifest.json | Vincoli di versione relativi ad analisi, rami, fatti, ricevute e report |
| examples/ | Criteri del CSV sintetico, spiegazione Top3 SQL, risultati attesi e client di protocollo minimo |
Risorse di istruzioni integrate
datafocus://manuals/etl-formulas/v1
datafocus://manuals/search-keyword-queries/v1
datafocus://manuals/etl-functions/v1
datafocus://manuals/search-keywords/v1resources/list e resources/read richiedono che l'utente corrente possieda almeno una delle corrispondenti qualifiche di lettura tra metadata, operate su search o operate su etl. Il documento ETL è un riferimento statico trasversale ai prodotti; le capacità eseguibili di Flash restano limitate all'ambito da esso esplicitamente dichiarato.
Riferimenti al protocollo esterno
Per il protocollo MCP e il contesto di autorizzazione fare riferimento alle specifiche ufficiali: https://modelcontextprotocol.io/specification/2026-07-28/basic e https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization. Per questo prodotto, gli endpoint, gli strumenti e i comportamenti condizionali fanno fede l'implementazione di r56 e i risultati di discovery dell'istanza corrente; il supporto generico del protocollo non va equiparato alla disponibilità sul server di tutte le funzionalità opzionali.
Aggiornamento e manutenzione
All'aggiornamento eseguire nuovamente la discovery di strumenti e versioni, confrontando gli Schema di input, i contratti di output e le configurazioni; le Grant precedenti non acquisiscono automaticamente i nuovi scope. Mantenere riferimenti, cache e ricevute vincolati alla versione della fonte; dopo aver confermato modifiche incompatibili, riottenere il contesto e non forzare l'uso di vecchi posizionamenti su nuovi stati business.
Riferimento dei parametri degli strumenti: base e nativo Search
Nomi completi e campi di input, consultabili per strumento.
Le tabelle seguenti sono un riferimento di lettura per i campi di input degli strumenti r56 correnti. Per i tipi nidificati completi, oneOf, i campi obbligatori condizionali, i vincoli di schema e alcuni Schema di output vedere reference/mcp-tool-catalog.json; prima dell'invio finale è comunque necessario leggere il tools/list della Grant corrente. L'indicazione "opzionale" nella tabella non elimina i requisiti di validazione interna dell'azione.
dfc_manual
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| names | array | Opzionale o obbligatorio condizionale | Nomi espliciti da cercare, massimo 32 per singola chiamata. maxItems: 32 |
| action | string | Opzionale o obbligatorio condizionale | Nome dell'operazione. Usare secondo l'enumerazione corrente e i parametri corrispondenti all'azione. enum: list, read, keywords, functions, etl_requests |
| locale | string | Opzionale o obbligatorio condizionale | Locale esplicito del catalogo di riferimento statico, non la lingua predefinita delle query. |
| uri | string | Opzionale o obbligatorio condizionale | URI delle risorse integrate elencate dallo strumento corrente. enum: datafocus://manuals/etl-formulas/v1, datafocus://manuals/search-keyword-queries/v1, datafocus://manuals/etl-functions/v1, datafocus://manuals/search-keywords/v1 |
dfc_search
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| data | object | Opzionale o obbligatorio condizionale | Payload dell'azione originale; fare riferimento alla discovery delle capacità e alle tabelle dei campi delle azioni. |
| action | string | Obbligatorio | Nome dell'operazione. Usare secondo l'enumerazione corrente e i parametri corrispondenti all'azione. enum: capabilities, model_create, model_read, open, request, poll, cancel, close |
dfc_etl
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| data | object | Opzionale o obbligatorio condizionale | Payload dell'azione originale; fare riferimento alla discovery delle capacità e alle tabelle dei campi delle azioni. |
| action | string | Obbligatorio | Nome dell'operazione. Usare secondo l'enumerazione corrente e i parametri corrispondenti all'azione. enum: capabilities |
dfc_ontologies
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| pageSize | integer | Opzionale o obbligatorio condizionale | Numero di elementi per pagina; entro il limite massimo dello Schema. minimum: 1; maximum: 100 |
| page | integer | Opzionale o obbligatorio condizionale | Numero di pagina, a partire da 1. minimum: 1 |
dfc_ontology_resources
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| resourceTypes | array | Opzionale o obbligatorio condizionale | Insieme dei tipi di risorse da restituire. |
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| pageSize | integer | Opzionale o obbligatorio condizionale | Numero di elementi per pagina; entro il limite massimo dello Schema. minimum: 1; maximum: 100 |
| page | integer | Opzionale o obbligatorio condizionale | Numero di pagina, a partire da 1. minimum: 1 |
Riferimento dei parametri degli strumenti: tabelle, grafo e conoscenza
Nomi completi e campi di input, consultabili per strumento.
Le tabelle seguenti sono un riferimento di lettura per i campi di input degli strumenti r56 correnti. Per i tipi nidificati completi, oneOf, i campi obbligatori condizionali, i vincoli di schema e alcuni Schema di output vedere reference/mcp-tool-catalog.json; prima dell'invio finale è comunque necessario leggere il tools/list della Grant corrente. L'indicazione "opzionale" nella tabella non elimina i requisiti di validazione interna dell'azione.
dfc_ontology_graph
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| relationTypes | array | Opzionale o obbligatorio condizionale | Filtro per tipo di relazione. |
| depth | integer | Opzionale o obbligatorio condizionale | Profondità di attraversamento dei vicini. minimum: 1; maximum: 3 |
| sourceTypes | array | Opzionale o obbligatorio condizionale | Filtro per tipo di origine. |
| query | object | Opzionale o obbligatorio condizionale | Testo della query, oppure oggetto di query versionato preciso corrispondente all'azione. |
| limit | integer | Opzionale o obbligatorio condizionale | Limite superiore del numero di risultati restituiti. minimum: 1; maximum: 100 |
| action | string | Obbligatorio | Nome dell'operazione. Usare secondo l'enumerazione corrente e i parametri corrispondenti all'azione. enum: search, neighbors, published_model, published_query, candidate_query |
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| nodeKey | string | Opzionale o obbligatorio condizionale | Chiave del nodo copiata dai risultati effettivi del grafo. |
| keyword | string | Opzionale o obbligatorio condizionale | Parole chiave di posizionamento nel grafo, non sintassi della ricerca per parole chiave. |
| nodeTypes | array | Opzionale o obbligatorio condizionale | Filtro per tipo di nodo. |
dfc_ontology_query
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| routeLocators | array | Opzionale o obbligatorio condizionale | Posizionamento di instradamento tipizzato emesso dal server, da copiare integralmente. maxItems: 20 |
| topK | integer | Opzionale o obbligatorio condizionale | Limite superiore dei candidati richiamati; non dimostra una copertura completa. minimum: 1; maximum: 20 |
| queryMode | string | Opzionale o obbligatorio condizionale | Selezionare la modalità di ricerca delle evidenze secondo l'enumerazione dello strumento. enum: vector, hybrid, graph |
| fanoutPlan | object | Opzionale o obbligatorio condizionale | Piano di ricerca vincolato ai rami, secondo lo Schema nidificato. |
| structuredPlan | object | Opzionale o obbligatorio condizionale | Piano vincolato al contratto del server per la tabella completa dei documenti, non SQL. |
| knowledgeIds | array | Opzionale o obbligatorio condizionale | ID della Knowledge reale nel knowledgeBindings effettivo. |
| query | string | Obbligatorio | Testo della query, oppure oggetto di query versionato preciso corrispondente all'azione. |
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
dfc_knowledge_search
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| topK | integer | Opzionale o obbligatorio condizionale | Limite superiore dei candidati richiamati; non dimostra una copertura completa. minimum: 1; maximum: 20 |
| minScore | number | Opzionale o obbligatorio condizionale | Punteggio minimo di corrispondenza. minimum: 0; maximum: 1 |
| knowledgeIds | array | Opzionale o obbligatorio condizionale | ID della Knowledge reale nel knowledgeBindings effettivo. |
| query | string | Obbligatorio | Testo della query, oppure oggetto di query versionato preciso corrispondente all'azione. |
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| assetIds | array | Opzionale o obbligatorio condizionale | ID degli asset documentali attualmente consentiti. |
| retrievalStrategy | string | Opzionale o obbligatorio condizionale | Strategia di ricerca effettivamente supportata. enum: auto, hybrid_stage2 |
dfc_knowledge_detail
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| qdrantId | string / integer | Opzionale o obbligatorio condizionale | Identificativo dell'indice restituito dal posizionamento effettivo. |
| pageNo | integer | Opzionale o obbligatorio condizionale | Pagina o numero di pagina di paginazione effettivo. |
| evidenceId | string | Opzionale o obbligatorio condizionale | ID dell'evidenza restituita dal medesimo posizionamento della conoscenza. |
| action | string | Obbligatorio | Nome dell'operazione. Usare secondo l'enumerazione corrente e i parametri corrispondenti all'azione. enum: chunk, document, page_context |
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| documentId | string / integer | Opzionale o obbligatorio condizionale | ID del documento del medesimo posizionamento. |
| radius | integer | Opzionale o obbligatorio condizionale | Intervallo di pagine adiacenti. minimum: 0; maximum: 3 |
| chunkId | string | Opzionale o obbligatorio condizionale | ID del chunk effettivo del medesimo posizionamento. |
dfc_table
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| maxRows | integer | Opzionale o obbligatorio condizionale | Limite superiore delle righe restituite; non è un intervallo di classificazione lato client. minimum: 1; maximum: 200 |
| action | string | Obbligatorio | Nome dell'operazione. Usare secondo l'enumerazione corrente e i parametri corrispondenti all'azione. enum: detail, query |
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| id | string | Opzionale o obbligatorio condizionale | ID reale della risorsa tabella, non il nome fisico o il nome visualizzato. |
| sql | string | Opzionale o obbligatorio condizionale | Read-only Doris SQL entro l'ambito di una singola ontologia, con colonne di output esplicite. |
Riferimento dei parametri degli strumenti: analisi e report
Nomi completi e campi di input, consultabili per strumento.
Le tabelle seguenti sono un riferimento di lettura per i campi di input degli strumenti r56 correnti. Per i tipi nidificati completi, oneOf, i campi obbligatori condizionali, i vincoli di schema e alcuni Schema di output vedere reference/mcp-tool-catalog.json; prima dell'invio finale è comunque necessario leggere il tools/list della Grant corrente. L'indicazione "opzionale" nella tabella non elimina i requisiti di validazione interna dell'azione.
dfc_analysis_ask
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| question | string | Obbligatorio | Domanda in linguaggio naturale o domanda di follow-up compatibile. |
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| language | string | Opzionale o obbligatorio condizionale | Locale esplicito per la risposta o la query; in caso di omissione valgono le regole dello strumento corrispondente. |
| sessionId | string | Opzionale o obbligatorio condizionale | Posizionamento reale della Chat sotto la medesima Grant. |
dfc_analysis_refine
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| branchId | string | Opzionale o obbligatorio condizionale | Posizionamento strutturato dei rami emesso dal server. |
| resultId | string | Obbligatorio | Posizionamento del risultato analitico restituito in origine. |
| question | string | Opzionale o obbligatorio condizionale | Domanda in linguaggio naturale o domanda di follow-up compatibile. |
| idempotencyKey | string | Obbligatorio | Chiave di idempotenza stabile e riutilizzabile per la medesima operazione logica. |
| change | object | Opzionale o obbligatorio condizionale | Modifica in linguaggio naturale oppure filter_patch tipizzato. |
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| language | string | Opzionale o obbligatorio condizionale | Locale esplicito per la risposta o la query; in caso di omissione valgono le regole dello strumento corrispondente. |
| sessionId | string | Obbligatorio | Posizionamento reale della Chat sotto la medesima Grant. |
| expectedRevision | integer | Obbligatorio | Premessa sulla versione del risultato originale o dell'intestazione business; può essere null alla creazione della domanda. minimum: 1 |
| visualId | string | Opzionale o obbligatorio condizionale | Posizionamento della visualizzazione vincolato al ramo. |
dfc_analysis_page
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| branchId | string | Obbligatorio | Posizionamento strutturato dei rami emesso dal server. |
| resultId | string | Obbligatorio | Posizionamento del risultato analitico restituito in origine. |
| pageNo | integer | Obbligatorio | Pagina o numero di pagina di paginazione effettivo. minimum: 1; maximum: 10000 |
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| pageSize | integer | Obbligatorio | Numero di elementi per pagina; entro il limite massimo dello Schema. minimum: 1; maximum: 100 |
| sessionId | string | Obbligatorio | Posizionamento reale della Chat sotto la medesima Grant. |
| expectedRevision | integer | Obbligatorio | Premessa sulla versione del risultato originale o dell'intestazione business; può essere null alla creazione della domanda. minimum: 1 |
dfc_analysis_result_get
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| resultId | string | Obbligatorio | Posizionamento del risultato analitico restituito in origine. |
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| sessionId | string | Obbligatorio | Posizionamento reale della Chat sotto la medesima Grant. |
dfc_analysis_cancel
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| resultId | string | Obbligatorio | Posizionamento del risultato analitico restituito in origine. |
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| sessionId | string | Obbligatorio | Posizionamento reale della Chat sotto la medesima Grant. |
dfc_analysis_close
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| sessionId | string | Obbligatorio | Posizionamento reale della Chat sotto la medesima Grant. |
dfc_report_create
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| goal | string | Obbligatorio | Obiettivo analitico del report. |
| idempotencyKey | string | Obbligatorio | Chiave di idempotenza stabile e riutilizzabile per la medesima operazione logica. |
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| language | string | Opzionale o obbligatorio condizionale | Locale esplicito per la risposta o la query; in caso di omissione valgono le regole dello strumento corrispondente. |
| title | string | Opzionale o obbligatorio condizionale | Titolo facoltativo del report. |
dfc_report_status
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| reportId | string | Obbligatorio | Posizionamento persistente del report nella Grant corrente. |
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
dfc_report_cancel
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| reportId | string | Obbligatorio | Posizionamento persistente del report nella Grant corrente. |
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
Riferimento dei parametri degli strumenti: modellazione e attività originali
Nomi completi e campi di input, consultabili per strumento.
Le tabelle seguenti sono un riferimento di lettura per i campi di input degli strumenti r56 correnti. Per i tipi nidificati completi, oneOf, i campi obbligatori condizionali, i vincoli di schema e alcuni Schema di output vedere reference/mcp-tool-catalog.json; prima dell'invio finale è comunque necessario leggere il tools/list della Grant corrente. L'indicazione "opzionale" nella tabella non elimina i requisiti di validazione interna dell'azione.
dfc_ontology_agent
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| mode | string | Opzionale o obbligatorio condizionale | QUERY o AUTHORING, con capacità autorizzate rispettivamente. enum: QUERY, AUTHORING |
| instruction | string | Opzionale o obbligatorio condizionale | Testo del requisito dell'utente; il contesto deve restare coerente con l'invio. maxLength: 16000 |
| idempotencyKey | string | Opzionale o obbligatorio condizionale | Chiave di idempotenza stabile e riutilizzabile per la medesima operazione logica. maxLength: 128 |
| action | string | Obbligatorio | Nome dell'operazione. Utilizzare in base all'enumerazione corrente e ai parametri corrispondenti all'azione. enum: start, status, cancel |
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| runId | string | Opzionale o obbligatorio condizionale | ID del task originale per lo stesso ontologia e Grant. |
| contractVersion | string | Obbligatorio | Deve essere utilizzata la versione esatta del contratto effettivamente supportata. enum: ontology-agent-task-v1 |
dfc_authoring_capabilities
L'oggetto radice di input di questo strumento non ha campi; utilizzare un oggetto arguments vuoto.
dfc_artifact_context
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| artifactType | string | Obbligatorio | Tipo di artifact o di pubblicazione dell'ontologia effettivamente abilitato. enum: CONTROL_PANEL_SPEC, VIEW_SPEC |
| scopeType | string | Opzionale o obbligatorio condizionale | Tipo di ambito delle risorse nel contratto artifact effettivo. |
| ontologyId | string | Opzionale o obbligatorio condizionale | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| projectId | string | Opzionale o obbligatorio condizionale | ID del progetto autorizzato corrente. |
| artifactId | string | Opzionale o obbligatorio condizionale | ID reale dell'artifact esistente da modificare. |
| instruction | string | Obbligatorio | Testo della richiesta dell'utente; coerente con il contesto e con l'invio. |
| variables | object | Opzionale o obbligatorio condizionale | Oggetto delle variabili fornito in base al contratto restituito. |
| previewInput | object | Opzionale o obbligatorio condizionale | Input di anteprima delimitato fornito in base al contratto. |
| viewport | object | Opzionale o obbligatorio condizionale | Viewport di visualizzazione richiesto dal contratto originale. |
dfc_ontology_table_schema
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| sourceAssetRef | string | Obbligatorio | Riferimento a un asset strutturato registrato, ad esempio table:123. |
| fields | array | Obbligatorio | Campi della sorgente corrente con eventuali dichiarazioni esplicite dei tipi. minItems: 1; maxItems: 64 |
dfc_artifact_preview
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| proposalId | string | Obbligatorio | ID del candidate originale creato con il Grant corrente. |
| candidateHash | string | Obbligatorio | Hash esatto del candidate originale del server. |
| previewInput | object | Obbligatorio | Input di anteprima delimitato fornito in base al contratto. |
dfc_artifact_status
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| proposalId | string | Opzionale o obbligatorio condizionale | ID del candidate originale creato con il Grant corrente. |
| planId | string | Opzionale o obbligatorio condizionale | ID immutabile del piano di applicazione. |
dfc_artifact_plan
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| proposalId | string | Obbligatorio | ID del candidate originale creato con il Grant corrente. |
| candidateHash | string | Obbligatorio | Hash esatto del candidate originale del server. |
| expectedTargetVersion | integer | Obbligatorio | Precondizione della versione di destinazione reale corrente. minimum: 0 |
| idempotencyKey | string | Obbligatorio | Chiave di idempotenza stabile e riutilizzabile per la medesima operazione logica. |
dfc_artifact_apply
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| planId | string | Obbligatorio | ID immutabile del piano di applicazione. |
| planHash | string | Obbligatorio | Hash restituito dal piano originale. |
| approvalToken | string | Obbligatorio | Materiale di approvazione emesso dal server originale; vietato generarlo autonomamente. |
| idempotencyKey | string | Obbligatorio | Chiave di idempotenza stabile e riutilizzabile per la medesima operazione logica. |
dfc_artifact_submit
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| config1 / artifactType | string | Obbligatorio | Tipo di artifact o di pubblicazione dell'ontologia effettivamente abilitato. enum: CONTROL_PANEL_SPEC, VIEW_SPEC |
| config1 / scopeType | string | Opzionale o obbligatorio condizionale | Tipo di ambito delle risorse nel contratto artifact effettivo. |
| config1 / ontologyId | string | Opzionale o obbligatorio condizionale | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| config1 / projectId | string | Opzionale o obbligatorio condizionale | ID del progetto autorizzato corrente. |
| config1 / artifactId | string | Opzionale o obbligatorio condizionale | ID reale dell'artifact esistente da modificare. |
| config1 / instruction | string | Obbligatorio | Testo della richiesta dell'utente; coerente con il contesto e con l'invio. |
| config1 / variables | object | Opzionale o obbligatorio condizionale | Oggetto delle variabili fornito in base al contratto restituito. |
| config1 / previewInput | object | Opzionale o obbligatorio condizionale | Input di anteprima delimitato fornito in base al contratto. |
| config1 / viewport | object | Opzionale o obbligatorio condizionale | Viewport di visualizzazione richiesto dal contratto originale. |
| config1 / contractVersion | string | Obbligatorio | Deve essere utilizzata la versione esatta del contratto effettivamente supportata. |
| config1 / contextHash | string | Obbligatorio | Hash completo del contesto restituito da context. |
| config1 / baseArtifactHash | string | Obbligatorio | Hash dell'artifact di base restituito da context. |
| config1 / baseArtifactVersion | integer | Obbligatorio | Versione di base restituita da context. minimum: 0 |
| config1 / candidate | object | Obbligatorio | Oggetto candidate conforme al contratto restituito corrente. |
| config1 / clientRequestId | string | Obbligatorio | Chiave di idempotenza client utilizzata in modo stabile per la richiesta candidate corrente. |
| config2 / artifactType | string | Obbligatorio | Tipo di artifact o di pubblicazione dell'ontologia effettivamente abilitato. enum: ONTOLOGY_RELEASE |
| config2 / contractVersion | string | Obbligatorio | Deve essere utilizzata la versione esatta del contratto effettivamente supportata. 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 |
| config2 / ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| config2 / candidateHash | string | Obbligatorio | Hash esatto del candidate originale del server. |
| config2 / workspaceId | string | Obbligatorio | Coordinate effettive dell'area di lavoro dei candidate. |
| config2 / workspaceRevision | string | Obbligatorio | Versione esatta del candidate, non latest. |
| config2 / releases | object | Obbligatorio | Selezione della versione esatta fornita in base al contratto di pubblicazione dell'ontologia. |
| config2 / selection | object | Obbligatorio | Fornisce solo le coordinate esplicite della scelta di business, non permessi o prove di completamento. |
| config2 / idempotencyKey | string | Obbligatorio | Chiave di idempotenza stabile e riutilizzabile per la medesima operazione logica. |
| config3 / config1 / artifactType | string | Obbligatorio | Tipo di artifact o di pubblicazione dell'ontologia effettivamente abilitato. enum: ONTOLOGY_RELEASE |
| config3 / config1 / contractVersion | string | Obbligatorio | Deve essere utilizzata la versione esatta del contratto effettivamente supportata. enum: ontology-workspace-create-mcp-submit-v1 |
| config3 / config1 / ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| config3 / config1 / workspaceId | string | Obbligatorio | Coordinate effettive dell'area di lavoro dei candidate. |
| config3 / config1 / resources | array | Obbligatorio | Dichiarazione del modello originale compilata dal server. minItems: 1 |
| config3 / config1 / idempotencyKey | string | Obbligatorio | Chiave di idempotenza stabile e riutilizzabile per la medesima operazione logica. |
| config3 / config2 / artifactType | string | Obbligatorio | Tipo di artifact o di pubblicazione dell'ontologia effettivamente abilitato. enum: ONTOLOGY_RELEASE |
| config3 / config2 / contractVersion | string | Obbligatorio | Deve essere utilizzata la versione esatta del contratto effettivamente supportata. enum: ontology-workspace-create-mcp-submit-v2 |
| config3 / config2 / ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| config3 / config2 / workspaceId | string | Obbligatorio | Coordinate effettive dell'area di lavoro dei candidate. |
| config3 / config2 / resources | array | Obbligatorio | Dichiarazione del modello originale compilata dal server. minItems: 1 |
| config3 / config2 / idempotencyKey | string | Obbligatorio | Chiave di idempotenza stabile e riutilizzabile per la medesima operazione logica. |
| config3 / config2 / releaseSelections | object | Obbligatorio | releaseId esatto di ogni riferimento pubblicato e chiusura delle dipendenze. |
| config4 / artifactType | string | Obbligatorio | Tipo di artifact o di pubblicazione dell'ontologia effettivamente abilitato. enum: ONTOLOGY_RELEASE |
| config4 / contractVersion | string | Obbligatorio | Deve essere utilizzata la versione esatta del contratto effettivamente supportata. enum: ontology-initial-activation-retirement-submit-v1 |
| config4 / ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| config4 / domainRid | string | Obbligatorio | RID reale del dominio di business. |
| config4 / consumerScopes | array | Obbligatorio | Ambito di consumer esatto consentito dal server. minItems: 1; maxItems: 256 |
| config4 / idempotencyKey | string | Obbligatorio | Chiave di idempotenza stabile e riutilizzabile per la medesima operazione logica. |
Riferimento ai parametri dello strumento: Input e ambito della conoscenza
Nomi completi e campi di input, consultabili per strumento.
Le tabelle seguenti sono un riferimento di lettura per i campi di input degli strumenti r56 correnti. Per i tipi nidificati completi, oneOf, i campi obbligatori condizionali, i vincoli di schema e alcuni Schema di output vedere reference/mcp-tool-catalog.json; prima dell'invio finale è comunque necessario leggere il tools/list della Grant corrente. L'indicazione "opzionale" nella tabella non elimina i requisiti di validazione interna dell'azione.
dfc_ontology_knowledge_input_propose
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| request | object | Obbligatorio | Richiesta originale di input di business; in base allo Schema annidato completo. |
| idempotencyKey | string | Obbligatorio | Chiave di idempotenza riutilizzata in modo stabile per la stessa operazione logica. minLength: 1; maxLength: 128 |
Questo strumento dispone inoltre di un outputSchema nativo. Verificare l'integrità dell'output, lo stato e i campi di autorizzazione esplicitamente impostati su false, senza elevare autonomamente il significato di completamento.
dfc_ontology_knowledge_input_preview
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| idempotencyKey | string | Obbligatorio | Chiave di idempotenza riutilizzata in modo stabile per la stessa operazione logica. minLength: 1; maxLength: 128 |
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
Questo strumento dispone inoltre di un outputSchema nativo. Verificare l'integrità dell'output, lo stato e i campi di autorizzazione esplicitamente impostati su false, senza elevare autonomamente il significato di completamento.
dfc_ontology_knowledge_question_submit
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| questionRevision | $ref | Obbligatorio | Versione esatta della domanda da confermare in questa occasione. |
| idempotencyKey | $ref | Obbligatorio | Chiave di idempotenza stabile e riutilizzabile per la medesima operazione logica. |
| originalInputKey | $ref | Obbligatorio | Chiave di idempotenza corrispondente all'input di conoscenza originale. |
| ontologyId | string | Obbligatorio | ID ontologia reale nell'ambito dell'autorizzazione corrente, conservato come stringa. |
| validUntil | $ref | Obbligatorio | Fine della finestra di validità della domanda, ora UTC. |
| expectedRevision | oneOf | Obbligatorio | Precondizione della versione del risultato o dell'intestazione di business originale; può essere null alla creazione della domanda. |
| validFrom | $ref | Obbligatorio | Inizio della finestra di validità della domanda, ora UTC. |
Questo strumento dispone inoltre di un outputSchema nativo. Verificare l'integrità dell'output, lo stato e i campi di autorizzazione esplicitamente impostati su false, senza elevare autonomamente il significato di completamento.
dfc_ontology_business_scope_initialize
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| domainRevisionId | string | Obbligatorio | Versione esatta del dominio di business. minLength: 1; maxLength: 128 |
| idempotencyKey | string | Obbligatorio | Chiave di idempotenza riutilizzata in modo stabile per la stessa operazione logica. minLength: 1; maxLength: 128 |
| businessSystemId | string | Obbligatorio | ID reale del sistema di business. minLength: 1 |
| ontologyId | string | Obbligatorio | ID reale dell'ontologia nell'ambito di questa autorizzazione, conservato come stringa. minLength: 1 |
| domainRid | string | Obbligatorio | RID reale del dominio di business. minLength: 1; maxLength: 128 |
Questo strumento dispone inoltre di un outputSchema nativo. Verificare l'integrità dell'output, lo stato e i campi di autorizzazione esplicitamente impostati su false, senza elevare autonomamente il significato di completamento.
Riferimento ai parametri dello strumento: Area di lavoro Business
Nomi completi e campi di input, consultabili per strumento.
Le tabelle seguenti sono un riferimento di lettura per i campi di input degli strumenti r56 correnti. Per i tipi nidificati completi, oneOf, i campi obbligatori condizionali, i vincoli di schema e alcuni Schema di output vedere reference/mcp-tool-catalog.json; prima dell'invio finale è comunque necessario leggere il tools/list della Grant corrente. L'indicazione "opzionale" nella tabella non elimina i requisiti di validazione interna dell'azione.
dfb_systems
L'oggetto radice di input di questo strumento non ha campi; utilizzare un oggetto arguments vuoto.
dfb_system_describe
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| systemId | string / integer | Obbligatorio | ID del sistema consentito da questo Grant di business. |
dfb_query
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| systemId | string / integer | Obbligatorio | ID del sistema consentito da questo Grant di business. |
| queryKey | string | Obbligatorio | Chiave di query pubblicata restituita da describe. |
| objectKey | string | Opzionale o obbligatorio condizionale | Chiave dell'oggetto pubblicato. |
| pageSize | integer | Opzionale o obbligatorio condizionale | Numero di elementi per pagina; entro il limite massimo dello Schema. minimum: 1; maximum: 100 |
| page | integer | Opzionale o obbligatorio condizionale | Numero di pagina, a partire da 1. minimum: 1 |
| state | string | Opzionale o obbligatorio condizionale | Filtro dello stato di business o stato del server. |
dfb_record
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| recordId | string / integer | Obbligatorio | ID del record di business attualmente consentito in lettura. |
| systemId | string / integer | Obbligatorio | ID del sistema consentito da questo Grant di business. |
dfb_work_items
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| systemId | string / integer | Obbligatorio | ID del sistema consentito da questo Grant di business. |
dfb_action_plan
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| expectedRecordVersion | integer | Opzionale o obbligatorio condizionale | Versione corrente dell'optimistic lock del record di destinazione. minimum: 1 |
| systemId | string / integer | Obbligatorio | ID del sistema consentito da questo Grant di business. |
| commandType | string | Obbligatorio | Tipo di comando nel contratto pubblicato. |
| canonicalIrHash | string | Obbligatorio | Hash dell'IR canonico della pubblicazione corrente. |
| releaseId | string / integer | Obbligatorio | ID della versione del contratto di pubblicazione effettivo. |
| payload | object | Obbligatorio | Payload conforme al contratto di comando corrente in describe. |
| releaseHash | string | Obbligatorio | Hash del contratto di pubblicazione effettivo. |
| targetRecordId | string / integer | Opzionale o obbligatorio condizionale | Record di destinazione reale su cui operare. |
| agentManifestHash | string | Obbligatorio | Hash del manifest delle capacità effettivo dell'Agent. |
| planIdempotencyKey | string | Obbligatorio | Chiave di idempotenza stabile del piano di business. |
dfb_action_status
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| actionPlanId | string / integer | Obbligatorio | ID del piano di azione detenuto dal Grant di business corrente. |
dfb_action_execute
| Parametro | Tipo | Requisito | Significato e ambito |
|---|---|---|---|
| approvalToken | string | Opzionale o obbligatorio condizionale | Materiale di approvazione emesso dal server originale; vietato generarlo autonomamente. |
| actionPlanId | string / integer | Obbligatorio | ID del piano di azione detenuto dal Grant di business corrente. |