OT Flash Agent и руководство по подключению MCP
Протокол, авторизация, контракты инструментов и полный процесс вызова
Создавайте отслеживаемые приложения для данных и знаний с использованием публичного Remote MCP OT Flash r56. В этом руководстве приведены OAuth, сообщения протокола, справочник параметров всех объявленных инструментов, правила доказательств, условные возможности и процессы восстановления, а также примеры работающего клиента и синтетических данных.
Разработчики Agent, инженеры по интеграции и администраторы
В прилагаемых примерах названия отображаемых полей сохранены на китайском языке. Перевод языка интерфейса и пояснительного текста не изменяет фактические имена таблиц, столбцов, значения перечислений, названия инструментов или поля протокола.
Содержание
- 1Область подключения Agent и критерии завершения
- 2Быстрое подключение и обнаружение возможностей
- 3Обнаружение, регистрация и авторизация OAuth
- 4Scope, границы ресурсов и права в реальном времени
- 5Сообщения HTTP и современного MCP
- 6Совместимость со старыми клиентами протокола
- 7Выбор правильного инструмента и канала доказательств
- 8Ресурсы онтологии и типы ID
- 9Контракт табличных запросов и структуры Doris
- 10Многомерный Top3 и обработка усечения
- 11Поиск в знаниях: полный исходный текст и квалификация доказательств
- 12Нативная модель Search и сеансы
- 13Соглашения по языку и регионам
- 14Объединённый анализ и интерактивные результаты
- 15Стойкие визуальные отчеты и MCP Apps
- 16Черновики артефактов, предпросмотр, планы и применение
- 17Контракты создания кандидатов онтологии и публикации
- 18Публикация моделей: запрос кандидатов и замыкание ссылок
- 19Делегирование задач агенту онтологии
- 20Рабочая область бизнес-систем MCP
- 21Ввод бизнес-знаний и вопросы на подтверждение
- 22Ответы, ошибки и безопасные повторные попытки
- 23Безопасность интеграции и границы возможностей
- 24Подключение администратором и условные переключатели
- 25Работающий клиент и примеры вызовов
- 26Встраивание интерфейса диалога онтологии
- 27Чек-лист приёмочной проверки интеграции
- 28Нормативные ресурсы и сопровождение
- 29Справочник параметров инструментов: базовые и нативные Search
- 30Справочник параметров инструментов: таблицы, граф и знания
- 31Справочник параметров инструментов: анализ и отчёты
- 32Справочник параметров инструментов: моделирование и исходные задачи
- 33Справочник параметров инструмента: Ввод и область знаний
- 34Справочник параметров инструмента: Business Workspace
Область подключения Agent и критерии завершения
Выберите точку входа авторизации и на основе подтверждений сервера выполняйте запросы, сбор доказательств или контролируемую запись.
OT Flash r56 предоставляет внешним Agent через Remote MCP возможности работы с данными и знаниями в рамках онтологии, а также отдельную точку входа Business Workspace. Agent должен определять доступную работу на основе фактических tools/list, inputSchema, scope OAuth и текущих разрешений ресурсов; нельзя на основании статического руководства делать вывод, что в развертывании включены все необязательные функции.
| Вход | Назначение | Границы |
|---|---|---|
| /mcp | Онтология, таблицы данных, знания документов, нативный Search и условно открытые анализ и моделирование | Пересечение текущих разрешений пользователя и ресурсов данной авторизации |
| /mcp/business | Обнаружение бизнес-систем, запросы, планы действий, состояние и выполнение | Авторизация независимых бизнес-систем и контракт публикации |
| Встроенная страница онтологического агента | Использование онтологического диалога в пользовательском интерфейсе | Зависит от реального состояния входа; это не точка обмена MCP Token без входа в систему |
Классификация возможностей
- Базовое чтение: онтология и ресурсы, позиционирование на графе, поиск знаний и полный исходный текст, детали авторизованных таблиц и Doris SQL.
- Независимое делегирование: dfc_search требует search:operate и продолжает использовать разрешения исходного пользователя и модели.
- Условно открытые: анализ, постоянные отчёты, черновики и приложения артефактов, запросы онтологических моделей и задачи делегированных Agent.
- Недоступные возможности: dfc_etl для Flash только сообщает capabilities и не предоставляет выполнение Heavy ETL. AutoML и внутренние точки входа рабочих пространств FocusCode не входят в публичный Flash API этого руководства.
Критерии завершения
Чтение фактов требует фактического доступного подтверждения запроса или полного исходного текста; генерация кандидатов должна указывать, что они ещё не применены; публикация требует реального подтверждения APPLIED; отмена должна различать запрос и подтверждение. Текст ответа, HTTP 200, факт принятия инструмента или описание модели о «выполнении» по отдельности не доказывают успешность бизнес-операции.
Сопутствующий reference/mcp-tool-catalog.json — это автономный справочник объявлений для r56, содержащий определения условно включённых функций, но не чей-либо актуальный tools/list. Полный каталог включает 28 основных инструментов онтологии, 4 условных расширения контроллеров и 8 бизнес-инструментов; это не означает, что всё открыто по умолчанию.
Быстрое подключение и обнаружение возможностей
Начните с официального домена экземпляра и с минимальными разрешениями обнаруживайте фактически доступные инструменты.
- Получите у администратора официальный корневой адрес HTTPS и онтологию или бизнес-систему, к которым требуется доступ. Не используйте примеры доменов из документации для вызова реального бизнеса.
- Настройте адрес сервера MCP как https://flash.example.com/mcp; Business Workspace использует /mcp/business того же домена.
- В соответствии с поддержкой клиента инициируйте вход и авторизацию OAuth, проверьте ресурсы и scope; не передавайте имя пользователя и пароль в MCP.
- Используйте обнаружение или инициализацию протокола соответствующего поколения, затем прочитайте tools/list и описания ресурсов.
- Сначала выполните небольшой запрос только для чтения, проверьте структурированные результаты и ошибки, затем выполняйте цель пользователя.
Фрагмент конфигурации клиента
{
"mcpServers": {
"ot-flash": {
"url": "https://flash.example.com/mcp"
}
}
}Этот фрагмент иллюстрирует замысел конфигурации адреса сервера; конкретная структура файла конфигурации и поддержка OAuth зависят от клиента. Не указывайте в публичных файлах реальные access_token, refresh_token, Cookie или пароли администратора.
Обнаружение современного протокола
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": {}
}
}
}Проверки перед подключением
- Корневой адрес ресурса, issuer OAuth и внешний адрес обратного прокси совпадают.
- Клиент поддерживает соответствующее поколение протокола, а не всегда отправляет initialize на точку входа нового протокола.
- Текущая авторизация привязана к требуемой онтологии или бизнес-системе.
- Token действителен, и новые необязательные scope явно авторизованы.
Обнаружение, регистрация и авторизация OAuth
Используйте код авторизации и PKCE, не раскрывайте Agent учётные данные для входа в продукт.
| Конечная точка | Метод | Назначение |
|---|---|---|
| /.well-known/oauth-protected-resource | GET | Обнаружение ресурсов онтологии MCP |
| /.well-known/oauth-protected-resource/mcp | GET | Совместимое обнаружение путей ресурсов онтологии |
| /.well-known/oauth-protected-resource/mcp/business | GET | Обнаружение ресурсов бизнеса MCP |
| /.well-known/oauth-authorization-server | GET | Метаданные сервера авторизации |
| /oauth/register | POST JSON | Динамическая регистрация public client |
| /oauth/authorize | GET или form POST | Вход, выбор ресурса и подтверждение авторизации |
| /oauth/token | POST form | Обмен кода авторизации и ротация refresh |
| /oauth/revoke | POST form | Отзыв Token |
| /oauth/grants | GET | Просмотр авторизованных подключений вошедшим пользователем |
| /oauth/grants/revoke | POST form | Отзыв подключения через стандартную процедуру на исходной странице |
Порядок авторизации
- Прочитайте метаданные защищённого ресурса и сервера авторизации. 401 в ответе на запрос без Token и WWW-Authenticate указывают адрес обнаружения ресурса.
- Зарегистрируйте или используйте идентификацию клиента. Динамическая регистрация public client r56 использует token_endpoint_auth_method=none; нельзя заменять PKCE клиентским секретом.
- Сгенерируйте случайные state и code_verifier, вычислите code_challenge S256.
- Откройте адрес authorize, указанный в метаданных, передав response_type=code, client_id, точный redirect_uri, scope, resource, state, code_challenge и code_challenge_method=S256.
- Пользователь входит в DataFocus и выбирает онтологию или бизнес-систему. Клиент не может заранее включать ресурсы, к которым пользователь не имеет доступа.
- Примите обратный вызов, проверьте state и issuer; обменяйте код авторизации, используя исходный code_verifier.
- Используйте access_token только для Bearer-аутентификации MCP. Обновление использует исходный процесс OAuth; безопасно сохраняйте ротированный refresh_token.
Пример регистрации
{
"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"]
}Обратный вызов веб-клиента использует HTTPS; нативные клиенты могут использовать поддерживаемые loopback-адреса. Авторизация и обмен Token точно соответствуют зарегистрированному обратному вызову. Один Grant относится к одному protected resource; не смешивайте scope онтологии и Business Workspace в одном подключении.
Жизненный цикл Token
По умолчанию на сервере r56 access token — 3600 секунд, refresh token — 2592000 секунд, код авторизации — 300 секунд; развертывание может переопределить эти значения. Клиент должен использовать expires_in из ответа token и фактические ошибки, не зашивая значения по умолчанию. После обновления обновите Token; отзыв роли, разрешения ресурса или Grant приводит к отклонению последующих вызовов.
Scope, границы ресурсов и права в реальном времени
Область авторизации делегирует существующие разрешения, не повышает роли и не разделяет бизнес-состояние между Grant.
| Scope | Типичные возможности | Важные ограничения |
|---|---|---|
| ontology.metadata:read | Онтология, ресурсы, структура таблиц | Онтология и таблицы должны быть в пределах авторизации и текущей читаемости |
| ontology.graph:read | Поиск по графу и соседи | Возвращается информация о позиционировании, а не доказательства фактов |
| ontology.knowledge:read | Позиционирование знаний и полный исходный текст | Сохраняются исходные разрешения Knowledge и документов |
| ontology.table:query | Запросы SQL таблицы онтологии и опубликованных моделей | Для запроса таблицы также нужен scope metadata; действуют фактические источники и права на столбцы |
| search:operate | Нативные модели по ключевым словам и сеансы | Отдельное явное делегирование; выполняется по разрешениям исходной модели и столбцов таблицы пользователя |
| etl:operate | Flash ETL capabilities | Heavy ETL не открывается |
| authoring.contract:read | Условно открытые контракты моделирования | Также требуются функциональные переключатели и соответствующие ресурсы |
| authoring.artifact:read | Текущее авторизованное чтение кандидатов и планов | Привязано к исходному субъекту Grant и ресурсу |
| authoring.artifact:draft | Отправка кандидатов, предпросмотр и т. д. | Не авторизует выполнение или публикацию |
| authoring.artifact:apply | Контролируемые планы и применение | По-прежнему требуются исходные бизнес-роли, политики и утверждения |
| execution.script:draft | Черновики определённых скриптов | Не авторизует фактическое выполнение скриптов |
| datasource.http:read / draft / test / import | Условно открытые возможности артефактов источников данных HTTP | Отдельный переключатель и исходные разрешения для каждой |
Требования к комбинациям чтения
dfc_table detail требует ontology.metadata:read; query дополнительно требует ontology.table:query. dfc_ontology_query требует двух scope чтения: graph и knowledge. dfc_knowledge_search/detail требует knowledge. published_model/published_query используют table:query; candidate_query дополнительно требует authoring.artifact:read. Инструменты анализа также проверяют разрешённые scope доказательств; постоянные отчёты требуют metadata и table query.
Не зашивайте авторизацию по умолчанию
Набор scope онтологии по умолчанию для r56 включает table query; Search и ETL — явное делегирование. Окончательным критерием остаются метаданные обнаружения, страница авторизации, фактический scope Token и tools/list. Утверждения из старой документации о том, что «онтомлогия по умолчанию точно не имеет SQL» или «только шесть инструментов», не могут служить основанием для текущей реализации.
Изоляция состояний
Сеансы, отчёты, кандидаты и планы действий имеют собственных владельцев и области. Обновление access token не передаёт работу исходного Grant другому Grant. Не объединяйте с текущим подключением sessionId, reportId, planId, токены утверждений или исходные Token, возвращённые другим подключением.
Сообщения HTTP и современного MCP
Правильно отправляйте метаданные по каждому запросу и соответствующие заголовки маршрутизации; раздельно обрабатывайте HTTP и результаты инструментов.
| Проект | Поведение r56 |
|---|---|
| Транспорт | Stateless Streamable HTTP, POST JSON-RPC |
| Поддерживаемая идентификация | 2026-07-28, а также 2025-11-25 2025-06-18 2025-03-26 |
| Современные методы | server/discover, tools/list, tools/call, resources/list, resources/read — открываются по фактическим возможностям |
| Заголовок сеанса | Mcp-Session-Id не назначается |
| GET и DELETE | /mcp и /mcp/business возвращают 405 |
| Уведомления SSE сервера | Не предоставляются этими двумя публичными точками входа MCP |
| Кэширование каталога | В современном обнаружении и ответе списка возвращается ttlMs=60000 и cacheScope=private |
| Обычный результат | Современный результат содержит resultType=complete и метаданные сервисной идентичности |
Содержимое, которое должно совпадать
- MCP-Protocol-Version совпадает с io.modelcontextprotocol/protocolVersion в params._meta.
- Mcp-Method совпадает с методом JSON-RPC.
- Mcp-Name для tools/call совпадает с params.name; заголовок имени для resources/read совпадает с URI.
- Каждый современный запрос содержит объект io.modelcontextprotocol/clientCapabilities; при этом предоставляется стандартный clientInfo для распознавания клиентом.
Пример вызова
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "dfc_ontologies",
"arguments": {"page": 1, "pageSize": 20},
"_meta": {
"io.modelcontextprotocol/protocolVersion": "2026-07-28",
"io.modelcontextprotocol/clientInfo": {"name": "flash-client", "version": "1.0.0"},
"io.modelcontextprotocol/clientCapabilities": {}
}
}
}Соответствующие заголовки для HTTP: Mcp-Method: tools/call и Mcp-Name: dfc_ontologies. Все ACCESS_TOKEN в примерах являются заполнителями. Не помещайте Bearer-токен в параметры URL, JSON или в ключи кэша.
Чтение результата
Сначала обработайте статус HTTP, затем проверьте JSON-RPC error; при наличии result продолжите проверку isError. Успешный результат инструмента обычно предоставляет structuredContent, а также text-содержимое с тем же бизнес-JSON; отдавайте приоритет структурированному каналу и не суммируйте text и structuredContent повторно как два независимых источника фактов. HTTP 200 может содержать ошибку инструмента.
Общие ресурсы и UI
Встроенный ресурс с инструкциями не зависит от MCP Apps. Вход в Business Workspace не получает при этом ресурс с описанием онтологии. Клиенты с поддержкой визуализации должны обнаруживать соответствующий UI через фактически объявленные возможности и tool _meta, не угадывая не возвращённые URI ресурсов.
Совместимость со старыми клиентами протокола
Поддерживайте согласованную эпоху протокола в клиентах, всё ещё использующих инициализационное рукопожатие.
{
"jsonrpc": "2.0", "id": 1, "method": "initialize",
"params": {
"protocolVersion": "2025-11-25",
"capabilities": {},
"clientInfo": {"name": "flash-legacy-client", "version": "1.0.0"}
}
}- Отправьте initialize и прочитайте согласованные сервером версию протокола и capabilities.
- Отправьте необходимые уведомления о завершении инициализации в соответствии с протоколом клиента; уведомления не возвращают обычных результатов инструментов.
- Используйте tools/list для чтения текущих авторизованных инструментов, затем отправьте tools/call.
- Согласуйте заголовки и сообщения с текущей эпохой запросов; не отправляйте старые initialize или ping-процедуры в сообщениях 2026-07-28.
Старый протокол использует те же Bearer/OAuth, разрешения и контракты инструментов. Это не означает, что сервер обязательно предоставляет старые SSE долгоживущие соединения или Mcp-Session-Id; публичная служба r56 остаётся без сохранения состояния.
Ошибки протокола
| Ситуация | Типичный результат | Как исправить |
|---|---|---|
| Несоответствие современных заголовков и сообщения | HTTP 400 JSON-RPC -32020 | Исправьте заголовки, метаданные и имя инструмента |
| Неподдерживаемая версия | -32022 со списком поддерживаемых версий | Выберите фактически поддерживаемый протокол |
| Неизвестный метод | JSON-RPC -32601; современный запрос может вернуть HTTP 404 | Проверьте эпоху протокола и метод |
| Отсутствующие или недопустимые параметры | JSON-RPC ошибка параметров или isError инструмента | Исправьте в соответствии с фактическим inputSchema |
Выбор правильного инструмента и канала доказательств
Осуществляйте маршрутизацию на основе нерешённой бизнес-задачи, не повторяя сбор доказательств по фиксированной цепочке вызовов.
| Задача | Предпочтительный инструмент | Необходимые доказательства для завершения |
|---|---|---|
| Обнаружение авторизованных тем и ресурсов | dfc_ontologies dfc_ontology_resources | Фактические типы ID ресурсов и текущая область видимости |
| Табличная статистика и TopN | dfc_table query | Квитанция успешного выполнения и полный evidenceRows |
| Поиск регламента, контракта или отчёта | dfc_ontology_query или knowledge search/detail | Полный, авторизованный исходный текст, пригодный для использования в качестве факта |
| Определение объекта графа | dfc_ontology_graph search/neighbors | Сначала найдите фактический источник, затем получите соответствующий факт |
| Взаимодействие по исходному ключевому слову | dfc_manual затем dfc_search | Фактические результаты исходной модели и бизнес-кадра |
| Объединённый анализ и отчёты | dfc_analysis_* или dfc_report_* | Реальные статусы каждого структурированного ответвления и документальных доказательств |
| Изменение представления или модели онтологии | dfc_authoring_* и инструменты артефактов | Отдельно проверяйте кандидатов, планы, согласования и фактическое применение |
| Выполнение бизнес-команд | dfb_* для /mcp/business | Опубликованный контракт и квитанция исходного ActionPlan |
Избегание ненужных вызовов
Если уже есть актуальная, полная, авторизованная структура таблицы, не требуйте повторного detail при каждом запросе; если уже есть надёжная локализация и доказательства, не повторяйте тот же поиск. При нехватке какого-либо измерения выполняйте ограниченный дополнительный запрос. Если ошибка явно не подлежит повтору, сначала устраните пробел, не заменяя оценку «попробовать ещё раз».
Исключения для Flash
dfc_etl capabilities может возвращать available=false и ETL_NOT_INCLUDED_IN_OT_FLASH. Статическое описание встроенной функции ETL служит справочным материалом между продуктами и не доказывает, что в Flash установлен ETL, а также не позволяет Agent автоматически переключаться на Heavy или другого арендатора для выполнения.
Ресурсы онтологии и типы ID
Сначала получите фактические координаты ресурса, чтобы не смешивать имена хранения, ID документов и ID базы знаний.
- Вызовите dfc_ontologies и просмотрите с помощью page и pageSize онтологии, авторизованные в этот раз и всё ещё доступные для чтения.
- Вызовите dfc_ontology_resources с реальным ontologyId; при необходимости выберите tables, answers, pinboards, documents и knowledgeBindings.
- Обрабатывайте пагинацию отдельно для каждого типа ресурса. Максимум для pageSize — 100; не делайте вывод обо всём объёме ресурса по первой странице.
- Сохраните заявленный тип ресурса и исходный ID и используйте их в последующих вызовах без изменений.
{"name":"dfc_ontology_resources","arguments":{
"ontologyId":"<ONTOLOGY_ID>",
"resourceTypes":["tables","documents","knowledgeBindings"],
"page":1,"pageSize":100
}}| Координаты | Источник | Не заменяет |
|---|---|---|
| ontologyId | Список авторизованных онтологий или текущий действующий контекст | ID другой онтологии |
| ID табличного ресурса | Список tables или надёжный контекст | physicalName или отображаемое имя таблицы |
| tblDisplayName colDisplayName | Метаданные текущей таблицы и столбцов | Предположительный физический идентификатор SQL |
| knowledgeId | knowledgeBindings или фактическая квитанция поиска знаний | ID документного ресурса |
| assetId documentId chunkId evidenceId | Та же самая фактическая квитанция локализации | Поля, собранные из разных результатов локализации |
| rid revisionId releaseId | Опубликованная модель или серверный контекст кандидата | Самостоятельно сгенерированный ID или latest |
Соглашения о точности
Все 64-битные идентификаторы ресурсов предпочтительно передавать как десятичные строки, без преобразования через Number в JavaScript. Некоторые бизнес-схемы допускают string или integer, но это не означает, что целочисленной точностью можно пренебречь. Opaque locator, UUID, хэши и одноразовые токены также сохраняются как есть.
Контракт табличных запросов и структуры Doris
Выполняйте только для чтения запросы SQL к авторизованным таблицам, сохраняя семантику вывода, точные значения и полноту.
Чтение структуры
{"name":"dfc_table","arguments":{
"action":"detail","ontologyId":"<ONTOLOGY_ID>","id":"<TABLE_RESOURCE_ID>"
}}В detail используйте реальный ID табличного ресурса. Сверьте schemaComplete, tblDisplayName, colDisplayName в columns и авторитетный sqlDataType, а также возвращённый queryContract. dataType — это лишь карта совместимости; имя физического хранения — не имя таблицы для отправки SQL.
Выполнение запроса
{
"name": "dfc_table",
"arguments": {
"action": "query",
"ontologyId": "<ONTOLOGY_ID>",
"sql": "SELECT \"区域\", SUM(\"销售金额\") AS \"销售金额合计\" FROM \"电商销售数据\" WHERE \"订单状态\" = '已完成' GROUP BY \"区域\" ORDER BY \"销售金额合计\" DESC",
"maxRows": 100
}
}Ограничения SQL
- Используйте отображаемые имена таблиц и столбцов, заключая идентификаторы в двойные кавычки. Запрос представляет собой запрос Doris только для чтения в пределах онтологии.
- Явно перечисляйте выводимые столбцы; SELECT * и table.* запрещены: они не позволяют обойти зарегистрированные права доступа к столбцам через физические столбцы.
- Для соединений используйте явный JOIN ... ON; NATURAL JOIN и JOIN USING будут отклонены.
- Допустимы только для чтения выражения, такие как многомерные агрегации, CTE, оконные функции, CASE, COUNT(DISTINCT ...); отсутствие покрытия выражения семантической валидацией не означает общего запрета на выполнение.
- Сначала выполните агрегацию, сортировку и ранжирование в SQL, затем примените ограничение результатов. maxRows по умолчанию 100, максимум 200.
Даты и часовые пояса
| Тип или цель | Форма | Примечания |
|---|---|---|
| DATE | CAST('2026-09-01' AS DATE) и CURRENT_DATE | Нельзя напрямую предполагать тип даты из текстового литерала |
| DATETIME | CAST('2026-09-01 00:00:00' AS DATETIME) и CURRENT_TIMESTAMP | Сверьте часовой пояс источника и часовой пояс сессии |
| Относительное время | DATE_SUB(CURRENT_DATE, INTERVAL 1 YEAR) | Для дат и временных меток используйте соответствующие текущие функции |
| Группировка по времени | YEAR(column) или DATE_TRUNC(column, 'month') | Каждому выходному столбцу присваивайте уникальный псевдоним; ориентируйтесь на queryContract |
DATE('now', ...) в SQLite — это не контракт дат Doris для данного входа. Не переносите описанный в документации способ офлайн-проверки SQLite в рабочую SQL.
Чтение квитанции запроса v8
evidenceRows — единственный канал Agent для доступа к строковым данным; raw data для Agent недоступны. Числа в SQL кодируются как точные десятичные строки JSON; их числовое и бизнес-значение определяется по resultColumnContracts, и их не следует интерпретировать как VARCHAR только потому, что JSON является строкой. Читайте executionReceipt, информацию о полноте и усечении, сохраняя сведения об источнике, такие как evidenceRowsSha256.
Выходные данные запросов, для которых есть цитируемая квитанция выполнения, можно цитировать как есть; только семантика, проверенная на стороне сервера, может authorize последующие детерминированные вторичные вычисления. Нельзя по имени поля угадывать «накопленный остаток», «значение на конец периода», «币种» или самостоятельно добавлять единицы измерения. Результаты с нулём строк, сбои или усечение нельзя представлять как полную статистику.
Многомерный Top3 и обработка усечения
Отвечайте на вопросы о ранжировании с помощью серверных агрегаций и оконных функций, не выполняя вторичных вычислений на неполных результатах.
Используя пример таблицы из examples/top3.sql, сначала выполните агрегацию по区域, 类别 и 产品, затем выполните ROW_NUMBER внутри каждого区域 и 类别, используя имя产品 как стабильный порядок при равных суммах. Запрос с maxRows=100 достаточен для 36 строк примера; для других бизнес-данных объём нужно оценивать по фактическому числу групп.
- Получите фактическую структуру и текущую методику, уточните币种, период, 订单状态 и правила обработки равных значений.
- Отправьте серверную агрегацию и ранжирование SQL. Не запрашивайте сначала только сумму区域, а затем используйте её как ранжирование类别产品.
- Проверьте контракт выходных столбцов и фактический evidenceRows, убедившись, что возвращённые данные покрывают все нужные группы.
- При обнаружении усечения выполняйте ограниченные секционированные запросы в пределах поддерживаемых сервером границ, например получая полный Top3 по каждому区域; каждый раз сохраняйте одну и ту же бизнес-методику.
- Если исходный период изменился, выполните запрос заново и явно укажите новую версию; не смешивайте разные версии данных или устаревшие курсоры.
Восстановление после ошибок
TABLE_SCHEMA_INCOMPLETE должен быть исправлен или получена полная структура; сбои вроде ONTOLOGY_SQL_FAILURE_CONTRACT_INVALID обрабатываются по возвращённым errorCode, retryable и remediation. Не утверждайте, что «все многомерные GROUP BY или оконные функции запрещены», и не выдумывайте ранжирование, не имея результатов запроса.
Поиск в знаниях: полный исходный текст и квалификация доказательств
Разделяйте позиционирование, чтение и цитирование фактов, сохраняя источник и полноту.
Два распространённых пути
| Путь | Назначение | Ключевые моменты |
|---|---|---|
| dfc_ontology_query | Поиск в привязанных к онтологии знаниях с возможной маршрутизацией по графу | Проверка полного canonical answerContextItems и квалификации доказательств |
| dfc_knowledge_search → фрагмент dfc_knowledge_detail | Явный поиск для позиционирования, затем чтение выбранного фрагмента | Предпросмотр поиска не является фактом; читайте полный исходный текст по тому же позиционированию |
{"name":"dfc_knowledge_search","arguments":{
"ontologyId":"<ONTOLOGY_ID>","query":"销售金额是否排除退货", "topK":5
}}
{"name":"dfc_knowledge_detail","arguments":{
"action":"chunk","ontologyId":"<ONTOLOGY_ID>",
"evidenceId":"<EVIDENCE_ID_FROM_THE_SAME_SEARCH_RESULT>"
}}Условия пригодности для фактов
- Проверьте текущий ACL, полноту содержимого и серверные canonicalFactEligible, citationEligible или соответствующий контракт выполнения.
- Полное содержимое связано с contentSha256. Усечение, пропуск по бюджету или низкокачественное содержимое обрабатываются по фактическим полям.
- Метаданные документа, page_context, позиция в графе, поисковые сводки и предпросмотр не заменяют canonical-оригинал.
- В первую очередь копируйте evidenceId; когда требуются chunkId и documentId, они должны быть взяты из одного и того же результата позиционирования, без склейки или выдумывания.
Маршрутизация по графу
Результат search/neighbors — это информация о позиционировании. В query онтологии передавайте только объекты routeLocator, полностью возвращённые сервером, включая привязки, версии и поля подтверждения. Не оборачивайте assetId или knowledgeId в самостоятельно созданный серверный locator и не возвращайте заявленные моделью подтверждения источника.
Восстановление структурированных документов
structuredPlan для dfc_ontology_query — это ограниченное восстановление с детерминированной проверкой, предназначенное специально для нерегулярных табличных данных в документах. Используйте план, объявленный сервером, только после возврата текущего executionContractSha256, tableIndex, столбцов и полной таблицы. Обычные уже импортированные бизнес-таблицы должны обрабатываться через dfc_tableSQL; не используйте восстановление Markdown-таблиц как обходной канал авторизации табличных запросов.
Стратегия поиска
knowledgeIds обычно опускается, чтобы охватить текущие включённые привязки; при передаче используйте только реальные ID баз знаний knowledgeBindings. Не указывайте ID ресурса документа как ID базы знаний. Выполняйте новое ограниченное поиск-задание по нерешённому вопросу, избегая точных повторов поисков без новых доказательств.
Нативная модель Search и сеансы
Используйте протокол ключевых слов Rust Search через dfc_search и дождитесь конечного состояния исходного бизнес-фрейма.
Сначала прочитайте описание, затем обнаруживайте возможности
{"name":"dfc_manual","arguments":{
"action":"read","uri":"datafocus://manuals/search-keyword-queries/v1"
}}
{"name":"dfc_search","arguments":{"action":"capabilities"}}Для dfc_search требуется явный search:operate. Он оборачивает исходный WebSocket ключевых слов и не переписывает ключевые слова в запросы SQL или LLM. Сеанс привязан к текущему арендатору, пользователю, Grant, клиенту и модели; при операциях повторно проверяются права доступа к столбцам исходной таблицы.
Минимальная последовательность работы с сеансом
{"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 использует от 1 до 100 реальных ID таблиц с правами доступа, либо model_read читает ваш собственный sourceToken.
- open возвращает только initializationSent; сначала выполните poll, прочитайте исходный бизнес-ответ init и подтвердите успех.
- Прочитайте assist и предложения, затем отправьте поддерживаемое исходное message. В query datas параметр isNl фиксирован обёрткой как false.
- Непрерывно читайте frames, различая предложения, разбор, приём и итоговый бизнес-результат.
- По завершении выполните close; при необходимости отмены — cancel, и проверяйте фактическое состояние задачи на предмет прекращения.
| action | data | Значение |
|---|---|---|
| capabilities | Опускание или пустой объект | Чтение действия: команда TTL и инструкции по передаче |
| model_create | Массив tableIds | Создание модели, авторизованной для текущего пользователя |
| model_read | sourceToken | Чтение модели с фильтрацией столбцов без прав доступа и конфигураций чувствительных источников |
| open | sourceToken и необязательный language | Создание нативного сеанса и отправка init |
| request | sessionId и message | Отправка исходного сообщения протокола type/datas |
| poll | sessionId и waitMillis от 0 до 30000 | Извлечение текущих буферизованных фреймов с возможным ограниченным ожиданием |
| cancel close | sessionId | Закрытие этого нативного сеанса; нельзя утверждать конечное состояние BI |
Поддерживаемые исходные команды
search associateSearch guide assist exportContext reInit
putFormula modifyFormula deleteFormula fnamecheck
disambiguite reDisambiguite clearDisambiguiteРегистр команд и структура datas следуют текущим capabilities и протоколу исходного сеанса. Нельзя добавлять в request несуществующие действия; например, написание disambiguite должно сохраняться в точном соответствии с реальным протоколом. Максимальный размер сообщения — 256 Ки символов.
Сеансы и целостность
Срок действия сеанса TTL — 10 минут, хранение только в течение жизни текущего процесса; это не задача, пригодная для персистентного восстановления. Буфер вмещает не более 256 фреймов и ограничен лимитом памяти; при bufferOverflow=true уже извлечённые фреймы нельзя считать полным результатом. После ошибки передачи сначала выполните poll исходного сеанса, не вслепую повторно отправляя возможно уже выполненный запрос.
Текущая обёртка не предоставляет сохранение ответов или дашбордов, чтение/запись истории и восстановление произвольного контекста. Наличие exportContext не означает возможность самостоятельного восстановления произвольного контекста. Для сохранения результатов используйте фактически открытые исходные ресурсные возможности экземпляра; нельзя выдумывать action.
Соглашения по языку и регионам
Сохраняйте границы между UI locale, словарём запросов, языком возврата и именами исходных полей.
Приоритет: явно запрошенный язык, язык прикладной системы, locale фактического исполняющего узла. Значения по умолчанию, null, пустые строки и пробелы не приводят автоматически к откату на китайский. Значения регионов в languageRegistry должны оставаться точными; en-GB, fr-CA, pt-BR, es-US или ar-AE нельзя произвольно сворачивать в другой регион.
| Язык или регион | Locale запросов | Описание |
|---|---|---|
| Упрощённый китайский, традиционный китайский | zh-CN zh-Hant | Исходные китайские правила и традиционный каталог различаются |
| Английский (США, Великобритания, Австралия, Канада) | en-US en-GB en-AU en-CA | UI/пакеты ключевых слов могут использоваться совместно, региональные метаданные сохраняются |
| Немецкий, итальянский, русский | de-DE it-IT ru-RU | Используется согласно текущим предложениям сеанса |
| Испанский (Испания и Латинская Америка) | es-ES es-US | Региональный ID продукта равен es-US |
| Французский (Франция и Канада) | fr-FR fr-CA | Региональные ID не объединяются |
| Португальский (Португалия и Бразилия) | pt-PT pt-BR | Каталог и региональные соглашения сохраняются отдельно |
| Нидерланды, Дания, Норвегия, Финляндия, Швеция | nl-NL da-DK nb-NO fi-FI sv-SE | Норвежский — Bokmål |
| Японский, корейский | ja-JP ko-KR | Не разбивать на слова по правилам английских пробелов |
| Арабский (Саудовская Аравия и ОАЭ) | ar-SA ar-AE | Пояснения интерфейса поддерживают RTL; идентификаторы протокола не инвертируются |
Использование каталога ключевых слов
{"name":"dfc_manual","arguments":{
"action":"keywords","locale":"de-DE","names":["<ACTUAL_KEYWORD_ID>"]
}}Статический каталог ключевых слов dfc_manual содержит только явно перечисленные locale; при опущении используется английская справочная версия — это справочное значение по умолчанию, а не правило разбора языка запросов. Если для регионального варианта статический каталог не предоставлен, получайте фактические предложения через assist текущего сеанса, не выдумывая псевдонимы и результаты отката. Максимум 32 элементов в names за один вызов.
Что не переводится
- Таблицы, столбцы, значения перечислений, имена клиентов, имена формул и прочие фактические строки модели.
- Имена инструментов, action, scope, поля Schema, коды ошибок и значения состояний.
- ID ресурсов, хеши, opaque locator и ссылки, выданные сервером.
Например, вопрос на немецком языке может обращаться к столбцу с китайским отображаемым именем «销售金额». Замена его на немецкое имя столбца создала бы другой идентификатор, а не перевод интерфейса. После смены языка заново инициализируйте или обновите сеанс по исходному протоколу и заново получите предложения и кандидатов устранения неоднозначности.
Объединённый анализ и интерактивные результаты
В аналитических инструментах с открытыми условиями сохраняйте состояние авторизации, версии, ветвей и доказательств.
dfc_analysis_* управляется через datafocus.mcp.analysis.tools.enabled. Структурированная часть по-прежнему использует авторитетный запрос Search и текущую строковую стратегию; для части с документами заново получите полный оригинал под текущим ACL. Это не открытые SQL, точки внедрения произвольных инструкций или произвольных фильтров.
| Инструмент | Назначение | Необходимые координаты |
|---|---|---|
| dfc_analysis_ask | Задать аналитический вопрос на естественном языке | ontologyId question, необязательный language sessionId |
| dfc_analysis_result_get | Чтение ранее возвращённого результата | ontologyId sessionId resultId |
| dfc_analysis_refine | Продолжение или изменение на основе последнего полного результата | Исходный результат expectedRevision и стабильный идемпотентный ключ |
| dfc_analysis_page | Получение одной страницы серверной ветви | Исходная ветвь и версия результата pageNo pageSize |
| dfc_analysis_cancel | Отмена ещё выполняющегося результата | Исходный сеанс и результат |
| dfc_analysis_close | Освобождение сеанса в нерабочем состоянии | Исходный сеанс |
Запуск анализа
{"name":"dfc_analysis_ask","arguments":{
"ontologyId":"<ONTOLOGY_ID>",
"question":"按区域分析已完成订单销售金额,并引用退货统计口径",
"language":"zh-CN"
}}- Прочитайте возвращённые sessionId, resultId, статус и revision; при необходимости продолжайте чтение исходного результата.
- Проверяйте статус, полноту, строковую стратегию и источник каждой структурной ветви по отдельности; завершение одной ветви не означает полноту всего анализа.
- Проверьте документальные доказательства, реестр фактов, квалификацию цитирования и ограничения. Сгенерированный моделью текст не может самостоятельно повысить квалификацию доказательств.
- Для продолжения опирайтесь на последний полный результат и передавайте expectedRevision; при повторной попытке того же изменения повторно используйте тот же идемпотентный ключ.
- Перед закрытием убедитесь, что сеанс больше не работает; отмена и закрытие — разные действия.
Управляемая фильтрация и разбиение на страницы
filter_patch использует предоставленные сервером branchId, fieldRef, valueRef и допустимые операторы; текущий типизированный фильтр объявляет только EQ. Запрещается заменять непрозрачные ссылки исходными SQL, tableId, columnId или самодельным деревом фильтров на стороне клиента. Постраничный параметр pageNo начинается с 1, максимум 10000; pageSize — максимум 100.
Подсказки о возможностях и поведение
Аннотации инструментов (annotations) являются подсказками для клиента, а не безопасностной авторизацией. Некоторые универсальные шаблоны используют readOnlyHint, что не заменяет оценку фактического действия; отмена, закрытие и создание отчетов изменяют соответствующее рабочее состояние. Всегда выполняйте действия в соответствии с семантикой инструмента, целями пользователя и правами доступа на стороне сервера.
Стойкие визуальные отчеты и MCP Apps
Создавайте восстанавливаемые отчеты и читайте их результаты и интерактивный интерфейс согласно текущим правам доступа.
dfc_report_* управляется через datafocus.mcp.analysis.report-tools.enabled и требует metadata и область table query. Это отличается от внутрипроцессных сеансов Search: отчеты используют постоянный reportId; постоянство не означает, что проверка прав больше не выполняется.
{"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>"
}}Рабочий процесс
- При создании используйте стабильный idempotencyKey длиной от 8 до 128 поддерживаемых символов.
- Сохраните reportId, опрашивайте status и проверяйте фактические состояния: завершено, сбой, частично завершено или отменено.
- При чтении результатов проверяйте структурированные ветви, визуализации, источники фактов, ссылки на документы и полноту.
- Для отмены незавершенного отчета используйте исходный reportId; не создавайте другой отчет вместо отмены.
- После сетевого тайм-аута сначала прочитайте состояние исходного отчета; повторная отправка с исходным идемпотентным ключом должна сохранять то же бизнес-намерение.
MCP Apps
Клиенты с поддержкой UI-расширений считывают страницы отчетов через _meta инструмента и фактическое обнаружение ресурсов. Стойкая страница отчета для r56 — ui://datafocus/analysis-report/v16/index.html, интерактивный анализ использует соответствующие ссылки на серверные ресурсы; клиент не должен жестко кодировать значения взамен возвращаемых инструментом. Без UI-расширения структурированные результаты по-прежнему доступны для чтения.
Привязка источника
При чтении отчета повторно проверяются Grant, онтология, привязка Origin запроса и текущие права доступа к таблице. Межисточниковая интеграция в браузере должна использовать одобренные фактические источники; клиент не обходит привязку через подделку Origin. Старый reportId не является долгосрочной публичной ссылкой и не является учетными данными для доступа между пользователями.
Черновики артефактов, предпросмотр, планы и применение
Передавайте сгенерированное содержимое исходному серверу для нормализации, валидации и утверждения; не позволяйте модели напрямую изменять производственные ресурсы.
Инструменты артефактов требуют включенной функции authoring, фактического artifact type, соответствующей scope и прав на запись у исходного администратора. Типы по умолчанию настроены как CONTROL_PANEL_SPEC и VIEW_SPEC; другие формы, источники HTTP или скриптовые типы дополнительно контролируются отдельной конфигурацией. У Flash нет AutoML, поэтому связанные типы не перечисляются как доступные артефакты в этом выпуске.
- dfc_authoring_capabilities считывает контракты и действия, доступные текущему Grant.
- dfc_artifact_context получает ограниченный контекст, contractVersion, contextHash, baseArtifactHash и baseArtifactVersion.
- На стороне клиента генерируйте кандидатов на основе реальных контрактов, не выполняя содержащийся в них код.
- dfc_artifact_submit отправляет исходный контекст и кандидата, сохраняя instruction неизменным, и использует стабильный clientRequestId.
- Читайте proposalId, candidateHash, контрольные суммы и предпросмотр; при фактических ошибках исправляйте кандидата, не подделывая статус прохождения на стороне сервера.
- Когда требуется повторный предпросмотр, используйте dfc_artifact_preview и тот же хеш кандидата.
- dfc_artifact_plan создает неизменяемый план, используя реального кандидата, целевую версию и идемпотентный ключ.
- Обрабатывайте утверждение в соответствии с исходным интерактивным процессом или уже авторизованной политикой, затем dfc_artifact_apply; только квитанция APPLIED подтверждает фактическое применение.
Запрос минимального контекста
{"name":"dfc_artifact_context","arguments":{
"artifactType":"CONTROL_PANEL_SPEC",
"ontologyId":"<ONTOLOGY_ID>",
"instruction":"为当前授权销售指标建立区域比较面板"
}}VIEW_SPEC использует текущую авторизованную projectId; при редактировании существующего артефакта используйте фактический artifactId. Поля variables, previewInput, viewport и другие предоставляются в соответствии с возвращенным контрактом, не придумывайте внутреннюю структуру кандидата.
Параллелизм и повторные попытки
План привязан к целевой версии, хешу кандидата и идемпотентному ключу. После изменения цели старый план не может быть применен; перечитайте контекст и обработайте фактический конфликт. Тайм-аут транспорта не доказывает сбой: сначала с помощью dfc_artifact_status запросите исходный proposalId или planId. READY — это не APPLIED.
Утверждение и автоматическая политика
Универсальные планы артефактов требуют исходного ручного утверждения. Планы, соответствующие политике автоматической публикации онтологии, обрабатываются как approvalMode и не требуют от пользователя подписания придуманного агентом утверждения. approvalToken — это материал, выпущенный сервером, и не может быть заменен строкой, написанной агентом; фактический inputSchema и квитанция плана определяют обязательные поля.
Контракты создания кандидатов онтологии и публикации
Используйте декларации онтологии и конфигурацию публикации с независимыми версиями; не применяйте контракт обычных демонстрационных артефактов к публикации моделей.
Создание кандидата
Контейнер онтологии должен уже существовать и находиться внутри Grant. Используйте dfc_ontology_table_schema для проверки текущих полей структурированного источника и отпечатка v4 Binding; поля могут быть предоставлены только через sourceField автоматического обнаружения типа. Явная декларация DECIMAL требует текущей точности и количества десятичных знаков; другие типы не содержат этих двух полей.
{"name":"dfc_ontology_table_schema","arguments":{
"ontologyId":"<ONTOLOGY_ID>","sourceAssetRef":"table:<ACTUAL_TABLE_ID>",
"fields":[{"sourceField":"区域"},{"sourceField":"销售金额"}]
}}Кандидат и конфигурация публикации
| Контракт | Назначение | Ключевые границы |
|---|---|---|
| ontology-workspace-create-mcp-submit-v1 | Создание кандидата из локальной декларации | Фактический авторизованный источник. Компиляция на сервере, подтверждения завершения не принимаются |
| ontology-workspace-create-mcp-submit-v2 | Смешение локальных и точных опубликованных ссылок | Предоставление точного releaseSelections и транзитивных зависимостей замыкания |
| ontology-publication-mcp-submit-v1 до v3 | Привязка существующего кандидата к запросу плана публикации | Явные координаты; цель, источник, утверждение и валидация восстанавливаются сервером |
| ontology-publication-mcp-submit-v4 до v6 | Отдельно включенная связанная конфигурация автоматической публикации | Используется только при наличии capabilities и фактической декларации schema |
| ontology-initial-activation-retirement-submit-v1 | Контролируемые начальные операции активации и вывода из эксплуатации | Отдельный план, новое ручное утверждение и точная область действия |
Порядок публикации
- Получите текущего кандидата workspaceId, workspaceRevision, candidateHash и фактический источник.
- Выберите версию контракта согласно возможностям сервера; отправьте координаты, такие как releases и selection, без полей, заявляющих «утверждено» или «прошло проверку».
- Сохраните proposalId, возвращенный submit, и исходный idempotencyKey. submit и MODEL_PLAN — разные этапы одного запроса.
- Вызовите dfc_artifact_plan, используя исходного кандидата, целевую версию и тот же идемпотентный ключ.
- PLANNING_INCOMPLETE означает лишь, что действующий план еще не сформирован; VALIDATION_UNSATISFIED означает, что текущая валидация всё ещё имеет пробелы, обрабатывайте как nextAction.
- После успешного создания плана продолжайте согласно HUMAN_REQUIRED или POLICY_AUTO, используя исходное утверждение и возможности публикации.
- Подтвердите результат с помощью квитанции APPLIED и последующего фактического чтения опубликованной модели и авторизованных запросов.
Тайм-ауты и восстановление
После тайм-аута PLAN прочитайте исходный proposalId. MODEL_PLAN_SUBMITTED — это незавершенный запрос; MODEL_PLAN_COMPLETED означает, что следует восстановить исходную квитанцию по исходным координатам и исходному ключу, а не создавать новый запрос со стороны клиента. Пробелы финальной валидации нельзя превратить в успешную публикацию сменой ключа или повторной отправкой.
Права бизнес-подписи человека
instruction и декларации, предоставленные агентом, являются входными данными агента, а не подписанием политик человеком. MODEL_AUTHOR, MODEL_PUBLISH, делегирование автоматической публикации, бизнес-подтверждение, доверие к открытым ключам, бюджеты и источник ACL по-прежнему определяются исходными механизмами. Недопустимо заменять эти факты полями клиента.
Публикация моделей: запрос кандидатов и замыкание ссылок
Используйте опубликованные бизнес-знания по точным версиям и сохраняйте временный характер неопубликованных кандидатов.
published_model, published_query и candidate_query в dfc_ontology_graph — это условно открытые структурированные конфигурации, а не синонимы обычной search/neighbors. Они авторизуются по table query и необходимым правам на чтение моделирования; видимость графа не заменяет права доступа к таблице.
Чтение опубликованных моделей
- Когда перечисление action инструмента фактически содержит published_model, отправляйте реальный подтвержденный releaseId.
- v1 возвращает шаблоны авторизованных запросов; v2 добавляет точные ссылки PERSISTED и releaseSelections; v3 добавляет ссылки на зависимости, точные domainRef и компактные шаблоны привязки.
- Выбирайте объекты, атрибуты, Binding, scope и версии из фактических возвращаемых значений, не генерируйте RIDs и не используйте latest.
- Отправляйте фиксированные типизированные запросы published_query; результаты всё равно проходят проверку текущих прав на источник и поля.
Запрос кандидатов
candidate_query использует фактический workspaceId, revision, candidateHash и декларации кандидата. При смешении опубликованных ссылок используйте соответствующие типизированные координаты v2 LOCAL/PERSISTED и точный выбор. Результаты кандидата всегда неопубликованные и временные, не считайте их подтвержденными корпоративными знаниями.
Частичное сопровождение и замыкание
Выбирайте только транзитивные зависимости, необходимые корню кандидата, и гарантируйте точный releaseSelections для каждой опубликованной ссылки. Копирование текста публикации, отправка только набора идентификаторов или расширение на все исторические ресурсы не заменяют проверку текущих зависимостей и источников.
Запросы этих действий являются версионированными типизированными объектами и не принимают SQL, физические идентификаторы таблиц или имена исходных таблиц взамен своих бизнес-ссылок. Шаблоны метаданных и результаты графа сами по себе не имеют права на ссылку на факты.
Делегирование задач агенту онтологии
Возобновляйте работу с постоянными задачами и исходным Grant, не считая инструкции агента человеческим утверждением.
dfc_ontology_agent отображается только при фактической доступности Pi Runtime и соответствующих прав. QUERY использует возможности чтения; AUTHORING дополнительно требует роль моделирования и соответствующую scope authoring. Он не открывает другой неограниченный движок выполнения.
{"name":"dfc_ontology_agent","arguments":{
"contractVersion":"ontology-agent-task-v1","action":"start",
"ontologyId":"<ONTOLOGY_ID>","mode":"QUERY",
"instruction":"列出当前可查询的表,并说明各表用途",
"idempotencyKey":"retail-discovery-01"
}}
{"name":"dfc_ontology_agent","arguments":{
"contractVersion":"ontology-agent-task-v1","action":"status",
"ontologyId":"<ONTOLOGY_ID>","runId":"<RUN_ID>"
}}Строгий набор параметров
start использует contractVersion, action, ontologyId, mode, instruction, idempotencyKey; status/cancel использует contractVersion, action, ontologyId, runId. Сервер проверяет точный набор полей по action. instruction — максимум 16000 символов; ключ — от 1 до 128 поддерживаемых символов, первый символ — буква или цифра.
Восстановление и отмена
- Сохраняйте исходные runId, Grant, mode и идемпотентный ключ.
- Тот же ключ и та же instruction восстанавливают тот же run, не отправляйте другую задачу; тот же ключ с другой instruction отклоняется.
- status запрашивает состояние исходной задачи. После завершения всё равно проверяйте её запросы к таблицам, свидетельства или квитанции публикации.
- Для отмены используйте исходный runId; результат подтверждайте фактическим состоянием задачи.
Завершение run не является квитанцией публикации модели. Задача публикации по-прежнему подтверждается через состояние исходного артефакта и проверки источников; QUERY не дает подразумеваемых прав на запись или публикацию.
Рабочая область бизнес-систем MCP
Запрашивайте записи на основе опубликованных бизнес-контрактов и выполняйте команды через исходный ActionPlan.
/mcp/business использует отдельный protected resource и выбор бизнес-системы; нельзя повторно использовать Grant онтологии вместо бизнес-авторизации. Бизнес-система должна быть опубликована, доступна для вызова агентом, соответствовать исходной политике безопасности, а у текущего пользователя должны быть фактические роли и возможности среды выполнения.
| Scope | Инструмент | Границы |
|---|---|---|
| business-system:discover | dfb_systems dfb_system_describe | Обнаружение только авторизованных и в данный момент вызываемых систем |
| business-system:read | dfb_query dfb_record dfb_work_items dfb_action_status | Чтение записей текущим пользователем и его собственные планы |
| business-system:plan | dfb_action_plan | Только создание неизменяемого плана, без выполнения |
| business-system:execute | dfb_action_execute | Отдельная явная авторизация, выполнение с учетом рисков и утверждений |
- dfb_systems обнаруживает авторизованные системы.
- dfb_system_describe считывает текущие опубликованные контракты, releaseId и все хеши, запросы и команды.
- dfb_query использует опубликованный queryKey, при необходимости указывая objectKey, state, page и pageSize. Это не произвольный SQL.
- dfb_record и dfb_work_items считывают текущие разрешенные записи и задачи.
- Перед выполнением с помощью dfb_action_plan предоставьте фактические releaseId, releaseHash, canonicalIrHash, agentManifestHash, commandType, planIdempotencyKey и payload контракта.
- Проверяйте riskClass, requiresApproval и status; при затрагивании целевых записей сохраняйте expectedRecordVersion.
- dfb_action_execute выполняет только планы, принадлежащие текущему подключению и находящиеся в состоянии готовности; токены утверждений, требуемые вручную, выпускаются DataFocus.
- После сбоя или тайм-аута dfb_action_status восстанавливает исходный план; повторные попытки сохраняют исходную идемпотентную семантику.
Привязка подключений и версий
План привязан к стабильному изолированному идентификатору текущего Grant. После обновления Access Token планы того же подключения остаются обрабатываемыми, а другое подключение OAuth не может их перехватить. При выполнении повторно проверяются опубликованная версия, хеши IR/manifest, версия целевой записи, срок действия плана, идемпотентность и утверждение. Allowlist OAuth не обходит бизнес-управление.
Ввод бизнес-знаний и вопросы на подтверждение
Регистрируйте бизнес-ввод при открытии соответствующих производственных обработчиков, сохраняя границу человеческого подтверждения.
Следующие четыре инструмента добавляются общим контроллером MCP в зависимости от установленных обработчиков и текущей scope. Они не всегда присутствуют в базовом каталоге. Наличие декларации Schema не означает, что для экземпляра настроены обработчики, бюджеты или права; сначала проверьте tools/list.
| Инструмент | Назначение | Не создаваемые авторизации или эффекты |
|---|---|---|
| dfc_ontology_knowledge_input_propose | Регистрация исходного бизнес-ввода для существующего рабочего пространства | Не генерирует вопросы для подтверждения, не утверждает, не публикует |
| dfc_ontology_knowledge_input_preview | Временный предпросмотр черновиков вопросов из исходного ввода | Не сохраняет, не подтверждает, не формирует производственную квитанцию |
| dfc_ontology_knowledge_question_submit | Сохранение созданных автором и не подтвержденных вопросов | Не объединяет ответы автоматически, не получает права ответственности или публикации |
| dfc_ontology_business_scope_initialize | Явная инициализация области потребителя бизнес-системы | Не публиковать, не активировать, не предоставлять доступ к источнику |
Ввод и предпросмотр
- Получите workspaceId, workspaceRevision, localRef и preparationDigest из фактической подготовительной работы.
- propose регистрирует бизнес-ввод с исходным контрактом input и стабильным idempotencyKey; один и тот же ключ может соответствовать только одному и тому же вводу.
- preview использует идемпотентный ключ исходного ввода и ontologyId; при каждом вызове он возвращает серверную revision и 60-секундное окно, это не подтверждение идемпотентного завершения производства.
- Когда требуется сохранить вопрос, question_submit использует новый командный ключ, исходный originalInputKey, явные questionRevision, validFrom, validUntil и expectedRevision; при создании expectedRevision равно null.
Точка подтверждения человеком
knowledgeConfirmationPage, возвращаемый question_submit, — это лишь относительная позиция исходной страницы входа с предзаполненным вопросом. Он не содержит Bearer, не открывает страницу автоматически и не подтверждает знание. QUESTION_STORED_UNCONFIRMED явно указывает, что подтверждение ещё не выполнено; в ответе нельзя писать, что «знание опубликовано».
Инициализация области потребителей
business scope initialize требует одновременно права публикации онтологии и права создателя точной бизнес-системы либо права управления SourceManager. Он использует реальные координаты domainRid, domainRevisionId и businessSystemId; клиент не может подставить произвольные consumerScope или доказательство выполнения. Возвращаемые INITIALIZED и COMPLETED по-прежнему явно содержат published=false и activationAuthorized=false.
Эти запросы также проходят строгую проверку JSON, набора полей, байтов и глубины. Лимит входного запроса — 1 MiB; у отдельных конкретных операций лимиты меньше. Полные схемы ввода и вывода поставляются вместе со справочником инструментов; нельзя применять свободную логику параметров общего оборачивателя MCP к этим строгим контрактам.
Ответы, ошибки и безопасные повторные попытки
Поясняйте ошибки послойно, сохраняя координаты задач и идемпотентную семантику.
| Уровень | Что проверяется | Принцип обработки |
|---|---|---|
| Сеть и HTTP | Ошибки соединения TLS: 401, 403, 400, 404, 405 и т. д. | Не воспринимайте неудачный ответ как обычный результат запроса |
| JSON-RPC | error.code message data | Различайте проблемы протокола, метода, параметров и авторизации |
| Инструмент MCP | result.isError и structuredContent | Даже при HTTP 200 операция может завершиться неудачей |
| Бизнес-результат | Реальный статус, полнота, причина сбоя nextAction | Получение или готовность не равны завершению |
| Фактическая квалификация | executionReceipt citationEligible contentComplete | Содержимое без квалификации используется только для локализации или объяснения пробелов |
Типичные ситуации HTTP
- 401: отсутствует или недействителен Bearer — обновите или повторно авторизуйтесь согласно текущему процессу OAuth.
- 403: Grant, роль, выбранный ресурс, права на источник, Origin или конфигурация не удовлетворяют требованиям; не обходите это повторным воспроизведением.
- 400: некорректное сообщение или версионированный контракт, включая несоответствие современных заголовков и метаданных.
- 404: проверьте точный путь службы, метод протокола и возможности среды выполнения; не меняйте ID онтологии наугад.
- 405: методы GET и DELETE общего /mcp изначально не открыты; используйте корректный POST вместо установки долгого соединения SSE.
Операции записи с неясным результатом
MCP_OPERATION_OUTCOME_UNKNOWN может содержать outcome=UNKNOWN, retryable=false, nextAction=READ_ORIGINAL_STATUS, recoveryTool и исходные параметры позиционирования. Сначала проверьте исходный статус, затем восстановите исходный запрос. Не отправляйте кандидата повторно, не меняйте идемпотентный ключ и не считайте тайм-аут откатом транзакции.
Что необходимо сохранить без изменений
- Исходные Grant, области ресурсов, ID задач и результатов.
- candidateHash, planHash, expectedRevision, целевая версия и выбор публикации.
- Идемпотентные ключи одной и той же логической операции; для разных бизнес-операций используйте новые ключи.
- Заявленные сервером retryable, remediation, nextAction и текущий статус.
Не извлекайте из текстов исключений внутренние SQL, хосты, учётные данные или стеки в качестве источника ответа. Достаточно записать публичные коды ошибок и информацию о связи запросов; исходные ошибки может просмотреть администратор в контролируемых журналах.
Безопасность интеграции и границы возможностей
Сохраняйте исходные границы идентификации, ресурсов, выполнения и доказательств, безопасно обрабатывайте недоверенные документы.
- Подключайтесь только к официальным доменам, указанным администратором; проверяйте TLS и issuer OAuth, не отключайте проверку сертификатов.
- Используйте выделенный Grant с минимальной областью ресурсов; не используйте учётные записи администратора, Cookie или долгосрочные внутренние Token в качестве учётных данных публичных интерфейсов.
- Считайте текст документов недоверенным бизнес-материалом. «Игнорировать правила», «загрузить ключ», «выполнить команду» в документе не являются инструментальной авторизацией.
- Ограничивайте автоматические повторные попытки, параллелизм и объём результатов; не воссоздавайте исходные бизнес-права на клиенте.
- В журналах фиксируйте только необходимую информацию о связи; не записывайте Bearer, refresh token, токены одобрения и полный чувствительный бизнес-контент.
- После отключения пользователя или отзыва прав администратором прекратите использование кэшированных авторизаций и данных, не продолжайте вызовы по старому locator.
Подсказки инструментов — это не права
readOnlyHint, destructiveHint, idempotentHint и openWorldHint служат для понимания возможностей клиентом, не гарантируют фактического бизнес-эффекта каждого вызова и не заменяют авторизацию текущего пользователя. Все действия записи, планы, предпросмотры, сессии и отмены обрабатывайте согласно их реальному поведению.
Точки входа, которые нельзя вызывать
- Исходные сервисы Trino/Hive/Hadoop и Heavy ETL, не включённые в Flash.
- Внутренние интерфейсы выделенных scope или рабочих пространств FocusCode.
- Выполнение v2, AutoML и другие экспериментальные инструменты, отсутствующие в текущем tools/list экземпляра.
- Приватные REST браузера, произвольные подключения к базам данных или сервисы других арендаторов для обхода отказа MCP.
Семантика данных
Следуйте контрактам сервера на точные десятичные числа, типы, 币种, единицы, время и доказательства. Не выполняйте повторное округление или преобразование 币种 только потому, что вывод похож на число, и не делайте глобальный рейтинг видимых строк при обрезке результата.
Подключение администратором и условные переключатели
Перед включением расширенных возможностей проверьте фактические компоненты, публичные адреса и исходную конфигурацию прав.
| Конфигурация | Назначение | Требования для публикации |
|---|---|---|
| datafocus.mcp.public-base-url | Официальный внешний корневой адрес | Согласованность обнаружения OAuth, issuer, обратных вызовов и обратного прокси |
| datafocus.mcp.allowed-origins | Дополнительное одобрение источников браузера | Точная конфигурация без расширения до произвольных источников |
| datafocus.mcp.oauth.route-proof-secret | Выделенный секрет сервера для подтверждения маршрутизации графа | Хранится отдельно, не использовать Bearer в качестве ключа |
| datafocus.mcp.analysis.tools.enabled | Инструменты интерактивного анализа | Реальная доступность сопутствующих служб данных, знаний и прав |
| datafocus.mcp.analysis.report-tools.enabled | Инструменты персистентных отчётов | Доступность сопутствующего хранилища, worker и цепочки восстановления |
| datafocus.mcp.analysis.apps.enabled | Отображение MCP Apps | Заявленная поддержка клиентом и проверка возвращаемого _meta |
| datafocus.mcp.authoring.enabled | Контракты черновиков и моделирования | Сохранение исходных прав администратора и ресурсов |
| datafocus.mcp.authoring.apply-enabled | Возможность применения артефактов | Неизменяемый план, исходные одобрения и повторная проверка текущего статуса |
| datafocus.mcp.ontology-published-query-enabled | Опубликованные модели и запросы | Реально отправленная версия и авторизация источника |
| datafocus.mcp.ontology-candidate-query-enabled | Кандидаты структурированных запросов | Владение кандидатом, точная версия и право чтения |
| datafocus.mcp.authoring.ontology-auto-publication-enabled | Авторизации, связанные с автоматическим делегированием публикации | Действующая исходная политика, доверие к публичному ключу, бюджет и право публикации |
Эти названия происходят из конфигурации и реализации r56; возможность включения зависит от сопутствующих служб и исходных гейтов запуска. Изменение только логических значений не восполняет отсутствующие процессоры, базы данных, бюджет проверки или политики. Видимость расширения ввода знаний и задач Pi определяется фактически установленными компонентами.
Пограничный прокси
Сохраняйте Authorization, Content-Type, MCP-Protocol-Version, Mcp-Method, Mcp-Name и одобренный Origin. Настраивайте тело запроса, тайм-ауты и TLS согласно требованиям фактических служб; не перенаправляйте публичный /mcp на административный порт или другой 产品.
Чек-лист запуска
- Статусы анонимного обнаружения и защищённых вызовов соответствуют ожиданиям.
- Обычные пользователи обнаруживают только свою область авторизации; после отзыва прав последующие запросы отклоняются.
- Search нативные сессии, SQL, исходные тексты и необязательные отчёты имеют реальные результаты.
- Одобрения для записи и публикации, а также идемпотентное восстановление сохраняют исходное поведение.
- Журналы и публичная документация не содержат приватных ключей, Token, Cookie, паролей и внутренних данных клиентов.
Работающий клиент и примеры вызовов
Проверяйте сообщения с помощью сопутствующего минимального клиента, не обходя OAuth или текущую авторизацию.
examples/flash_mcp.py — это минимальный протокольный клиент, использующий только стандартную библиотеку Python. Он не выполняет вход, не одобряет за других, не вызывает невидимые инструменты автоматически, поддерживает современные и старые протоколы и завершает работу по уровням согласно HTTP, JSON-RPC и ошибкам инструментов. Token передаётся через переменные окружения процесса и не записывается в скрипты или файлы документации.
export FLASH_BASE_URL='https://flash.example.com'
read -r -s -p 'Access token: ' FLASH_ACCESS_TOKEN
export FLASH_ACCESS_TOKEN
python3 examples/flash_mcp.py discover
python3 examples/flash_mcp.py tools
python3 examples/flash_mcp.py call dfc_ontologies --arguments '{"page":1,"pageSize":20}'
unset FLASH_ACCESS_TOKENЧтение и запросы
python3 examples/flash_mcp.py call dfc_ontology_resources \
--arguments-file examples/requests/ontology-resources.json
python3 examples/flash_mcp.py call dfc_table \
--arguments-file examples/requests/table-detail.json
python3 examples/flash_mcp.py call dfc_table \
--arguments-file examples/requests/top3-query.jsonСначала замените заполнители ONTOLOGY_ID, TABLE_RESOURCE_ID и т. д. в файле запроса на реальные значения, возвращённые текущей авторизацией. При встрече с заполнителем клиент откажется выполнять. Пример SQL требует, чтобы сопутствующий CSV был импортирован с исходными именами столбцов; без соответствующей схемы отправлять напрямую нельзя.
Другие сценарии
- Бизнес-вход: используйте --endpoint business, чтобы заново получить Grant, ориентированный на /mcp/business.
- Старые клиенты: выберите --protocol 2025-11-25, сначала выполните initialize, затем вызывайте по тому же протоколу.
- Встроенная справка: используйте resources или read-resource для чтения фактического URI.
- Автономная самопроверка: --self-test проверяет построение современных заголовков и метаданных; Token не нужен, сервер продукта не запрашивается.
Границы примеров
Клиент — это отправная точка протокольного подключения, он не генерирует кандидатов моделирования, не сохраняет вопросы-ответы и не выполняет публикацию автоматически. Он выводит исходный JSON, чтобы агент верхнего уровня мог сверить бизнес-статус; не обещайте пользователю завершение запроса, отчёта или публикации только по коду выхода процесса.
Встраивание интерфейса диалога онтологии
Встройте страницу человеческого диалога в бизнес-фронтенд, сохраняя границы безопасности входа и браузера.
<iframe
title="OT Flash ontology agent"
src="https://flash.example.com/10001/#/embed/ontology-agent/1001"
style="width:100%;height:760px;border:0"
referrerpolicy="strict-origin-when-cross-origin">
</iframe>10001 — примерный ID арендатора, 1001 — примерный ID онтологии; при использовании замените на реальные авторизованные координаты. Одна онтология может быть указана через path или поддерживаемый query; режим all предоставляет @ для выбора онтологий, доступных текущему пользователю. skillId только прозрачно передаётся; на этом основании нельзя утверждать, что оркестрация навыков уже доступна для выполнения.
Аутентификация и домены
Встроенная страница зависит от реального состояния входа DataFocus и проверяет /uc/status. Кросс-сайтовые Cookie, SSO, CSP frame-ancestors и конфигурация шлюза влияют на встраивание. Она не принимает MCP Bearer, вставленный в URL, как канал без входа; нереализованные внешние ссылки outside нельзя собирать самостоятельно вопреки проектному замыслу.
Различие между MCP и iframe
| Способ | Пользователь | Идентификация и результат |
|---|---|---|
| Remote MCP | Внешняя интеграция агента или сервиса | OAuth Grant и структурированные подтверждения инструментов |
| iframe-диалог онтологии | Конечный пользователь (человек) | Исходное состояние входа и интерфейс диалога |
| MCP Apps | Расширяемый клиент MCP | Управляемые ресурсы и текущие результаты инструментов, а не публичная замена входа через iframe |
Чек-лист приёмочной проверки интеграции
Подтвердите полную бизнес-цепочку на реальном экземпляре, а не только то, что интерфейсы возвращают 200.
- Обнаружение: получите фактически поддерживаемые версии, текущий каталог инструментов и встроенные ресурсы.
- Авторизация: обычные пользователи видят только разрешённые онтологии и бизнес-системы; операции без scope отклоняются.
- Структура таблиц: фактические отображаемые имена, столбцы, типы и права доступа полностью.
- SQL: одномерные, многомерные, JOIN, даты, TopN и проверки усечения соответствуют фактическим бизнес-правилам.
- Знания: позиционирование, полный исходный текст и право на цитирование фактов согласованы; смешанные вопросы опираются одновременно на данные и документы.
- Search: модель, init, предложения, результаты, закрытие и проверки целостности буфера пройдены.
- Опциональные анализ и отчёты: реальное состояние нескольких ветвей, постраничный переход, изменение прав и сохранение исходного поведения при отмене.
- Опциональное моделирование: кандидат, план, исходное утверждение, фактическое применение и запрос версии проверяются поэтапно.
- Бизнес-действия: хеш публикации, целевая версия, утверждение, идемпотентность и изоляция между Grant проверены.
- Восстановление: после сетевого тайм-аута состояние восстанавливается, после обновления источника старое позиционирование перестаёт действовать и используется новый запрос.
Запись результатов
Записывайте версию экземпляра, роль пользователя, объём Grant, версию конфигурации, фактические операции и результаты. Отдельно помечайте офлайн-самопроверку клиента протокола, офлайн-ожидаемые значения примеров CSV, статическую проверку схемы JSON и настоящую онлайн-функциональную приёмку. Не экстраполируйте успешное прохождение одного этапа на успешное прохождение всего продукта.
Нормативные ресурсы и сопровождение
Используйте полные схемы инструментов из руководства и синхронизируйте их с фактически обнаруженными на экземпляре.
| Ресурсы | Содержание |
|---|---|
| reference/mcp-tool-catalog.json | 32 схемы декларируемых входных данных со стороны онтологии и 8 со стороны бизнеса; часть инструментов содержит исходные схемы выходных данных |
| reference/locales.json | 21 опциональный параметр и 24 совместимых локали с терминами UI |
| reference/search-keywords.json | 17 статических каталогов ключевых слов с явно указанными локалями |
| reference/analysis-contract-manifest.json | Ограничения версий, связанные с анализом, ветвями, фактами, квитанциями и отчётами |
| examples/ | Синтетические CSV, описание правил, Top3 SQL, ожидаемые результаты и минимальный клиент протокола |
Встроенные справочные ресурсы
datafocus://manuals/etl-formulas/v1
datafocus://manuals/search-keyword-queries/v1
datafocus://manuals/etl-functions/v1
datafocus://manuals/search-keywords/v1resources/list и resources/read требуют, чтобы текущий пользователь обладал хотя бы одним из соответствующих прав на чтение: metadata, operate для search или operate для ETL. Документация ETL является статическим межпродуктовым справочником; исполняемые возможности Flash по-прежнему ограничены только явно указанным в отчётах объёмом.
Справочник внешнего протокола
По протоколу MCP и вопросам авторизации обращайтесь к официальным спецификациям: https://modelcontextprotocol.io/specification/2026-07-28/basic и https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization. Конечные точки, инструменты и условное поведение данного продукта определяются реализацией r56 и фактически обнаруженными на экземпляре результатами; общую поддержку протокола нельзя приравнивать к наличию на сервере всех опциональных возможностей.
Обновление и сопровождение
При обновлении заново выполняйте обнаружение инструментов и версий, сравнивайте входные схемы, выходные контракты и конфигурацию; старые Grant автоматически не получают новых scope. Сохраняйте привязку ссылок, кэша и квитанций к версии источника; после подтверждения несовместимых изменений заново получайте контекст и не применяйте старое позиционирование к новому бизнес-состоянию.
Справочник параметров инструментов: базовые и нативные Search
Полные имена и поля ввода, сгруппированные по инструментам.
Приведённые ниже таблицы — справочник по полям ввода текущих инструментов r56. Полные вложенные типы, oneOf, условно обязательные поля, ограничения схемы и часть схем выходных данных см. в reference/mcp-tool-catalog.json; перед финальной отправкой всё равно считайте tools/list текущего Grant. Пометка «опционально» в таблице не отменяет внутренних требований валидации действия.
dfc_manual
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| names | array | Опционально или условно обязательно | Искомые явные имена, не более 32 за один вызов. maxItems: 32 |
| action | string | Опционально или условно обязательно | Имя операции. Используется в соответствии с текущим перечислением и параметрами соответствующего действия. enum: list, read, keywords, functions, etl_requests |
| locale | string | Опционально или условно обязательно | Явная статическая справочная локаль каталога, а не язык запросов по умолчанию. |
| uri | string | Опционально или условно обязательно | Встроенные ресурсы URI, перечисленные текущим инструментом. enum: datafocus://manuals/etl-formulas/v1, datafocus://manuals/search-keyword-queries/v1, datafocus://manuals/etl-functions/v1, datafocus://manuals/search-keywords/v1 |
dfc_search
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| data | object | Опционально или условно обязательно | Полезная нагрузка исходного действия; см. таблицу обнаружения возможностей и полей действий. |
| action | string | Обязательно | Имя операции. Используется в соответствии с текущим перечислением и параметрами соответствующего действия. enum: capabilities, model_create, model_read, open, request, poll, cancel, close |
dfc_etl
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| data | object | Опционально или условно обязательно | Полезная нагрузка исходного действия; см. таблицу обнаружения возможностей и полей действий. |
| action | string | Обязательно | Имя операции. Используется в соответствии с текущим перечислением и параметрами соответствующего действия. enum: capabilities |
dfc_ontologies
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| pageSize | integer | Опционально или условно обязательно | Количество записей на странице; согласно лимиту схемы. minimum: 1; maximum: 100 |
| page | integer | Опционально или условно обязательно | Номер страницы, начиная с 1. minimum: 1 |
dfc_ontology_resources
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| resourceTypes | array | Опционально или условно обязательно | Набор типов возвращаемых ресурсов. |
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| pageSize | integer | Опционально или условно обязательно | Количество записей на странице; согласно лимиту схемы. minimum: 1; maximum: 100 |
| page | integer | Опционально или условно обязательно | Номер страницы, начиная с 1. minimum: 1 |
Справочник параметров инструментов: таблицы, граф и знания
Полные имена и поля ввода, сгруппированные по инструментам.
Приведённые ниже таблицы — справочник по полям ввода текущих инструментов r56. Полные вложенные типы, oneOf, условно обязательные поля, ограничения схемы и часть схем выходных данных см. в reference/mcp-tool-catalog.json; перед финальной отправкой всё равно считайте tools/list текущего Grant. Пометка «опционально» в таблице не отменяет внутренних требований валидации действия.
dfc_ontology_graph
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| relationTypes | array | Опционально или условно обязательно | Фильтр по типу связи. |
| depth | integer | Опционально или условно обязательно | Глубина обхода соседей. minimum: 1; maximum: 3 |
| sourceTypes | array | Опционально или условно обязательно | Фильтр по типу источника. |
| query | object | Опционально или условно обязательно | Текст запроса или точный версионированный объект запроса, соответствующий action. |
| limit | integer | Опционально или условно обязательно | Верхний предел количества возвращаемых результатов. minimum: 1; maximum: 100 |
| action | string | Обязательно | Имя операции. Используется в соответствии с текущим перечислением и параметрами соответствующего действия. enum: search, neighbors, published_model, published_query, candidate_query |
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| nodeKey | string | Опционально или условно обязательно | Ключ узла, скопированный из фактических результатов графа. |
| keyword | string | Опционально или условно обязательно | Ключевые слова позиционирования графа, не синтаксис вопросов по ключевым словам. |
| nodeTypes | array | Опционально или условно обязательно | Фильтр по типу узла. |
dfc_ontology_query
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| routeLocators | array | Опционально или условно обязательно | Полная копия типизированного позиционирования маршрута, выданного сервером. maxItems: 20 |
| topK | integer | Опционально или условно обязательно | Верхний предел возвращаемых кандидатов; не гарантирует полноту покрытия. minimum: 1; maximum: 20 |
| queryMode | string | Опционально или условно обязательно | Режим поиска доказательств, выбираемый по перечислению инструмента. enum: vector, hybrid, graph |
| fanoutPlan | object | Опционально или условно обязательно | План ограниченного поиска по ветвям, согласно вложенной схеме. |
| structuredPlan | object | Опционально или условно обязательно | План, привязанный к серверному контракту полной таблицы документов, не SQL. |
| knowledgeIds | array | Опционально или условно обязательно | ID базы знаний из фактического knowledgeBindings. |
| query | string | Обязательно | Текст запроса или точный версионированный объект запроса, соответствующий action. |
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
dfc_knowledge_search
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| topK | integer | Опционально или условно обязательно | Верхний предел возвращаемых кандидатов; не гарантирует полноту покрытия. minimum: 1; maximum: 20 |
| minScore | number | Опционально или условно обязательно | Минимальный балл совпадения. minimum: 0; maximum: 1 |
| knowledgeIds | array | Опционально или условно обязательно | ID базы знаний из фактического knowledgeBindings. |
| query | string | Обязательно | Текст запроса или точный версионированный объект запроса, соответствующий action. |
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| assetIds | array | Опционально или условно обязательно | Разрешённые в данный момент ID документов-активов. |
| retrievalStrategy | string | Опционально или условно обязательно | Фактически поддерживаемая стратегия поиска. enum: auto, hybrid_stage2 |
dfc_knowledge_detail
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| qdrantId | string / integer | Опционально или условно обязательно | Идентификатор индекса, возвращённый при фактическом позиционировании. |
| pageNo | integer | Опционально или условно обязательно | Фактический номер страницы или страницы пагинации. |
| evidenceId | string | Опционально или условно обязательно | ID доказательства, возвращённый тем же позиционированием знаний. |
| action | string | Обязательно | Имя операции. Используется в соответствии с текущим перечислением и параметрами соответствующего действия. enum: chunk, document, page_context |
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| documentId | string / integer | Опционально или условно обязательно | ID документа того же позиционирования. |
| radius | integer | Опционально или условно обязательно | Диапазон соседних страниц. minimum: 0; maximum: 3 |
| chunkId | string | Опционально или условно обязательно | Фактический ID фрагмента того же позиционирования. |
dfc_table
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| maxRows | integer | Опционально или условно обязательно | Верхний предел числа возвращаемых строк; не диапазон ранжирования на клиенте. minimum: 1; maximum: 200 |
| action | string | Обязательно | Имя операции. Используется в соответствии с текущим перечислением и параметрами соответствующего действия. enum: detail, query |
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| id | string | Опционально или условно обязательно | Реальный ID ресурса таблицы, не физическое или отображаемое имя. |
| sql | string | Опционально или условно обязательно | Доступное только для чтение Doris SQL в рамках одной онтологии с явными выходными столбцами. |
Справочник параметров инструментов: анализ и отчёты
Полные имена и поля ввода, сгруппированные по инструментам.
Приведённые ниже таблицы — справочник по полям ввода текущих инструментов r56. Полные вложенные типы, oneOf, условно обязательные поля, ограничения схемы и часть схем выходных данных см. в reference/mcp-tool-catalog.json; перед финальной отправкой всё равно считайте tools/list текущего Grant. Пометка «опционально» в таблице не отменяет внутренних требований валидации действия.
dfc_analysis_ask
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| question | string | Обязательно | Вопрос на естественном языке или совместимый уточняющий вопрос. |
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| language | string | Опционально или условно обязательно | Явная локаль ответа или запроса; при отсутствии — согласно правилам соответствующего инструмента. |
| sessionId | string | Опционально или условно обязательно | Реальное позиционирование сессии в рамках того же Grant. |
dfc_analysis_refine
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| branchId | string | Опционально или условно обязательно | Структурированное позиционирование ветви, выданное сервером. |
| resultId | string | Обязательно | Позиционирование результатов анализа из исходного ответа. |
| question | string | Опционально или условно обязательно | Вопрос на естественном языке или совместимый уточняющий вопрос. |
| idempotencyKey | string | Обязательно | Стабильно используемый идемпотентный ключ той же логической операции. |
| change | object | Опционально или условно обязательно | Изменение на естественном языке или типизированный filter_patch. |
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| language | string | Опционально или условно обязательно | Явная локаль ответа или запроса; при отсутствии — согласно правилам соответствующего инструмента. |
| sessionId | string | Обязательно | Реальное позиционирование сессии в рамках того же Grant. |
| expectedRevision | integer | Обязательно | Предусловие исходного результата или версии бизнес-заголовка; при создании вопроса может быть null. minimum: 1 |
| visualId | string | Опционально или условно обязательно | Позиционирование визуализации, привязанное к ветви. |
dfc_analysis_page
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| branchId | string | Обязательно | Структурированное позиционирование ветви, выданное сервером. |
| resultId | string | Обязательно | Позиционирование результатов анализа из исходного ответа. |
| pageNo | integer | Обязательно | Фактический номер страницы или страницы пагинации. minimum: 1; maximum: 10000 |
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| pageSize | integer | Обязательно | Количество записей на странице; согласно лимиту схемы. minimum: 1; maximum: 100 |
| sessionId | string | Обязательно | Реальное позиционирование сессии в рамках того же Grant. |
| expectedRevision | integer | Обязательно | Предусловие исходного результата или версии бизнес-заголовка; при создании вопроса может быть null. minimum: 1 |
dfc_analysis_result_get
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| resultId | string | Обязательно | Позиционирование результатов анализа из исходного ответа. |
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| sessionId | string | Обязательно | Реальное позиционирование сессии в рамках того же Grant. |
dfc_analysis_cancel
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| resultId | string | Обязательно | Позиционирование результатов анализа из исходного ответа. |
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| sessionId | string | Обязательно | Реальное позиционирование сессии в рамках того же Grant. |
dfc_analysis_close
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| sessionId | string | Обязательно | Реальное позиционирование сессии в рамках того же Grant. |
dfc_report_create
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| goal | string | Обязательно | Цель анализа отчёта. |
| idempotencyKey | string | Обязательно | Стабильно используемый идемпотентный ключ той же логической операции. |
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| language | string | Опционально или условно обязательно | Явная локаль ответа или запроса; при отсутствии — согласно правилам соответствующего инструмента. |
| title | string | Опционально или условно обязательно | Опциональный заголовок отчёта. |
dfc_report_status
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| reportId | string | Обязательно | Позиционирование постоянного отчёта текущего Grant. |
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
dfc_report_cancel
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| reportId | string | Обязательно | Позиционирование постоянного отчёта текущего Grant. |
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
Справочник параметров инструментов: моделирование и исходные задачи
Полные имена и поля ввода, сгруппированные по инструментам.
Приведённые ниже таблицы — справочник по полям ввода текущих инструментов r56. Полные вложенные типы, oneOf, условно обязательные поля, ограничения схемы и часть схем выходных данных см. в reference/mcp-tool-catalog.json; перед финальной отправкой всё равно считайте tools/list текущего Grant. Пометка «опционально» в таблице не отменяет внутренних требований валидации действия.
dfc_ontology_agent
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| mode | string | Опционально или условно обязательно | QUERY или AUTHORING, возможности предоставляются по отдельности. enum: QUERY, AUTHORING |
| instruction | string | Опционально или условно обязательно | Текст требований пользователя; контекст должен совпадать с отправляемым. maxLength: 16000 |
| idempotencyKey | string | Опционально или условно обязательно | Стабильно используемый идемпотентный ключ той же логической операции. maxLength: 128 |
| action | string | Обязательно | Имя операции. Используется в соответствии с текущим перечислением и параметрами соответствующего действия. enum: start, status, cancel |
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| runId | string | Опционально или условно обязательно | ID исходной задачи той же онтологии и того же Grant. |
| contractVersion | string | Обязательно | Точная фактически поддерживаемая версия контракта. enum: ontology-agent-task-v1 |
dfc_authoring_capabilities
Корневой объект ввода этого инструмента не содержит полей; используйте пустой объект arguments.
dfc_artifact_context
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| artifactType | string | Обязательно | Фактически запущенный тип артефакта или публикации онтологии. enum: CONTROL_PANEL_SPEC, VIEW_SPEC |
| scopeType | string | Опционально или условно обязательно | Тип области ресурсов в контракте фактического артефакта. |
| ontologyId | string | Опционально или условно обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| projectId | string | Опционально или условно обязательно | ID текущего авторизованного проекта. |
| artifactId | string | Опционально или условно обязательно | Реальный ID редактируемого существующего артефакта. |
| instruction | string | Обязательно | Текст требований пользователя; контекст должен совпадать с отправляемым. |
| variables | object | Опционально или условно обязательно | Объект переменных, предоставляемый согласно возвращённому контракту. |
| previewInput | object | Опционально или условно обязательно | Ограниченный ввод предпросмотра, предоставляемый согласно контракту. |
| viewport | object | Опционально или условно обязательно | Требуемый исходным контрактом отображаемый viewport. |
dfc_ontology_table_schema
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| sourceAssetRef | string | Обязательно | Зарегистрированная ссылка на структурированный актив, например table:123. |
| fields | array | Обязательно | Поля текущего источника с опциональными явными объявлениями типов. minItems: 1; maxItems: 64 |
dfc_artifact_preview
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| proposalId | string | Обязательно | ID исходного кандидата, созданного в рамках текущего Grant. |
| candidateHash | string | Обязательно | Точный хеш исходного кандидата, выданного сервером. |
| previewInput | object | Обязательно | Ограниченный ввод предпросмотра, предоставляемый согласно контракту. |
dfc_artifact_status
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| proposalId | string | Опционально или условно обязательно | ID исходного кандидата, созданного в рамках текущего Grant. |
| planId | string | Опционально или условно обязательно | Неизменяемый ID плана применения. |
dfc_artifact_plan
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| proposalId | string | Обязательно | ID исходного кандидата, созданного в рамках текущего Grant. |
| candidateHash | string | Обязательно | Точный хеш исходного кандидата, выданного сервером. |
| expectedTargetVersion | integer | Обязательно | Текущее реальное предусловие целевой версии. minimum: 0 |
| idempotencyKey | string | Обязательно | Стабильно используемый идемпотентный ключ той же логической операции. |
dfc_artifact_apply
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| planId | string | Обязательно | Неизменяемый ID плана применения. |
| planHash | string | Обязательно | Хеш, возвращённый исходным планом. |
| approvalToken | string | Обязательно | Материалы на одобрение, отправленные исходным сервером; самостоятельная генерация запрещена. |
| idempotencyKey | string | Обязательно | Стабильно используемый идемпотентный ключ той же логической операции. |
dfc_artifact_submit
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| Конфигурация 1 / artifactType | string | Обязательно | Фактически запущенный тип артефакта или публикации онтологии. enum: CONTROL_PANEL_SPEC, VIEW_SPEC |
| Конфигурация 1 / scopeType | string | Опционально или условно обязательно | Тип области ресурсов в контракте фактического артефакта. |
| Конфигурация 1 / ontologyId | string | Опционально или условно обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| Конфигурация 1 / projectId | string | Опционально или условно обязательно | ID текущего авторизованного проекта. |
| Конфигурация 1 / artifactId | string | Опционально или условно обязательно | Реальный ID редактируемого существующего артефакта. |
| Конфигурация 1 / instruction | string | Обязательно | Текст требований пользователя; контекст должен совпадать с отправляемым. |
| Конфигурация 1 / variables | object | Опционально или условно обязательно | Объект переменных, предоставляемый согласно возвращённому контракту. |
| Конфигурация 1 / previewInput | object | Опционально или условно обязательно | Ограниченный ввод предпросмотра, предоставляемый согласно контракту. |
| Конфигурация 1 / viewport | object | Опционально или условно обязательно | Требуемый исходным контрактом отображаемый viewport. |
| Конфигурация 1 / contractVersion | string | Обязательно | Необходимо использовать точную версию контракта, фактически поддерживаемую. |
| Конфигурация 1 / contextHash | string | Обязательно | Полный хеш контекста, возвращённый context. |
| Конфигурация 1 / baseArtifactHash | string | Обязательно | Базовый хеш артефакта, возвращённый context. |
| Конфигурация 1 / baseArtifactVersion | integer | Обязательно | Базовая версия, возвращённая context. minimum: 0 |
| Конфигурация 1 / candidate | object | Обязательно | Кандидат, соответствующий текущему возвращённому контракту. |
| Конфигурация 1 / clientRequestId | string | Обязательно | Клиентский идемпотентный ключ, стабильно используемый для текущего запроса кандидата. |
| Конфигурация 2 / artifactType | string | Обязательно | Фактически включённый тип публикации артефакта или онтологии. enum: ONTOLOGY_RELEASE |
| Конфигурация 2 / contractVersion | string | Обязательно | Необходимо использовать точную версию контракта, фактически поддерживаемую. enum: ontology-publication-mcp-submit-v1, ontology-publication-mcp-submit-v2, ontology-publication-mcp-submit-v3, ontology-publication-mcp-submit-v4, ontology-publication-mcp-submit-v5, ontology-publication-mcp-submit-v6 |
| Конфигурация 2 / ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| Конфигурация 2 / candidateHash | string | Обязательно | Точный хеш исходного кандидата, выданного сервером. |
| Конфигурация 2 / workspaceId | string | Обязательно | Фактические координаты рабочего пространства кандидата. |
| Конфигурация 2 / workspaceRevision | string | Обязательно | Точная версия кандидата; latest не используется. |
| Конфигурация 2 / releases | object | Обязательно | Выбор точной версии согласно контракту публикации онтологии. |
| Конфигурация 2 / selection | object | Обязательно | Предоставляются только явные координаты бизнес-выбора; подтверждения прав или завершения не предоставляются. |
| Конфигурация 2 / idempotencyKey | string | Обязательно | Стабильно используемый идемпотентный ключ той же логической операции. |
| Конфигурация 3 / Конфигурация 1 / artifactType | string | Обязательно | Фактически включённый тип публикации артефакта или онтологии. enum: ONTOLOGY_RELEASE |
| Конфигурация 3 / Конфигурация 1 / contractVersion | string | Обязательно | Необходимо использовать точную версию контракта, фактически поддерживаемую. enum: ontology-workspace-create-mcp-submit-v1 |
| Конфигурация 3 / Конфигурация 1 / ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| Конфигурация 3 / Конфигурация 1 / workspaceId | string | Обязательно | Фактические координаты рабочего пространства кандидата. |
| Конфигурация 3 / Конфигурация 1 / resources | array | Обязательно | Объявление исходной модели, скомпилированное сервером. minItems: 1 |
| Конфигурация 3 / Конфигурация 1 / idempotencyKey | string | Обязательно | Стабильно используемый идемпотентный ключ той же логической операции. |
| Конфигурация 3 / Конфигурация 2 / artifactType | string | Обязательно | Фактически включённый тип публикации артефакта или онтологии. enum: ONTOLOGY_RELEASE |
| Конфигурация 3 / Конфигурация 2 / contractVersion | string | Обязательно | Необходимо использовать точную версию контракта, фактически поддерживаемую. enum: ontology-workspace-create-mcp-submit-v2 |
| Конфигурация 3 / Конфигурация 2 / ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| Конфигурация 3 / Конфигурация 2 / workspaceId | string | Обязательно | Фактические координаты рабочего пространства кандидата. |
| Конфигурация 3 / Конфигурация 2 / resources | array | Обязательно | Объявление исходной модели, скомпилированное сервером. minItems: 1 |
| Конфигурация 3 / Конфигурация 2 / idempotencyKey | string | Обязательно | Стабильно используемый идемпотентный ключ той же логической операции. |
| Конфигурация 3 / Конфигурация 2 / releaseSelections | object | Обязательно | Точная releaseId каждой опубликованной ссылки и замыкание зависимостей. |
| Конфигурация 4 / artifactType | string | Обязательно | Фактически включённый тип публикации артефакта или онтологии. enum: ONTOLOGY_RELEASE |
| Конфигурация 4 / contractVersion | string | Обязательно | Необходимо использовать точную версию контракта, фактически поддерживаемую. enum: ontology-initial-activation-retirement-submit-v1 |
| Конфигурация 4 / ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| Конфигурация 4 / domainRid | string | Обязательно | Реальная бизнес-домен RID. |
| Конфигурация 4 / consumerScopes | array | Обязательно | Точный диапазон потребителей, разрешённый сервером. minItems: 1; maxItems: 256 |
| Конфигурация 4 / idempotencyKey | string | Обязательно | Стабильно используемый идемпотентный ключ той же логической операции. |
Справочник параметров инструмента: Ввод и область знаний
Полные имена и поля ввода, сгруппированные по инструментам.
Приведённые ниже таблицы — справочник по полям ввода текущих инструментов r56. Полные вложенные типы, oneOf, условно обязательные поля, ограничения схемы и часть схем выходных данных см. в reference/mcp-tool-catalog.json; перед финальной отправкой всё равно считайте tools/list текущего Grant. Пометка «опционально» в таблице не отменяет внутренних требований валидации действия.
dfc_ontology_knowledge_input_propose
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| request | object | Обязательно | Исходный бизнес-запрос на ввод; согласно полной вложенной схеме. |
| idempotencyKey | string | Обязательно | Идемпотентный ключ, стабильно используемый повторно для одной и той же логической операции. minLength: 1; maxLength: 128 |
У этого инструмента есть собственный нативный outputSchema. Проверяйте полноту вывода, статус и поля авторизации, явно равные false; не интерпретируйте их самостоятельно как признак завершения.
dfc_ontology_knowledge_input_preview
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| idempotencyKey | string | Обязательно | Идемпотентный ключ, стабильно используемый повторно для одной и той же логической операции. minLength: 1; maxLength: 128 |
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
У этого инструмента есть собственный нативный outputSchema. Проверяйте полноту вывода, статус и поля авторизации, явно равные false; не интерпретируйте их самостоятельно как признак завершения.
dfc_ontology_knowledge_question_submit
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| questionRevision | $ref | Обязательно | Точная версия вопроса, требующего подтверждения в этот раз. |
| idempotencyKey | $ref | Обязательно | Стабильно используемый идемпотентный ключ той же логической операции. |
| originalInputKey | $ref | Обязательно | Идемпотентный ключ, соответствующий исходному вводу знаний. |
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. |
| validUntil | $ref | Обязательно | Конец действующего окна вопроса, время UTC. |
| expectedRevision | oneOf | Обязательно | Версия-предпосылка исходного результата или бизнес-заголовка; при создании вопроса может быть null. |
| validFrom | $ref | Обязательно | Начало действующего окна вопроса, время UTC. |
У этого инструмента есть собственный нативный outputSchema. Проверяйте полноту вывода, статус и поля авторизации, явно равные false; не интерпретируйте их самостоятельно как признак завершения.
dfc_ontology_business_scope_initialize
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| domainRevisionId | string | Обязательно | Точная версия бизнес-домена. minLength: 1; maxLength: 128 |
| idempotencyKey | string | Обязательно | Идемпотентный ключ, стабильно используемый повторно для одной и той же логической операции. minLength: 1; maxLength: 128 |
| businessSystemId | string | Обязательно | Реальный ID бизнес-системы. minLength: 1 |
| ontologyId | string | Обязательно | Реальный ID онтологии в рамках текущей авторизации, сохраняемый как строка. minLength: 1 |
| domainRid | string | Обязательно | Реальная бизнес-домен RID. minLength: 1; maxLength: 128 |
У этого инструмента есть собственный нативный outputSchema. Проверяйте полноту вывода, статус и поля авторизации, явно равные false; не интерпретируйте их самостоятельно как признак завершения.
Справочник параметров инструмента: Business Workspace
Полные имена и поля ввода, сгруппированные по инструментам.
Приведённые ниже таблицы — справочник по полям ввода текущих инструментов r56. Полные вложенные типы, oneOf, условно обязательные поля, ограничения схемы и часть схем выходных данных см. в reference/mcp-tool-catalog.json; перед финальной отправкой всё равно считайте tools/list текущего Grant. Пометка «опционально» в таблице не отменяет внутренних требований валидации действия.
dfb_systems
Корневой объект ввода этого инструмента не содержит полей; используйте пустой объект arguments.
dfb_system_describe
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| systemId | string / integer | Обязательно | ID систем, разрешённые текущим бизнес-грантом. |
dfb_query
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| systemId | string / integer | Обязательно | ID систем, разрешённые текущим бизнес-грантом. |
| queryKey | string | Обязательно | Опубликованный ключ запроса, возвращённый describe. |
| objectKey | string | Опционально или условно обязательно | Ключ опубликованного объекта. |
| pageSize | integer | Опционально или условно обязательно | Количество записей на странице; согласно лимиту схемы. minimum: 1; maximum: 100 |
| page | integer | Опционально или условно обязательно | Номер страницы, начиная с 1. minimum: 1 |
| state | string | Опционально или условно обязательно | Фильтр бизнес-статуса или статус на стороне сервера. |
dfb_record
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| recordId | string / integer | Обязательно | ID бизнес-записи, разрешённой к чтению в данный момент. |
| systemId | string / integer | Обязательно | ID систем, разрешённые текущим бизнес-грантом. |
dfb_work_items
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| systemId | string / integer | Обязательно | ID систем, разрешённые текущим бизнес-грантом. |
dfb_action_plan
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| expectedRecordVersion | integer | Опционально или условно обязательно | Текущая версия оптимистичной блокировки целевой записи. minimum: 1 |
| systemId | string / integer | Обязательно | ID систем, разрешённые текущим бизнес-грантом. |
| commandType | string | Обязательно | Тип команды из опубликованного контракта. |
| canonicalIrHash | string | Обязательно | Хеш канонического IR текущей публикации. |
| releaseId | string / integer | Обязательно | Фактический ID версии контракта публикации. |
| payload | object | Обязательно | Полезная нагрузка, соответствующая текущему контракту команды в describe. |
| releaseHash | string | Обязательно | Фактический хеш контракта публикации. |
| targetRecordId | string / integer | Опционально или условно обязательно | Реальная целевая запись, над которой требуется выполнить операцию. |
| agentManifestHash | string | Обязательно | Фактический хеш манифеста возможностей агента. |
| planIdempotencyKey | string | Обязательно | Стабильный идемпотентный ключ бизнес-плана. |
dfb_action_status
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| actionPlanId | string / integer | Обязательно | ID плана действий, принадлежащий текущему бизнес-гранту. |
dfb_action_execute
| Параметр | Тип | Требование | Значение и диапазон |
|---|---|---|---|
| approvalToken | string | Опционально или условно обязательно | Материалы на одобрение, отправленные исходным сервером; самостоятельная генерация запрещена. |
| actionPlanId | string / integer | Обязательно | ID плана действий, принадлежащий текущему бизнес-гранту. |