DATAFOCUS · OT FLASH · R56

OT Flash Agent 및 MCP 접속 매뉴얼

프로토콜, 인가, 도구 계약 및 전체 호출 흐름

OT Flash r56의 공개 Remote MCP를 사용하여 추적 가능한 데이터 및 지식 애플리케이션을 구축합니다. 본 매뉴얼은 OAuth, 프로토콜 메시지, 선언된 모든 도구의 파라미터 참조, 증거 규칙, 조건부 기능 및 복구 흐름을 제공하고, 실행 가능한 클라이언트 및 합성 데이터 예제를 함께 제공합니다.

Agent 개발자, 통합 엔지니어 및 관리자

동반 샘플은 중국어 표시 필드명을 유지합니다. 인터페이스 언어와 설명 본문의 번역은 실제 테이블명, 컬럼명, 열거값, 도구명 또는 프로토콜 필드를 변경하지 않습니다.

장 1

Agent 접속 범위와 완료 기준

인가된 진입점을 선택하고 서버 응답(receipt)을 기반으로 질의, 증거 수집 또는 제어된 쓰기를 수행합니다.

OT Flash r56은 Remote MCP를 통해 외부 Agent에 온톨로지 범위 내의 데이터 및 지식 기능을 제공하며 독립된 비즈니스 워크스페이스 진입점을 제공합니다. Agent는 실제 tools/list, inputSchema, OAuth scope 및 현재 리소스 권한을 기준으로 실행 가능한 작업을 결정해야 하며, 정적 매뉴얼만으로 특정 배포가 모든 선택적 기능을 활성화했다고 추단해서는 안 됩니다.

그림 A1 외부 Agent가 OAuth 및 MCP을 통해 원본 질의, 지식 및 비즈니스 기능을 사용하는 모습. 인터페이스 관계 개략도.
진입점용도경계
/mcp온톨로지, 데이터 테이블, 문서 지식, 네이티브 Search 및 조건부 개방된 분석 및 모델링현재 사용자 권한과 이번 인가 리소스의 교집합
/mcp/business비즈니스 시스템 탐색, 질의, 액션 플랜, 상태 및 실행독립 비즈니스 시스템 인가 및 게시 계약
온톨로지 에이전트 임베드 페이지사용자 인터페이스에서 온톨로지 대화 사용실제 로그인 상태에 의존하며 로그인 없는 MCP 토큰 교환 진입점이 아님

기능 분류

  • 기본 읽기: 온톨로지 및 리소스, 그래프 탐색, 지식 검색 및 완전한 원문, 인가된 테이블 상세 및 Doris SQL.
  • 독립 위임: dfc_search은 search:operate이 필요하며 계속 원본 사용자 및 모델 권한을 사용합니다.
  • 조건부 개방: 분석, 영구 보고서, 아티팩트 초안 및 애플리케이션, 온톨로지 모델 질의, 위임 Agent 작업.
  • 사용 불가 기능: Flash의 dfc_etl은 capabilities만 보고하며 Heavy ETL 실행은 제공하지 않습니다. AutoML 및 내부 FocusCode 워크스페이스 진입점은 본 매뉴얼의 공개 Flash API에 속하지 않습니다.

완료 기준

사실을 읽으려면 실제로 사용 가능한 질의 또는 완전한 원문 응답(receipt)을 확보해야 합니다. 후보 생성 시 아직 적용되지 않았음을 명시해야 합니다. 게시에는 실제 APPLIED 응답(receipt)이 필요합니다. 취소는 요청과 확인을 구분해야 합니다. 답변 텍스트, HTTP 200, 도구 수신 확인 또는 모델의 "已完成" 설명만으로는 업무 작업의 성공을 증명할 수 없습니다.

동봉된 reference/mcp-tool-catalog.json은 r56의 오프라인 선언 참조이며, 조건부 활성화 정의를 포함할 뿐 어떤 사용자의 실시간 tools/list도 아닙니다. 전체 카탈로그는 28개의 온톨로지 핵심 도구, 4개의 컨트롤러 조건부 확장 및 8개의 비즈니스 측 도구를 포함하며, 기본적으로 모두 개방되어 있음을 의미하지 않습니다.

장 2

빠른 연결 및 기능 탐색

인스턴스의 공식 도메인으로 시작하여 최소 권한으로 실제 사용 가능한 도구를 탐색합니다.

  1. 관리자에게 공식 HTTPS 루트 주소와 접근이 필요한 온톨로지 또는 비즈니스 시스템을 확인받습니다. 문서의 예제 도메인으로 실제 업무를 호출하지 마십시오.
  2. MCP 서버 주소를 https://flash.example.com/mcp로 구성하고, 비즈니스 워크스페이스는 동일 도메인의 /mcp/business를 사용합니다.
  3. 클라이언트가 지원하는 방식으로 OAuth 로그인 및 인가를 트리거하고 리소스와 scope를 확인합니다. 사용자 이름과 비밀번호를 MCP에 제출하지 마십시오.
  4. 해당 시대의 프로토콜 discovery 또는 initialization을 수행한 후 tools/list 및 리소스 설명을 읽습니다.
  5. 작은 범위의 읽기 전용 요청으로 구조화된 결과와 오류를 먼저 확인한 후 사용자 목표를 실행합니다.

클라이언트 구성 스니펫

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

이 스니펫은 서버 주소 구성 의도를 설명하며, 구체적인 구성 파일 구조와 OAuth 지원 여부는 클라이언트에 따라 다릅니다. 공개 파일에 실제 access_token, refresh_token, Cookie 또는 관리자 비밀번호를 기재하지 마십시오.

현대 프로토콜 discovery

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

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

접속 전 확인 사항

  • 리소스 루트 주소, OAuth issuer 및 역방향 프록시 외부 주소가 일치합니다.
  • 클라이언트가 해당 프로토콜 시대를 지원하며, 새 프로토콜 진입점에 고정적으로 initialize를 전송하지 않습니다.
  • 현재 인가가 필요한 온톨로지 또는 비즈니스 시스템에 바인딩되어 있습니다.
  • 토큰이 유효하며 새로운 선택적 scope에 대한 명시적 인가를 이미 획득했습니다.
장 3

OAuth discovery, 등록 및 인가

인가 코드와 PKCE를 사용하며, 제품 로그인 자격 증명을 Agent에 노출하지 않습니다.

그림 A2 OAuth 인가 코드 및 PKCE 흐름. 시퀀스 개략도.
엔드포인트메서드역할
/.well-known/oauth-protected-resourceGET온톨로지 MCP 리소스 discovery
/.well-known/oauth-protected-resource/mcpGET온톨로지 리소스 경로 호환 discovery
/.well-known/oauth-protected-resource/mcp/businessGET비즈니스 MCP 리소스 discovery
/.well-known/oauth-authorization-serverGET인가 서버 메타데이터
/oauth/registerPOST JSONpublic client 동적 등록
/oauth/authorizeGET 또는 POST form로그인, 리소스 선택 및 인가 확인
/oauth/tokenPOST form인가 코드 교환 및 갱신(refresh) 로테이션
/oauth/revokePOST form토큰 폐기(Revoke)
/oauth/grantsGET로그인한 사용자의 인가된 연결 조회
/oauth/grants/revokePOST form원본 페이지 흐름에 따라 연결 철회

인가 순서

  1. 보호된 리소스 메타데이터와 인가 서버 메타데이터를 읽습니다. 토큰 없는 요청에 대해 반환되는 401 및 WWW-Authenticate는 리소스 discovery 주소를 가리킵니다.
  2. 클라이언트 신원을 등록하거나 사용합니다. r56의 동적 등록 public client는 token_endpoint_auth_method=none을 사용하며, 클라이언트 시크릿으로 PKCE을 대체할 수 없습니다.
  3. 무작위 state와 code_verifier를 생성하고 S256 code_challenge를 계산합니다.
  4. 메타데이터가 가리키는 authorize 주소를 열고 response_type=code, client_id, 정확한 redirect_uri, scope, resource, state, code_challenge 및 code_challenge_method=S256을 전달합니다.
  5. 사용자가 DataFocus에 로그인하고 온톨로지 또는 비즈니스 시스템을 선택합니다. 클라이언트는 사용자가 접근 권한이 없는 리소스를 미리 선택해서는 안 됩니다.
  6. 콜백을 수신하고 state와 issuer를 검증합니다. 원본 code_verifier를 사용하여 인가 코드를 교환합니다.
  7. access_token은 MCP Bearer 인증에만 사용합니다. 갱신은 원본 OAuth 흐름을 사용하며, 로테이션된 refresh_token을 안전하게 저장합니다.

등록 예제

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

웹 클라이언트 콜백은 HTTPS을 사용하며, 네이티브 클라이언트는 지원되는 루프백 주소를 사용할 수 있습니다. 인가와 토큰 교환 모두 등록된 콜백과 정확히 일치해야 합니다. 하나의 Grant는 하나의 protected resource를 대상으로 하며, 온톨로지 scope와 비즈니스 워크스페이스 scope를 동일한 연결에 혼합하지 않습니다.

토큰 수명 주기

r56 서버의 기본값은 access token 3600초, refresh token 2592000초, 인가 코드 300초이며, 배포 시 이 값을 재정의할 수 있습니다. 클라이언트는 토큰 응답의 expires_in과 실제 오류를 근거로 판단해야 하며 기본값을 하드코딩해서는 안 됩니다. 갱신 후 토큰을 업데이트합니다. 역할, 리소스 권한 또는 Grant가 철회되면 이후 호출은 거부됩니다.

장 4

Scope, 리소스 경계 및 실시간 권한

인가 범위는 기존 권한을 위임할 뿐 역할 승격을 부여하지 않으며, Grant 간 업무 상태를 공유하지도 않습니다.

Scope대표 기능중요 제약
ontology.metadata:read온톨로지, 리소스, 테이블 구조온톨로지 및 테이블은 인가 및 현재 읽기 가능 범위 내에 있어야 함
ontology.graph:read그래프 검색 및 이웃탐색 정보를 반환할 뿐 사실 증거가 아님
ontology.knowledge:read지식 탐색 및 완전한 원문지식베이스 및 문서의 원래 권한 유지
ontology.table:query온톨로지 테이블 SQL 및 게시 모델 질의테이블 질의에는 metadata scope도 필요하며, 실제 출처와 열 권한은 계속 적용됨
search:operate네이티브 키워드 모델 및 세션독립적이고 명시적인 위임이 필요하며, 원본 모델 및 사용자 테이블 열 권한에 따라 실행됨
etl:operateFlash ETL capabilitiesHeavy ETL은 개방되지 않음
authoring.contract:read조건부 개방된 모델링 계약기능 스위치와 관련 리소스도 필요함
authoring.artifact:read후보 및 플랜 등 현재 인가된 읽기원본 주체 Grant 및 리소스에 바인딩됨
authoring.artifact:draft후보 제출, 미리보기 등실행 또는 게시를 인가하지 않음
authoring.artifact:apply제어된 플랜 및 적용여전히 원본 업무 역할, 정책 및 승인이 필요함
execution.script:draft특정 스크립트 초안실제 스크립트 실행을 인가하지 않음
datasource.http:read / draft / test / import조건부 개방된 HTTP 데이터 소스 아티팩트 기능각 항목별 독립 스위치와 원래 권한
그림 A3 사용자 권한, Grant, 선택된 리소스 및 기능 구성이 함께 사용 가능한 기능을 결정함. 개략도.

읽기 조합 요건

dfc_table detail은 ontology.metadata:read이 필요하며, query는 추가로 ontology.table:query가 필요합니다. dfc_ontology_query은 graph와 knowledge 두 읽기 scope가 필요합니다. dfc_knowledge_search/detail은 knowledge이 필요합니다. published_model/published_query는 table:query를 사용하며, candidate_query에는 추가로 authoring.artifact:read이 필요합니다. 분석 도구는 허용된 증거 scope도 확인하며, 영구 보고서에는 metadata와 table query가 필요합니다.

기본 인가를 하드코딩하지 마십시오

r56의 온톨로지 기본 scope 집합에는 table query가 포함되며, Search 및 ETL는 명시적 위임입니다. 최종 판단은 여전히 discovery 메타데이터, 인가 페이지, 실제 토큰 scope 및 tools/list를 기준으로 합니다. 이전 문서의 "온톨로지 기본값에는 반드시 SQL이 없다" 또는 "여섯 개의 도구만 있다"는 설명은 현재 구현의 근거로 삼을 수 없습니다.

상태 격리

세션, 보고서, 후보 및 액션 플랜은 각자 자신의 소유자와 범위를 가집니다. access token 갱신이 원본 Grant의 작업을 다른 Grant로 이전하지 않습니다. 다른 연결에서 반환된 sessionId, reportId, planId, 승인 토큰 또는 출처 토큰을 현재 연결에 병합하지 마십시오.

장 5

HTTP 및 현대 MCP 메시지

요청별 메타데이터와 일치하는 라우팅 헤더를 올바르게 전송하고, HTTP과 도구 결과를 각각 처리합니다.

프로젝트r56 동작
전송상태 없는 Stateable 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 진입점은 제공하지 않음
디렉터리 캐시현대적 discovery 및 list는 ttlMs=60000 및 cacheScope=private 반환
일반 결과현대적 결과는 resultType=complete 및 서버 신원 메타데이터 포함

일치해야 하는 내용

  • MCP-Protocol-Version과 params._meta의 io.modelcontextprotocol/protocolVersion이 일치해야 합니다.
  • Mcp-Method와 JSON-RPC method가 일치해야 합니다.
  • tools/call의 Mcp-Name은 params.name과 일치해야 하며, resources/read의 이름 헤더는 URI과 일치해야 합니다.
  • 각 현대적 요청은 io.modelcontextprotocol/clientCapabilities 객체를 포함하며, 동시에 클라이언트 식별을 위한 표준 clientInfo을 제공합니다.

호출 예시

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

대응하는 HTTP 헤더는 Mcp-Method: tools/call 및 Mcp-Name: dfc_ontologies입니다. 모든 예시에서 ACCESS_TOKEN는 플레이스홀더입니다. Bearer Token을 URL, JSON 파라미터 또는 캐시 키에 넣지 마십시오.

결과 읽기

먼저 HTTP 상태를 처리한 후 JSON-RPC error를 확인하고, result가 있으면 isError을 계속 확인하십시오. 성공한 도구 결과는 일반적으로 structuredContent를 제공하며, 동일한 비즈니스 JSON를 포함하는 text 콘텐츠도 함께 있습니다. 구조화된 채널을 우선적으로 읽고, text와 structuredContent을 두 개의 독립된 사실로 중복 집계하지 마십시오. HTTP 200은 도구 실패를 포함할 수 있습니다.

공개 리소스와 UI

내장 설명 리소스는 MCP Apps에 의존하지 않습니다. 비즈니스 워크스페이스 진입점은 이로 인해 온톨로지 설명 리소스를 얻지 못합니다. 시각화를 지원하는 클라이언트는 실제 기능과 도구 _meta를 통해 해당 UI를 발견해야 하며, 반환되지 않은 리소스 URI을 추측하지 마십시오.

장 6

구 프로토콜 클라이언트 호환성

여전히 초기화 핸드셰이크를 사용하는 클라이언트에서 일관된 프로토콜 시대를 유지합니다.

json
{
  "jsonrpc": "2.0", "id": 1, "method": "initialize",
  "params": {
    "protocolVersion": "2025-11-25",
    "capabilities": {},
    "clientInfo": {"name": "flash-legacy-client", "version": "1.0.0"}
  }
}
  1. initialize를 전송하고 서버가 협상한 프로토콜 버전과 capabilities를 읽습니다.
  2. 클라이언트 프로토콜에 따라 필요한 initialized 완료 알림을 전송합니다. 알림에는 일반적인 도구 결과가 없습니다.
  3. tools/list로 현재 승인된 도구를 읽은 후 tools/call을 전송합니다.
  4. 현재 요청 시대의 헤더와 메시지를 일관되게 유지하고, 2026-07-28 메시지에 구식 initialize 또는 ping 흐름을 보내지 마십시오.

구 프로토콜은 동일한 Bearer/OAuth, 권한 및 도구 계약을 사용합니다. 이는 서버가 반드시 구식 SSE 장기 연결 또는 Mcp-Session-Id를 제공함을 의미하지 않으며, r56의 공개 서비스는 상태 없음을 유지합니다.

프로토콜 오류

상황일반적인 결과처리
현대적 헤더와 메시지 불일치HTTP 400 JSON-RPC -32020헤더, 메타데이터 및 도구 이름 수정
지원되지 않는 버전-32022 및 지원 버전 목록 제공실제 지원되는 프로토콜 선택
알 수 없는 메서드JSON-RPC -32601, 현대적 요청은 HTTP 404 가능프로토콜 시대와 메서드 확인
파라미터 누락 또는 잘못된 파라미터JSON-RPC 파라미터 오류 또는 도구 isError실제 inputSchema에 따라 수정
장 7

올바른 도구와 증거 채널 선택

해결되지 않은 비즈니스 질문에 따라 라우팅하고, 고정된 호출 체인으로 증거를 반복 수집하지 마십시오.

그림 A4: 작업에 따라 테이블 SQL, 지식 증거, Search, 분석 또는 비즈니스 액션을 선택합니다. 라우팅 개략도입니다.
작업선호 도구완료에 필요한 증거
승인된 주제와 리소스 발견dfc_ontologies dfc_ontology_resources실제 리소스 ID 유형 및 현재 가시 범위
테이블 통계 및 TopNdfc_table query성공 실행 영수증 및 전체 evidenceRows
제도, 계약 또는 보고서 조회dfc_ontology_query 또는 knowledge search/detail사실로 사용 가능한 완전하고 승인된 원문
그래프 객체 위치 확인dfc_ontology_graph search/neighbors실제 출처를 먼저 찾은 후 해당 사실 획득
원래 키워드 상호작용dfc_manual 후 dfc_search원래 모델 및 비즈니스 프레임의 실제 결과
융합 분석 및 보고dfc_analysis_* 또는 dfc_report_*각 구조화 분기와 문서 증거의 실제 상태
표시 또는 온톨로지 모델 수정dfc_authoring_* 및 artifact 도구후보, 계획, 승인 및 실제 적용을 각각 확인
비즈니스 명령 실행/mcp/business의 dfb_*이미 게시된 계약 및 원래 ActionPlan 영수증

불필요한 호출 피하기

현재의 완전하고 승인된 테이블 구조가 이미 있는 경우, 매번 쿼리 시 detail을 다시 요구하지 마십시오. 신뢰할 수 있는 위치 정보와 증거가 이미 있는 경우, 동일한 검색을 반복하지 마십시오. 누락된 차원이 필요할 때는 범위가 제한된 보완 조회를 수행하십시오. 실패가 명확히 재시도 불가인 경우 먼저 결함을 해결하고, "다시 시도"로 판단을 대체하지 마십시오.

Flash의 제외 항목

dfc_etl capabilities는 available=false 및 ETL_NOT_INCLUDED_IN_OT_FLASH을 반환할 수 있습니다. 내장 ETL 함수의 정적 설명은 제품 간 참조용이며, Flash에 ETL이 설치되어 있음을 증명하지 않고, Agent가 자동으로 Heavy 또는 다른 테넌트로 전환하여 실행하는 것도 허용하지 않습니다.

장 8

온톨로지 리소스와 ID 유형

먼저 실제 리소스 좌표를 획득하여 저장소 이름, 문서 ID 및 지식베이스 ID를 혼동하지 않도록 하십시오.

  1. dfc_ontologies을 호출하고, page 및 pageSize에 따라 이번에 승인되었으며 현재 읽을 수 있는 온톨로지를 탐색합니다.
  2. 실제 ontologyId으로 dfc_ontology_resources을 호출하고, 필요에 따라 tables, answers, pinboards, documents 및 knowledgeBindings를 선택합니다.
  3. 각 리소스 유형별로 페이지네이션을 각각 처리합니다. pageSize은 최대 100이며, 첫 페이지로 전체 리소스 범위를 추론하지 마십시오.
  4. 리소스가 선언한 유형과 원래 ID를 저장하고, 이후 호출에서 그대로 사용합니다.
json
{"name":"dfc_ontology_resources","arguments":{
  "ontologyId":"<ONTOLOGY_ID>",
  "resourceTypes":["tables","documents","knowledgeBindings"],
  "page":1,"pageSize":100
}}
좌표소스대체할 수 없음
ontologyId승인된 온톨로지 목록 또는 현재 유효한 컨텍스트다른 온톨로지의 ID
테이블 리소스 idtables 목록 또는 신뢰할 수 있는 컨텍스트physicalName 또는 표시 테이블 이름
tblDisplayName colDisplayName현재 테이블 및 컬럼 메타데이터추측한 물리적 SQL 식별자
knowledgeIdknowledgeBindings 또는 실제 지식 검색 영수증문서 리소스 id
assetId documentId chunkId evidenceId동일한 실제 위치 확인 영수증서로 다른 위치 확인 결과에서 조합한 필드
rid revisionId releaseId게시된 모델 또는 서버 측 후보 컨텍스트자체 생성한 ID 또는 latest

정밀도 규약

모든 64비트 리소스 식별자는 십진수 문자열을 우선 사용하며, JavaScript에서 Number로 변환하지 않습니다. 일부 비즈니스 Schema는 string 또는 integer를 허용하지만, 이는 정수 정밀도를 버려도 된다는 의미가 아닙니다. opaque locator, UUID, 해시 및 일회용 토큰도 원본 그대로 저장합니다.

장 9

Doris 테이블 쿼리 및 구조 계약

승인된 테이블에서 읽기 전용 SQL을 실행하고, 출력 의미, 정확한 수치 및 완전성을 보존합니다.

구조 읽기

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

detail은 실제 테이블 리소스 ID를 사용합니다. schemaComplete, tblDisplayName, columns의 colDisplayName 및 권위 있는 sqlDataType, 그리고 반환된 queryContract을 확인하십시오. dataType은 호환성 매핑일 뿐이며, 물리적 저장소 이름은 SQL을 제출하는 테이블 이름이 아닙니다.

쿼리 실행

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

SQL 제약 조건

  • 표시 테이블 이름과 표시 컬럼 이름을 사용하고, 식별자는 큰따옴표로 감쌉니다. 요청은 온톨로지 범위 내의 읽기 전용 Doris 쿼리여야 합니다.
  • 출력을 명시적으로 나열하고, SELECT * 및 table.*는 금지됩니다. 이들은 물리적 컬럼을 통해 등록된 컬럼 권한을 우회할 수 없습니다.
  • 조인은 명시적인 JOIN ... ON을 사용하십시오. NATURAL JOIN 및 JOIN USING는 거부됩니다.
  • 합법적인 다차원 집계, CTE, 윈도우, CASE, COUNT(DISTINCT ...) 등 읽기 전용 표현식을 사용할 수 있습니다. 의미 검증이 특정 표현식을 커버하지 않는다고 해서 일괄 실행이 금지되는 것은 아닙니다.
  • 먼저 SQL에서 집계, 정렬 및 순위를 완료한 후 결과 상한을 적용합니다. maxRows 기본값은 100, 최대 200입니다.

날짜 및 시간대

유형 또는 대상형식주의
DATECAST('2026-09-01' AS DATE) 와 CURRENT_DATE텍스트 리터럴을 바로 날짜 유형으로 가정할 수 없음
DATETIMECAST('2026-09-01 00:00:00' AS DATETIME) 와 CURRENT_TIMESTAMP원본 시간대와 세션 시간대 확인
상대 시간DATE_SUB(CURRENT_DATE, INTERVAL 1 YEAR)날짜와 타임스탬프는 해당하는 현재 함수 사용
시간 그룹화YEAR(column) 또는 DATE_TRUNC(column, 'month')각 출력에는 고유한 별칭 사용; queryContract 기준

SQLite의 DATE('now', ...)는 이 진입점의 Doris 날짜 계약이 아닙니다. 문서 예제의 SQLite 오프라인 검증 방식을 온라인 SQL에 넣지 마십시오.

v8 쿼리 영수증 읽기

evidenceRows는 Agent가 행 데이터에 접근하는 유일한 채널이며, raw data는 Agent에 개방되지 않습니다. SQL 숫자는 정확한 10진수 JSON 문자열로 인코딩됩니다; resultColumnContracts을 통해 수치 유형과 비즈니스 유형을 판단하고, JSON가 문자열이라는 이유로 VARCHAR로 해석하지 마십시오. executionReceipt, 무결성 및 잘림 정보를 읽고, evidenceRowsSha256 등의 출처 정보를 보존하십시오.

인용 가능한 실행 영수증이 있는 쿼리 출력은 그대로 인용할 수 있습니다; 서버에서 검증된 의미만이 후속 결정론적 2차 계산을 승인받을 수 있습니다. 필드명만으로 “누적 잔액”, “기말 값”, “币种”을 추측하거나 단위를 임의로 보완해서는 안 됩니다. 0행 결과, 실패 또는 잘림은 완전한 통계로 서술해서는 안 됩니다.

장 10

다차원 Top3 및 잘림 처리

순위는 서버 측 집계와 윈도우 함수로 답변하고, 불완전한 결과 위에서 2차 계산하지 않습니다.

예제 테이블을 사용한 examples/top3.sql의 경우, 먼저 区域, 类别, 产品별로 집계한 후, 각 区域와 类别 내에서 ROW_NUMBER을 실행하고, 금액이 동률일 때 안정적인 순서를 위해 产品명을 사용합니다. maxRows=100을 요청하면 예제의 36행을 충분히 담을 수 있습니다; 다른 비즈니스 데이터는 실제 그룹 수에 따라 평가해야 합니다.

  1. 실제 구조와 현재 기준을 파악하고, 币种, 기간, 订单状态 및 동률 규칙을 명확히 합니다.
  2. 서버 측 집계 및 순위 SQL을 제출합니다. 먼저 区域 총액만 조회한 뒤 이를 类别产品 순위로 삼지 마십시오.
  3. 출력 열 계약과 실제 evidenceRows을 점검하여, 반환값이 필요한 모든 그룹을 포괄하는지 확인합니다.
  4. 잘림이 발견되면 서버가 지원하는 경계에 따라 유한 분할 쿼리를 수행합니다. 예를 들어 区域별로 완전한 Top3를 각각 가져옵니다; 매번 동일한 비즈니스 기준을 유지합니다.
  5. 원본 기간이 변경되면 다시 쿼리하고 새 버전을 명확히 하며, 서로 다른 데이터 버전이나 만료된 커서를 혼용하지 않습니다.
그림 A5 상세 필터, 그룹 집계, 그룹 내 순위와 최종 반환의 순서. 개념도.

오류 복구

TABLE_SCHEMA_INCOMPLETE은 수정하거나 완전한 구조를 확보해야 하며; ONTOLOGY_SQL_FAILURE_CONTRACT_INVALID 등의 실패는 반환된 errorCode, retryable, remediation에 따라 처리합니다. “모든 다차원 GROUP BY 또는 윈도우 함수가 금지된다”고 주장하지 말고, 쿼리 결과가 없을 때 순위를 지어내지도 마십시오.

장 11

지식 검색 완전한 원문과 증거 자격

위치 확인, 읽기, 사실 인용을 분리하고, 출처와 무결성을 보존합니다.

두 가지 일반적인 경로

경로용도핵심
dfc_ontology_query온톨로지 바인딩 지식 내에서 검색하며 그래프 라우팅과 결합 가능완전한 canonical answerContextItems과 증거 자격 점검
dfc_knowledge_search → dfc_knowledge_detail chunk명시적 검색으로 위치 확인 후 선택한 청크 읽기검색 미리보기는 사실이 아님; 동일한 위치의 완전한 원문 읽기
json
{"name":"dfc_knowledge_search","arguments":{
  "ontologyId":"<ONTOLOGY_ID>","query":"销售金额是否排除退货", "topK":5
}}

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

사실로 사용할 수 있는 조건

  • 현재 ACL, 내용 무결성 및 서버의 canonicalFactEligible, citationEligible 또는 해당 실행 계약을 점검합니다.
  • 완전한 내용과 contentSha256 바인딩. 잘림, 예산 생략 또는 저품질 콘텐츠는 실제 필드에 따라 처리합니다.
  • 문서 메타데이터, page_context, 그래프 위치, 검색 요약 및 미리보기는 canonical 원문을 대체할 수 없습니다.
  • evidenceId을 우선 복사하십시오; chunkId과 documentId가 필요한 경우 반드시 동일한 위치 확인 결과에서 가져와야 하며, 조합하거나 지어내지 마십시오.

그래프 라우팅

search/neighbors 결과는 위치 정보입니다. 바인딩, 버전, 증명 필드를 포함해 서버가 완전히 반환한 routeLocator 객체만 온톨로지 query에 전달하십시오. 하나의 assetId 또는 knowledgeId을 임의로 서버가 발급한 locator로 포장하지 말고, 모델이 주장한 출처 증명을 되돌려 보내지도 마십시오.

구조화 문서 복구

dfc_ontology_query의 structuredPlan은 불규칙 문서 테이블 전용의 제한된 복구 및 결정론적 검증입니다. 현재 executionContractSha256, tableIndex, 열 및 완전한 테이블이 반환된 후에만 서버가 선언한 계획을 사용하십시오. 일반적인 이미 가져온 비즈니스 테이블은 dfc_table SQL을 사용해야 합니다; Markdown 테이블 복구를 테이블 쿼리 승인을 우회하는 통로로 삼지 마십시오.

그림 A6 위치 확인 결과와 인용 가능한 원문의 증거 체인. 개념도.

검색 전략

knowledgeIds은 일반적으로 현재 활성화된 바인딩을 모두 포괄하도록 생략합니다; 전달할 때는 knowledgeBindings의 실제 지식베이스 ID만 사용하십시오. 문서 리소스 ID를 지식베이스 ID로 삼지 마십시오. 미해결 질문에 따라 새로운 유한 검색을 수행하고, 정확히 중복되며 새로운 증거가 없는 검색은 피하십시오.

장 13

언어 및 로캘 규약

UI locale, 쿼리 사전, 반환 언어 및 원 필드 이름 간의 경계를 유지합니다.

우선순위는 명시적 요청 언어, 애플리케이션 시스템 언어, 실제 실행 노드 locale 순입니다. 기본값, null, 빈 문자열 및 공백은 중국어로 고정 폴백되지 않습니다. languageRegistry의 로캘 값은 정확하게 유지해야 하며, en-GB, fr-CA, pt-BR, es-US 또는 ar-AE을 임의로 다른 지역으로 묶어서는 안 됩니다.

언어 또는 지역쿼리 locale설명
중국어 간체 중국어 번체zh-CN zh-Hant원 중국어 규칙과 번체 카탈로그는 다름
미국 영국 호주 캐나다 영어en-US en-GB en-AU en-CAUI/키워드 패키지 공용 가능, 지역 메타데이터 유지
독일어 이탈리아어 러시아어de-DE it-IT ru-RU현재 세션 제안에 따라 사용
스페인 및 라틴아메리카 스페인어es-ES es-US제품 지역 ID는 es-US
프랑스 및 캐나다 프랑스어fr-FR fr-CA지역 ID는 병합하지 않음
포루투갈 및 브라질 포르투갈어pt-PT pt-BR카탈로그와 지역 규약을 각각 유지
네덜란드 덴마크 노르웨이 핀란드 스웨덴어nl-NL da-DK nb-NO fi-FI sv-SE노르웨이어는 Bokmål
일본어 한국어ja-JP ko-KR영어 공백 규칙을 임의로 적용해 분절하지 않음
사우디 및 아랍에미리트 아랍어ar-SA ar-AE인터페이스 설명은 RTL 지원, 프로토콜 식별자는 반전하지 않음

키워드 카탈로그 사용

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

dfc_manual의 정적 키워드 카탈로그는 명시적으로 나열된 locale만 제공하며, 생략 시 영어 참조를 사용합니다; 이는 참조 기본값이며 쿼리 언어 파싱 규칙이 아닙니다. 지역 변형에 정적 카탈로그가 제공되지 않으면 현재 세션의 assist를 통해 실제 제안을 가져오고, 별칭이나 폴백 결과를 조작하지 마십시오. 단일 names는 최대 32개 항목입니다.

번역하지 않는 항목

  • 테이블, 열, 열거형 값, 고객명, 수식명 및 기타 실제 모델 문자열.
  • 도구명, action, scope, Schema 필드, 오류 코드 및 상태 값.
  • 리소스 ID, 해시, opaque locator 및 서버가 발급한 참조.

예를 들어 독일어 질문으로 중국어 표시 열 “销售金额”을 쿼리할 수 있습니다. 이를 독일어 열명으로 바꾸면 인터페이스 번역이 아니라 다른 식별자가 됩니다. 언어를 변경한 후 세션을 다시 초기화하거나 원 프로토콜에 따라 업데이트하고, 제안과 모호성 후보를 다시 가져오십시오.

장 14

융합 분석과 대화형 결과

조건이 개방된 분석 도구에서 승인, 버전, 브랜치 및 증거 상태를 유지합니다.

dfc_analysis_*은 datafocus.mcp.analysis.tools.enabled에 의해 제어됩니다. 구조화된 부분은 계속 Search 권위 쿼리와 현재 행 전략을 따르고; 문서 부분은 현재 ACL 하에서 완전한 원문을 다시 가져옵니다. 이들은 개방된 SQL, 임의의 명령 또는 임의의 필터 주입 진입점이 아닙니다.

도구용도필수 좌표
dfc_analysis_ask자연어 분석 질문 제출ontologyId question, 선택적 language sessionId
dfc_analysis_result_get반환된 결과 읽기ontologyId sessionId resultId
dfc_analysis_refine최신 완전한 결과를 기반으로 후속 질문 또는 변경원본 결과 expectedRevision 및 안정적 멱등 키
dfc_analysis_page서버 측 브랜치의 한 페이지 가져오기원본 브랜치 및 결과 버전 pageNo pageSize
dfc_analysis_cancel아직 작업 중인 결과 취소원본 세션 및 결과
dfc_analysis_close작업 중이 아닌 세션 해제원본 세션

분석 시작

json
{"name":"dfc_analysis_ask","arguments":{
  "ontologyId":"<ONTOLOGY_ID>",
  "question":"按区域分析已完成订单销售金额,并引用退货统计口径",
  "language":"zh-CN"
}}
  1. 반환된 sessionId, resultId, 상태 및 revision을 읽고, 필요한 경우 원본 결과를 계속 읽습니다.
  2. 각 구조화 브랜치의 상태, 완전성, 행 정책 및 출처를 하나씩 확인하며, 하나의 브랜치가 완료되었다고 전체 분석이 완료된 것으로 간주하지 않습니다.
  3. 문서 증거, 팩트 원장, 인용 자격 및 한계를 검토합니다. 모델이 생성한 서술만으로는 증거 자격이 승격되지 않습니다.
  4. 추가 질문이 필요한 경우 최신 완전한 결과를 기반으로 expectedRevision을 전달합니다. 동일한 변경에 대한 재시도는 동일한 멱등 키를 재사용합니다.
  5. 닫기 전에 세션이 더 이상 작업 중이 아닌지 확인합니다. 취소와 닫기는 서로 다른 작업입니다.

제어된 필터링 및 페이징

filter_patch는 서버가 제공한 branchId, fieldRef, valueRef 및 허용된 연산자를 사용합니다. 현재 타입화된 필터는 EQ만 선언합니다. opaque 참조를 원본 SQL, tableId, columnId 또는 클라이언트가 임의로 만든 필터 트리로 대체하는 것은 금지됩니다. 페이징 pageNo은 1부터 시작하며 최대 10000이고, pageSize은 최대 100입니다.

그림 A7: 브랜치, 버전 및 페이징의 바인딩. 출처나 버전이 변경된 후에는 새로운 위치 지정을 위해 다시 조회해야 합니다. 개념도.

기능 안내 및 동작

도구 annotations은 클라이언트 힌트이며 보안 승인이 아닙니다. 일부 일반 템플릿은 readOnlyHint을 사용하지만 실제 동작에 대한 판단을 대체할 수 없습니다. 취소, 닫기 및 보고서 생성은 해당 작업 상태를 변경합니다. 항상 도구 의미론, 사용자 목표 및 서버 측 권한에 따라 실행합니다.

장 15

지속적 시각화 보고서 및 MCP Apps

복구 가능한 보고서를 생성하고, 현재 권한에 따라 그 결과와 상호작용 인터페이스를 읽습니다.

dfc_report_*은 datafocus.mcp.analysis.report-tools.enabled이 제어하며 metadata 및 table query scope가 필요합니다. 프로세스 내 Search 세션과 달리 보고서는 지속적 reportId을 사용합니다. 지속적이라는 것은 권한 검사가 더 이상 이루어지지 않는다는 의미가 아닙니다.

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

워크플로

  1. 생성 시 길이 8~128자의 지원되는 문자로 구성된 안정적인 idempotencyKey을 사용합니다.
  2. reportId을 저장하고, status를 폴링하며, 완료, 실패, 부분 완료 또는 취소 등의 실제 상태를 확인합니다.
  3. 결과를 읽을 때 구조화 브랜치, 시각화, 팩트 출처, 문서 인용 및 완전성을 대조합니다.
  4. 완료되지 않은 보고서를 취소하려면 원본 reportId을 사용하며, 취소를 대신할 다른 보고서를 생성하지 않습니다.
  5. 네트워크 타임아웃 후에는 먼저 원본 보고서 상태를 읽습니다. 원본 멱등 키의 재전송은 동일한 비즈니스 의도를 유지해야 합니다.

MCP Apps

UI 확장을 지원하는 클라이언트는 도구 _meta와 실제 리소스 검색을 통해 보고서 페이지를 읽습니다. r56에 해당하는 지속적 보고서 페이지는 ui://datafocus/analysis-report/v16/index.html이며, 상호작용 분석에는 해당 서버 리소스 참조를 사용합니다. 클라이언트는 도구 반환 값을 하드코딩으로 대체해서는 안 됩니다. UI 확장이 없는 경우에도 구조화 결과를 읽을 수 있습니다.

출처 바인딩

보고서 읽기 시 Grant, 온톨로지, 요청 Origin 바인딩 및 현재 테이블 권한을 다시 확인합니다. 브라우저 교차 출처 통합에는 승인된 실제 출처를 사용해야 하며, 클라이언트가 위조된 Origin으로 바인딩을 우회해서는 안 됩니다. 이전 reportId은 장기 공개 링크도, 교차 사용자 접근 자격 증명도 아닙니다.

장 16

아티팩트 초안, 미리보기, 계획 및 적용

생성된 콘텐츠를 원본 서버의 정규화, 검증 및 승인에 맡기고, 모델이 프로덕션 리소스를 직접 수정하지 않도록 합니다.

아티팩트 도구에는 authoring 기능이 활성화되어 있고, 실제 artifact type, 관련 scope 및 원본 관리자 쓰기 권한이 필요합니다. 기본 유형 구성은 CONTROL_PANEL_SPEC과 VIEW_SPEC입니다. 다른 폼, HTTP 출처 또는 스크립트 유형은 별도의 구성 제어를 받습니다. Flash에는 AutoML가 없으므로 관련 유형을 이 버전에서 사용 가능한 아티팩트로 나열하지 않습니다.

그림 A8: 컨텍스트, 후보, 미리보기, 계획, 승인 및 적용의 제어된 순서. 개념도.
  1. dfc_authoring_capabilities은 현재 Grant에서 사용 가능한 계약과 동작을 읽습니다.
  2. dfc_artifact_context은 경계가 지정된 컨텍스트, contractVersion, contextHash, baseArtifactHash 및 baseArtifactVersion를 가져옵니다.
  3. 클라이언트에서 실제 계약에 따라 후보를 생성하되, 그 안의 코드는 실행하지 않습니다.
  4. dfc_artifact_submit은 원본 컨텍스트와 후보를 제출하고, instruction을 동일하게 유지하며, 안정적인 clientRequestId을 사용합니다.
  5. proposalId, candidateHash, 검증 및 미리보기를 읽습니다. 실제 오류가 있으면 후보를 수정하고, 서버 통과 상태를 위조하지 않습니다.
  6. 다시 미리보기가 필요한 경우 dfc_artifact_preview과 동일한 후보 해시를 사용합니다.
  7. dfc_artifact_plan은 실제 후보, 대상 버전 및 멱등 키를 사용하여 불변 계획을 생성합니다.
  8. 원본 상호작용으로 승인하거나 이미 부여된 정책에 따라 승인을 처리한 후 dfc_artifact_apply합니다. APPLIED 회신만이 실제 적용을 의미합니다.

최소 컨텍스트 요청

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

VIEW_SPEC은 현재 승인된 projectId을 사용하고, 기존 아티팩트를 편집할 때는 실제 artifactId를 사용합니다. variables, previewInput, viewport 등의 필드는 반환된 계약에 따라 제공하며, 후보 내부 구조를 임의로 추측하지 않습니다.

동시성 및 재시도

계획은 대상 버전, 후보 해시 및 멱등 키에 바인딩됩니다. 대상이 변경되면 이전 계획은 더 이상 적용할 수 없으며, 컨텍스트를 다시 읽고 실제 충돌에 따라 처리합니다. transport timeout은 실패를 증명하지 않으며, 먼저 dfc_artifact_status으로 원본 proposalId 또는 planId를 조회합니다. READY은 APPLIED가 아닙니다.

승인 및 자동 정책

일반 아티팩트 계획에는 원본 인적 승인이 필요합니다. 온톨로지 자동 게시 정책에 부합하는 계획은 approvalMode에 따라 처리되며, 사용자가 에이전트가 만들어낸 승인을 별도로 서명하도록 요구하지 않습니다. approvalToken은 서버가 발급한 자료이며, 에이전트가 문자열을 작성해 대체할 수 없습니다. 실제 inputSchema와 계획 회신이 필수 필드를 결정합니다.

장 17

온톨로지 후보 생성 및 게시 계약

독립 버전의 온톨로지 선언과 게시 구성을 사용하며, 일반 표시용 아티팩트 계약을 모델 게시에 적용하지 않습니다.

후보 생성

온톨로지 컨테이너는 이미 존재하고 Grant 내에 있어야 합니다. dfc_ontology_table_schema을 사용하여 현재 구조화 출처 필드와 v4 Binding 지문을 확인합니다. 필드는 sourceField만 제공하여 유형을 자동 발견할 수 있습니다. 명시적 DECIMAL 선언에는 현재 정밀도와 소수 자릿수가 필요하며, 다른 유형은 이 두 필드를 포함하지 않습니다.

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

후보 및 게시 구성

계약용도핵심 경계
ontology-workspace-create-mcp-submit-v1로컬 선언으로 후보 생성실제 승인된 출처, 서버 컴파일, 완료 증명 수용 안 함
ontology-workspace-create-mcp-submit-v2로컬과 정확한 게시된 참조 혼합정확한 releaseSelections 및 클로저 종속성 제공
ontology-publication-mcp-submit-v1에서 v3로기존 후보를 게시 계획 요청에 바인딩명시적 좌표, 대상, 출처, 승인 및 검증은 서버가 복원
ontology-publication-mcp-submit-v4에서 v6로별도로 활성화된 자동 게시 관련 구성capabilities와 실제 schema가 선언된 경우에만 사용
ontology-initial-activation-retirement-submit-v1제어된 초기 활성화 및 폐기 작업독립 계획, 새로운 인적 승인 및 정확한 범위

게시 순서

  1. 현재 후보 workspaceId, workspaceRevision, candidateHash 및 실제 출처를 가져옵니다.
  2. 서버 기능에 따라 계약 버전을 선택하고, releases 및 selection 등의 좌표를 제출하며, 스스로 "승인됨" 또는 "통과됨"이라 주장하는 필드를 첨부하지 않습니다.
  3. submit이 반환한 proposalId과 원본 idempotencyKey을 보존합니다. submit과 MODEL_PLAN는 동일한 요청의 서로 다른 단계입니다.
  4. 원본 후보, 대상 버전 및 동일한 멱등 키를 사용하여 dfc_artifact_plan을 호출합니다.
  5. PLANNING_INCOMPLETE은 유효한 계획이 아직 형성되지 않았음을 나타내고, VALIDATION_UNSATISFIED은 현재 검증에 아직 결함이 있음을 나타내며 nextAction에 따라 처리합니다.
  6. 계획이 성공하면 HUMAN_REQUIRED 또는 POLICY_AUTO에 따라 계속 진행하고, 원본 승인과 게시 기능을 사용합니다.
  7. APPLIED 회신과 이후 실제 게시된 모델 조회 및 승인 쿼리로 결과를 확인합니다.

타임아웃 및 복구

PLAN 타임아웃 후 원본 proposalId을 읽습니다. MODEL_PLAN_SUBMITTED는 완료되지 않은 요청이고, MODEL_PLAN_COMPLETED은 원본 좌표와 원본 키로 원본 회신을 복구해야 함을 나타내며, 클라이언트가 새 요청을 임의로 만드는 것이 아닙니다. 최종 상태의 검증 결함은 키를 바꾸거나 반복 제출로 게시 통과가 될 수 없습니다.

인적 비즈니스 권한

에이전트가 제공한 instruction과 선언은 에이전트 입력이며 인적 정책 서명이 아닙니다. MODEL_AUTHOR, MODEL_PUBLISH, 자동 게시 위임, 비즈니스 확인, 공개 키 신뢰, 예산 및 출처 ACL는 계속 원본 메커니즘이 결정합니다. 클라이언트 필드로 이러한 사실을 대체해서는 안 됩니다.

장 18

게시 모델, 후보 조회 및 참조 클로저

정확한 버전으로 게시된 비즈니스 지식을 사용하고, 미게시 후보의 잠정성을 유지합니다.

dfc_ontology_graph의 published_model, published_query 및 candidate_query는 조건부로 개방되는 구조화 구성이며, 일반 search/neighbors의 동의어가 아닙니다. 이들은 table query 및 필요한 모델링 읽기 권한으로 승인되며, 그래프 가시성으로 테이블 권한을 대체할 수 없습니다.

게시된 모델 읽기

  1. 도구 action 열거에 실제로 published_model이 포함된 경우, 실제 committed releaseId을 제출합니다.
  2. v1은 승인된 쿼리 템플릿을 반환하고, v2는 정확한 PERSISTED 참조와 releaseSelections을 추가하며, v3는 종속성 참조, 정확한 domainRef 및 컴팩트 바인딩 템플릿을 추가합니다.
  3. 실제 반환 값에서 객체, 속성, Binding, scope 및 버전을 선택하며, RIDs를 생성하거나 latest를 사용하지 않습니다.
  4. published_query의 고정 타입화 쿼리를 제출합니다. 결과는 여전히 현재 출처 및 필드 승인을 통과해야 합니다.

후보 조회

candidate_query는 실제 workspaceId, revision, candidateHash 및 후보 선언을 사용합니다. 게시된 참조를 혼합할 때는 해당 v2 타입화 LOCAL/PERSISTED 좌표와 정확한 선택을 사용합니다. 후보 결과는 항상 미게시이며 잠정적이고, 기업이 확인한 지식으로 간주되지 않습니다.

부분 유지보수 및 클로저

후보 루트에 필요한 전이 종속성만 선택하고, 각 게시된 참조가 정확한 releaseSelections을 갖도록 보장합니다. 게시 본문을 복사하거나, 한 세트의 ID만 제출하거나, 모든 과거 리소스로 확장하는 것은 현재 종속성 및 출처 검사를 대체할 수 없습니다.

그림 A9: 후보 루트, 정확한 게시된 종속성 및 출처 승인. 참조 클로저 개념도.

이러한 action의 query는 버전화된 타입 객체이며, SQL, 물리 테이블 ID 또는 출처 테이블 이름으로 비즈니스 참조를 대체하는 것을 받지 않습니다. 메타데이터 템플릿과 그래프 결과 자체는 팩트 참조 자격이 없습니다.

장 19

온톨로지 에이전트 작업 위임

지속적 작업과 원본 Grant로 작업을 복구하며, 에이전트 지시를 인적 승인으로 간주하지 않습니다.

dfc_ontology_agent은 실제 Pi Runtime 및 관련 권한이 사용 가능할 때만 표시됩니다. QUERY은 읽기 기능을 사용하며, AUTHORING는 모델링 역할과 해당 authoring scope를 추가로 요구합니다. 다른 제약 없는 실행 엔진을 개방하지 않습니다.

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

엄격한 매개변수 집합

start는 contractVersion, action, ontologyId, mode, instruction, idempotencyKey를 사용하고, status/cancel은 contractVersion, action, ontologyId, runId를 사용합니다. 서버는 action에 따라 정확한 필드 집합을 확인합니다. instruction은 최대 16000자이며, 키는 1~128자의 지원되는 문자로 첫 글자가 영문자 또는 숫자여야 합니다.

복구 및 취소

  1. 원본 runId, Grant, mode 및 멱등 키를 보존합니다.
  2. 동일한 키와 동일한 instruction으로 동일한 run을 복구하며, 다른 작업을 다시 제출하지 않습니다. 동일한 키로 instruction을 변경하면 거부됩니다.
  3. status는 원본 작업 상태를 조회합니다. 완료 후에도 테이블 쿼리, 증거 또는 게시 회신을 대조해야 합니다.
  4. 취소는 원본 runId을 사용하며, 실제 작업 상태로 결과를 확인합니다.

run 완료는 모델 게시 회신이 아닙니다. 게시 작업은 여전히 원본 artifact 상태 및 출처 검사로 확인되며, QUERY에는 암시적인 쓰기 또는 게시 권한이 없습니다.

장 20

비즈니스 워크스페이스 MCP

게시된 비즈니스 계약에 따라 레코드를 조회하고, 원본 ActionPlan으로 명령을 실행합니다.

/mcp/business은 독립적인 protected resource와 비즈니스 시스템 선택을 사용하며, 온톨로지 Grant를 재사용하여 비즈니스 승인을 대체할 수 없습니다. 비즈니스 시스템은 게시되어 있고, 에이전트 호출이 가능하며, 원본 보안 정책을 충족하고, 현재 사용자가 실제 런타임 역할과 기능을 보유해야 합니다.

Scope도구경계
business-system:discoverdfb_systems dfb_system_describe이번에 승인되었고 현재 호출 가능한 시스템만 검색
business-system:readdfb_query dfb_record dfb_work_items dfb_action_status현재 사용자가 읽을 수 있는 레코드와 본인의 계획
business-system:plandfb_action_plan불변 계획만 생성하고 실행하지 않음
business-system:executedfb_action_execute독립적 명시적 승인, 위험 및 승인에 따라 실행
  1. dfb_systems이 승인된 시스템을 검색합니다.
  2. dfb_system_describe은 현재 게시 계약, releaseId 및 모든 해시, 쿼리 및 명령을 읽습니다.
  3. dfb_query은 게시된 queryKey을 사용하며, 필요에 따라 objectKey, state, page 및 pageSize을 지정합니다. 임의의 SQL가 아닙니다.
  4. dfb_record과 dfb_work_items은 현재 허용된 레코드와 할 일을 읽습니다.
  5. 실행 전에 dfb_action_plan으로 실제 releaseId, releaseHash, canonicalIrHash, agentManifestHash, commandType, planIdempotencyKey 및 계약 payload를 제공합니다.
  6. riskClass, requiresApproval 및 status를 대조합니다. 대상 레코드가 관련되면 expectedRecordVersion를 보존합니다.
  7. dfb_action_execute은 현재 연결이 소유하고 준비된 계획만 실행하며, 인적으로 요구된 승인 토큰은 DataFocus가 발급합니다.
  8. 실패 또는 타임아웃 후 dfb_action_status으로 원본 계획을 복구합니다. 재시도는 원본 멱등 의미를 유지합니다.
그림 A10: 게시된 계약, 계획, 승인 및 액션 실행을 보여주는 개념도입니다.

연결 및 버전 바인딩

계획과 현재 Grant를 안정적인 격리 ID로 바인딩합니다. Access Token이 갱신된 후에도 동일한 연결의 계획을 계속 처리할 수 있으며, 다른 OAuth 연결이 이를 대신할 수 없습니다. 실행 시 게시 버전, IR/manifest 해시, 대상 레코드 버전, 계획 만료, 멱등성 및 승인을 다시 검사합니다. OAuth allowlist는 업무 거버넌스를 우회할 수 없습니다.

장 21

업무 지식 입력 및 확인 대기 질문

해당 프로덕션 프로세서가 개방되었을 때 업무 입력을 등록하고 사람 확인 경계를 유지합니다.

다음 네 가지 도구는 공용 MCP 컨트롤러가 설치된 프로세서와 현재 scope 조건에 따라 추가합니다. 기본 카탈로그에는 항상 표시되지 않습니다. Schema 선언이 존재한다는 것이 인스턴스에 프로세서, 예산 또는 권한이 갖추어졌음을 의미하지 않으므로 먼저 tools/list를 확인해야 합니다.

도구용도발생하지 않는 승인 또는 효과
dfc_ontology_knowledge_input_propose기존 워크스페이스에 원본 업무 입력 등록확인 질문을 생성하지 않음 · 승인하지 않음 · 게시하지 않음
dfc_ontology_knowledge_input_preview원본 입력에서 질문 초안 임시 미리보기저장하지 않음 · 확인하지 않음 · 프로덕션 영수증을 생성하지 않음
dfc_ontology_knowledge_question_submitauthored 상태이며 아직 확인되지 않은 질문 저장답변을 자동 병합하지 않음 · 책임 권한 또는 게시 권한을 취득하지 않음
dfc_ontology_business_scope_initialize업무 시스템 소비자 범위를 명시적으로 초기화게시하지 않음 · 활성화하지 않음 · 소스 접근 권한을 부여하지 않음

입력 및 미리보기

  1. 실제 준비 작업에서 workspaceId, workspaceRevision, localRef, preparationDigest을(를) 확보합니다.
  2. propose는 원본 input 계약과 안정적인 idempotencyKey으로 업무 입력을 등록합니다. 동일한 키는 동일한 입력에만 대응할 수 있습니다.
  3. preview는 원본 입력의 멱등 키와 ontologyId을 사용합니다. 매번 서버 측 revision과 60초 창을 반환하며, 이는 멱등적인 프로덕션 완료 영수증이 아닙니다.
  4. 질문을 저장해야 하는 경우 question_submit은 새 명령 키, 원본 originalInputKey, 명시적인 questionRevision, validFrom, validUntil 및 expectedRevision를 사용합니다. 생성 시 expectedRevision는 null입니다.

사람 확인 진입점

question_submit이 반환하는 knowledgeConfirmationPage은 원본 로그인 페이지의 상대 위치일 뿐이며, 특정 질문을 미리 채웁니다. Bearer를 포함하지 않고, 페이지를 자동으로 열지 않으며, 지식을 확인하지 않습니다. QUESTION_STORED_UNCONFIRMED은 아직 확인되지 않았음을 명확히 나타내며, 답변에 “지식이 게시되었습니다”라고 쓸 수 없습니다.

소비자 범위 초기화

business scope initialize는 온톨로지 게시 권한과 정확한 업무 시스템의 생성자 또는 SourceManager 관리 권한을 동시에 갖추어야 합니다. domainRid, domainRevisionId 및 businessSystemId의 실제 좌표를 사용하며, 클라이언트가 임의의 consumerScope 또는 완료 증명을 작성할 수 없습니다. 반환되는 INITIALIZED와 COMPLETED는 여전히 published=false, activationAuthorized=false임을 명확히 합니다.

이러한 요청은 엄격한 JSON, 필드 집합, 바이트 및 깊이 검증을 거칩니다. 입력 요청 상한은 1 MiB이며, 일부 구체적 작업은 더 작은 상한을 가집니다. 전체 입력 및 출력 Schema는 도구 참조와 함께 제공되며, 일반적인 MCP 래퍼의 느슨한 파라미터 논리를 이러한 엄격한 계약에 적용할 수 없습니다.

장 22

응답, 오류 및 안전한 재시도

계층적으로 오류를 해석하고 작업 좌표와 멱등 의미를 유지합니다.

계층검사 내용처리 원칙
네트워크 및 HTTP연결 TLS, 401, 403, 400, 404, 405 등실패 응답을 일반 조회 결과로 취급하지 않음
JSON-RPCerror.code, message, data프로토콜, 방법, 파라미터 및 권한 문제를 구분
MCP 도구result.isError 및 structuredContentHTTP 200이라도 실패할 수 있음
업무 결과실제 상태, 완전성, 실패 원인, nextAction수신 또는 준비 완료가 완료를 의미하지 않음
사실 자격executionReceipt, citationEligible, contentComplete자격이 없는 내용은 격차 파악 또는 설명에만 사용

일반적인 HTTP 상황

  • 401: Bearer가 없거나 만료된 경우, 현재 OAuth 절차에 따라 갱신 또는 재승인합니다.
  • 403: Grant, 역할, 선택한 리소스, 소스 권한, Origin 또는 구성이 요건을 충족하지 않는 경우입니다. 재전송으로 우회하지 않습니다.
  • 400: 메시지 또는 버전화된 계약이 불법입니다. 현대 헤더와 메타데이터의 불일치를 포함합니다.
  • 404: 정확한 서비스 경로, 프로토콜 방법 및 런타임 기능을 확인합니다. 온톨로지 ID를 무작위로 바꾸지 않습니다.
  • 405: 공용 /mcp의 GET, DELETE은 원래 개방되지 않습니다. 올바른 POST으로 전환하고 SSE 장기 연결을 설정하지 않습니다.

결과가 불명확한 쓰기 작업

MCP_OPERATION_OUTCOME_UNKNOWN에는 outcome=UNKNOWN, retryable=false, nextAction=READ_ORIGINAL_STATUS, recoveryTool 및 원본 위치 파라미터가 포함될 수 있습니다. 먼저 원본 상태를 확인한 후 원본 요청을 복구합니다. 후보를 다시 제출하거나, 멱등 키를 바꾸거나, 타임아웃을 트랜잭션 롤백으로 취급하지 않습니다.

그림 A11: 실패, 결과 불명확 및 재시도 가능 상황의 처리 순서를 보여주는 복구 개념도입니다.

원본 그대로 유지해야 하는 내용

  • 원본 Grant, 리소스 범위, 작업 및 결과 ID.
  • candidateHash, planHash, expectedRevision, 대상 버전 및 게시 선택.
  • 동일한 논리 작업의 멱등 키. 서로 다른 업무 작업에는 새 키를 사용해야 합니다.
  • 서버가 선언한 retryable, remediation, nextAction 및 현재 상태.

예외 텍스트에서 내부 SQL, 호스트, 자격 증명 또는 스택을 추출하여 답변 소스로 사용하지 않습니다. 공개 가능한 오류 코드와 요청 연관 정보만 기록하면 됩니다. 원본 오류는 관리자가 통제된 로그에서 확인해야 할 수 있습니다.

장 23

통합 보안 및 기능 경계

신원, 리소스, 실행 및 증거의 원래 경계를 유지하고 신뢰할 수 없는 문서를 안전하게 처리합니다.

  1. 관리자가 제공한 공식 도메인에만 연결합니다. TLS 및 OAuth issuer를 검증하며 인증서 검증을 끄지 않습니다.
  2. 전용이며 최소 리소스 범위의 Grant를 사용합니다. 관리자 계정, Cookie 또는 장기 내부 Token을 공용 인터페이스 자격 증명으로 사용하지 않습니다.
  3. 문서 본문을 신뢰할 수 없는 업무 자료로 취급합니다. 문서 내의 “규칙 무시”, “키 업로드”, “명령 실행”은 도구 승인이 아닙니다.
  4. 자동 재시도, 동시성 및 결과 범위를 제한합니다. 클라이언트에서 원본 업무 권한을 재구성하지 않습니다.
  5. 로그에는 필요한 연관 정보만 기록하며, Bearer, refresh token, 승인 토큰 및 전체 민감 업무 내용을 기록하지 않습니다.
  6. 사용자가 연결을 끊거나 관리자가 권한을 철회한 후에는 캐시된 승인 및 데이터 사용을 중단하며, 이전 locator로 계속 호출하지 않습니다.

도구 안내는 권한이 아님

readOnlyHint, destructiveHint, idempotentHint 및 openWorldHint은 클라이언트가 기능을 이해하도록 돕는 것이며, 매번 호출의 실제 업무 효과를 보장하지 않고 현재 사용자 승인을 대체하지도 않습니다. 모든 쓰기, 계획, 미리보기, 세션 및 취소 동작은 실제 행동에 따라 처리합니다.

호출하면 안 되는 진입점

  • 원본 Trino/Hive/Hadoop 서비스 및 Flash에 포함되지 않은 Heavy, ETL.
  • 내부 FocusCode 전용 scope 또는 워크스페이스 인터페이스.
  • 현재 인스턴스의 tools/list에 나타나지 않는 execution v2, AutoML 또는 기타 실험 도구.
  • 브라우저 비공개 REST, 임의 데이터베이스 연결 또는 다른 테넌트의 서비스를 사용해 MCP 거부를 우회하지 않습니다.

데이터 의미론

서버 측의 정확한 십진수, 타입, 币种, 단위, 시간 및 증거 계약을 따릅니다. 출력 텍스트가 숫자처럼 보인다고 币种을 다시 반올림하거나 변환하지 않으며, 결과가 잘렸을 때 보이는 행에 대해 전역 순위를 매기지 않습니다.

장 24

관리자 배선 및 조건 스위치

확장 기능을 활성화하기 전에 실제 구성 요소, 공개 주소 및 원본 권한 구성을 확인합니다.

구성용도게시 요건
datafocus.mcp.public-base-url공식 외부 루트 주소OAuth discovery issuer 콜백 및 리버스 프록시 일치
datafocus.mcp.allowed-origins추가 승인된 브라우저 출처정확하게 구성하며 임의 출처로 확대하지 않음
datafocus.mcp.oauth.route-proof-secret그래프 라우팅 증명 전용 서버 비밀별도 저장하며 Bearer를 키로 사용하지 않음
datafocus.mcp.analysis.tools.enabled대화형 분석 도구함께 제공되는 데이터, 지식 및 권한 서비스가 실제로 사용 가능
datafocus.mcp.analysis.report-tools.enabled영구 보고서 도구함께 제공되는 스토리지, worker 및 복구 체인이 사용 가능
datafocus.mcp.analysis.apps.enabledMCP Apps 표시클라이언트가 지원을 선언하고 반환된 _meta를 검사
datafocus.mcp.authoring.enabled초안 및 모델링 계약원본 관리자 및 리소스 권한 유지
datafocus.mcp.authoring.apply-enabled아티팩트 적용 기능불변 계획, 원본 승인 및 현재 상태 재검증
datafocus.mcp.ontology-published-query-enabled게시된 모델 및 조회실제 제출된 버전 및 소스 승인
datafocus.mcp.ontology-candidate-query-enabled후보 구조화 조회후보 소유권, 정확한 버전 및 읽기 권한
datafocus.mcp.authoring.ontology-auto-publication-enabled자동 게시 위임 관련 승인유효한 원본 정책, 공개 키 신뢰, 예산 및 게시 권한

이러한 이름은 r56 구성과 구현에서 비롯되며, 활성화 가능 여부는 함께 제공되는 서비스와 원본 출시 게이트에 따라 달라집니다. 불리언 값만 바꾼다고 누락된 프로세서, 데이터베이스, 검증 예산 또는 정책이 갖추어지지 않습니다. 지식 입력 확장 및 Pi 작업의 가시성은 실제 설치된 구성 요소에 따라 결정됩니다.

엣지 프록시

Authorization, Content-Type, MCP-Protocol-Version, Mcp-Method, Mcp-Name 및 승인된 Origin을 유지합니다. 실제 서비스 요구 사항에 따라 요청 본문, 타임아웃 및 TLS을 설정합니다. 공용 /mcp를 관리 포트 또는 다른 产品으로 전달하지 않습니다.

출시 점검

  • 익명 discovery와 보호된 호출의 상태가 기대에 부합합니다.
  • 일반 사용자는 자신의 승인 범위만 discovery할 수 있으며, 권한 철회 후 후속 요청은 거부됩니다.
  • Search 네이티브 세션, SQL, 원문 및 선택적 보고서가 각각 실제 결과를 갖습니다.
  • 쓰기 및 게시의 승인과 멱등 복구가 원래 동작을 유지합니다.
  • 로그와 공개 문서에 개인 키, Token, Cookie, 비밀번호 및 내부 고객 자료가 포함되지 않습니다.
장 25

실행 가능한 클라이언트 및 호출 샘플

함께 제공되는 최소 클라이언트로 메시지를 검증하며 OAuth 또는 현재 승인을 우회하지 않습니다.

examples/flash_mcp.py은 Python 표준 라이브러리에만 의존하는 최소 프로토콜 클라이언트입니다. 로그인하지 않고, 승인을 대행하지 않으며, 보이지 않는 도구를 자동 호출하지 않습니다. 현대 및 구형 프로토콜을 지원하고 HTTP, JSON-RPC, 도구 오류에 따라 계층적으로 종료합니다. Token은 프로세스 환경을 통해 입력되며 스크립트나 설명 파일에 기록되지 않습니다.

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

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

unset FLASH_ACCESS_TOKEN

읽기 및 조회

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

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

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

먼저 요청 파일의 ONTOLOGY_ID, TABLE_RESOURCE_ID 등 자리 표시자를 현재 승인이 반환한 실제 값으로 교체합니다. 클라이언트는 자리 표시자를 만나면 실행을 거부합니다. SQL 예제는 함께 제공되는 CSV가 원본 열 이름으로 가져오기를 완료했어야 합니다. 해당 schema가 없으면 직접 제출할 수 없습니다.

기타 시나리오

  • 업무 진입점: --endpoint business를 사용하여 /mcp/business용 Grant를 다시 취득합니다.
  • 구형 클라이언트: --protocol 2025-11-25을 선택하고 먼저 initialize한 후 동일한 프로토콜로 호출합니다.
  • 내장 설명: resources 또는 read-resource로 실제 URI을 읽습니다.
  • 오프라인 자가 점검: --self-test는 최신 헤더와 메타데이터 구성을 검증하며, 토큰이 필요 없고 제품 서버에 요청하지 않습니다.

샘플의 경계

클라이언트는 프로토콜 접속의 시작점이며, 모델링 후보 생성, 질의응답 저장 또는 게시 실행을 자동으로 수행하지 않습니다. 상위 Agent가 비즈니스 상태를 검증할 수 있도록 원본 JSON을 출력합니다. 프로세스 종료 코드만으로 사용자에게 조회, 보고서 또는 게시 완료를 약속하지 마십시오.

장 26

온톨로지 대화 화면 임베드

사람용 대화 페이지를 비즈니스 프런트엔드에 임베드하고, 로그인 및 브라우저 보안 경계를 유지합니다.

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

10001은 예시 테넌트 ID, 1001은 예시 온톨로지 ID이며, 사용 시 실제 권한이 있는 좌표로 교체하십시오. 단일 온톨로지는 path 또는 지원되는 query로 지정할 수 있으며, all 모드에서는 @ 선택으로 현재 사용자가 접근 가능한 온톨로지를 제공합니다. skillId은 투명 전달만 하며, 이를 근거로 스킬 오케스트레이션이 실행 가능하다고 주장하지 마십시오.

인증과 도메인

현재 임베드 페이지는 실제 DataFocus 로그인 상태에 의존하며 /uc/status를 확인합니다. 교차 사이트 Cookie, SSO, CSP frame-ancestors 및 게이트웨이 구성이 임베드에 영향을 줍니다. MCP Bearer를 URL에 넣어 로그인 없이 접속하는 통로로 사용하는 것은 허용되지 않으며, 구현되지 않은 outside 외부 링크를 설계 권장대로 임의로 조합할 수 없습니다.

MCP과 iframe의 차이

방식사용자신원과 결과
Remote MCP외부 Agent 또는 서비스 통합OAuth Grant와 구조화된 도구 응답
온톨로지 대화 iframe인간 최종 사용자기존 로그인 상태와 대화 화면
MCP Apps확장을 지원하는 MCP 클라이언트통제된 리소스와 현재 도구 결과이며, 공개 iframe 로그인 대체가 아님
장 27

통합 인수 체크리스트

실제 인스턴스에서 전체 비즈니스 체인을 입증하고, 인터페이스가 200을 반환하는지만 확인하지 마십시오.

  1. 발견: 실제 지원 버전, 현재 도구 디렉터리 및 내장 리소스를 획득합니다.
  2. 권한 부여: 일반 사용자는 승인된 온톨로지와 비즈니스 시스템만 볼 수 있으며, scope가 없는 작업은 거부됩니다.
  3. 테이블 구조: 실제 표시 이름, 열, 유형 및 권한이 완전합니다.
  4. SQL: 단일 차원, 다차원, JOIN, 날짜, TopN 및 잘림 검사가 실제 비즈니스 기준에 부합합니다.
  5. 지식: 위치, 완전한 원문 및 팩트 인용 자격이 일치하며, 복합 질문은 데이터와 문서 근거를 모두 갖춥니다.
  6. Search: model, init, 제안, 결과, close 및 버퍼 무결성 검사를 통과합니다.
  7. 선택적 분석 및 보고서: 다중 분기 실제 상태, 페이지 이동, 권한 변경 및 취소가 원래 동작을 유지합니다.
  8. 선택적 모델링: 후보, 계획, 원본 승인, 실제 적용 및 버전 조회를 단계별로 검증합니다.
  9. 비즈니스 작업: 게시 해시, 대상 버전, 승인, 멱등성 및 교차 Grant 격리를 검증합니다.
  10. 복구: 네트워크 타임아웃 후 원래 상태로 복구되며, 소스가 갱신되면 이전 위치는 무효가 되고 새 쿼리를 사용합니다.

결과 기록

인스턴스 버전, 사용자 역할, Grant 범위, 구성 버전, 실제 작업과 결과를 기록합니다. 프로토콜 클라이언트의 오프라인 자가 점검, 샘플 CSV의 오프라인 기대값, 정적 JSON Schema 검증 및 실제 온라인 기능 인수는 각각 구분하여 표기합니다. 한 단계의 통과를 전체 제품 통과로 외삽하지 마십시오.

장 28

규격 리소스와 유지 관리

매뉴얼에 포함된 전체 도구 Schema를 사용하고, 인스턴스의 실제 발견 결과와 동기화를 유지합니다.

리소스내용
reference/mcp-tool-catalog.json온톨로지 측 32개와 비즈니스 측 8개의 선언 입력 Schema; 일부 도구는 원본 출력 Schema 포함
reference/locales.json21개 선택 항목과 24개 호환 locale 및 UI 용어
reference/search-keywords.json17개 명시적 locale의 정적 키워드 디렉터리
reference/analysis-contract-manifest.json분석 분기 팩트 응답 및 보고서 관련 버전 제약
examples/합성 CSV 기준 설명, Top3 SQL 기대 결과와 최소 프로토콜 클라이언트

내장 설명 리소스

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

resources/list 및 resources/read를 사용하려면 현재 사용자가 metadata, search operate 또는 etl operate 중 해당하는 읽기 자격을 최소 하나 보유해야 합니다. ETL 문서는 정적인 교차 제품 참조이며, Flash의 실행 가능한 기능은 명시적으로 보고된 범위에 한정됩니다.

외부 프로토콜 참조

MCP 프로토콜과 권한 부여 배경은 공식 규격을 참조하십시오: https://modelcontextprotocol.io/specification/2026-07-28/basic 및 https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization.. 본 제품의 엔드포인트, 도구 및 조건별 동작은 r56 구현과 현재 인스턴스의 발견 결과에 따릅니다. 일반 프로토콜 지원을 서버가 모든 선택적 기능을 제공하는 것과 동일하게 취급하지 마십시오.

업그레이드 유지 관리

업그레이드 시 도구와 버전을 다시 발견하고, 입력 Schema, 출력 계약 및 구성을 비교합니다. 기존 Grant는 새 scope를 자동으로 획득하지 않습니다. 참조, 캐시 및 응답을 소스 버전에 바인딩하고, 호환되지 않는 변경을 확인한 후 컨텍스트를 다시 획득하며, 이전 위치를 새 비즈니스 상태에 억지로 사용하지 마십시오.

장 29

도구 매개변수 참조 기본 및 네이티브 Search

전체 이름과 입력 필드를 도구별로 묶어 조회합니다.

다음 표는 현재 r56 도구 입력 필드의 읽기 참조입니다. 전체 중첩 유형, oneOf, 조건부 필수, 패턴 제약 및 일부 출력 Schema는 reference/mcp-tool-catalog.json를 참조하십시오. 최종 제출 전에 현재 Grant의 tools/list를 확인해야 합니다. 표의 '선택'은 작업 내부 검증 요구를 면제하지 않습니다.

dfc_manual

매개변수유형요구 사항의미와 범위
namesarray선택 또는 조건부 필수조회할 명시적 이름으로, 한 번에 최대 32개. maxItems: 32
actionstring선택 또는 조건부 필수작업 이름. 현재 열거형과 작업별 대응 매개변수에 따라 사용합니다. enum: list, read, keywords, functions, etl_requests
localestring선택 또는 조건부 필수명시적 정적 참조 디렉터리 locale이며, 쿼리 기본 언어가 아닙니다.
uristring선택 또는 조건부 필수현재 도구가 나열하는 내장 리소스 URI. enum: datafocus://manuals/etl-formulas/v1, datafocus://manuals/search-keyword-queries/v1, datafocus://manuals/etl-functions/v1, datafocus://manuals/search-keywords/v1

dfc_search

매개변수유형요구 사항의미와 범위
dataobject선택 또는 조건부 필수원본 작업 페이로드; 기능 발견 및 작업 필드 표를 참조하십시오.
actionstring필수작업 이름. 현재 열거형과 작업별 대응 매개변수에 따라 사용합니다. enum: capabilities, model_create, model_read, open, request, poll, cancel, close

dfc_etl

매개변수유형요구 사항의미와 범위
dataobject선택 또는 조건부 필수원본 작업 페이로드; 기능 발견 및 작업 필드 표를 참조하십시오.
actionstring필수작업 이름. 현재 열거형과 작업별 대응 매개변수에 따라 사용합니다. enum: capabilities

dfc_ontologies

매개변수유형요구 사항의미와 범위
pageSizeinteger선택 또는 조건부 필수페이지당 항목 수; Schema 상한에 따릅니다. minimum: 1; maximum: 100
pageinteger선택 또는 조건부 필수페이지 번호, 1부터 시작합니다. minimum: 1

dfc_ontology_resources

매개변수유형요구 사항의미와 범위
resourceTypesarray선택 또는 조건부 필수반환할 리소스 유형 집합입니다.
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
pageSizeinteger선택 또는 조건부 필수페이지당 항목 수; Schema 상한에 따릅니다. minimum: 1; maximum: 100
pageinteger선택 또는 조건부 필수페이지 번호, 1부터 시작합니다. minimum: 1
장 30

도구 매개변수 참조 테이블 그래프와 지식

전체 이름과 입력 필드를 도구별로 묶어 조회합니다.

다음 표는 현재 r56 도구 입력 필드의 읽기 참조입니다. 전체 중첩 유형, oneOf, 조건부 필수, 패턴 제약 및 일부 출력 Schema는 reference/mcp-tool-catalog.json를 참조하십시오. 최종 제출 전에 현재 Grant의 tools/list를 확인해야 합니다. 표의 '선택'은 작업 내부 검증 요구를 면제하지 않습니다.

dfc_ontology_graph

매개변수유형요구 사항의미와 범위
relationTypesarray선택 또는 조건부 필수관계 유형 필터입니다.
depthinteger선택 또는 조건부 필수이웃 순회 깊이입니다. minimum: 1; maximum: 3
sourceTypesarray선택 또는 조건부 필수소스 유형 필터입니다.
queryobject선택 또는 조건부 필수쿼리 텍스트 또는 action에 대응하는 정확한 버전화된 쿼리 객체입니다.
limitinteger선택 또는 조건부 필수반환 수 상한입니다. minimum: 1; maximum: 100
actionstring필수작업 이름. 현재 열거형과 작업별 대응 매개변수에 따라 사용합니다. enum: search, neighbors, published_model, published_query, candidate_query
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
nodeKeystring선택 또는 조건부 필수실제 그래프 결과에서 복사한 노드 키입니다.
keywordstring선택 또는 조건부 필수그래프 위치 지정 키워드이며, 키워드 스마트 질의 문법이 아닙니다.
nodeTypesarray선택 또는 조건부 필수노드 유형 필터입니다.

dfc_ontology_query

매개변수유형요구 사항의미와 범위
routeLocatorsarray선택 또는 조건부 필수서버가 발급한 유형화된 라우팅 위치 지정을 완전히 복사합니다. maxItems: 20
topKinteger선택 또는 조건부 필수리콜 후보 상한이며, 완전한 커버리지를 보증하지 않습니다. minimum: 1; maximum: 20
queryModestring선택 또는 조건부 필수도구 열거형에 따라 증거 조회 모드를 선택합니다. enum: vector, hybrid, graph
fanoutPlanobject선택 또는 조건부 필수제한된 분기 검색 계획이며, 중첩 Schema에 따릅니다.
structuredPlanobject선택 또는 조건부 필수완전한 문서 테이블의 서버 계약 바인딩 계획이며, SQL이 아닙니다.
knowledgeIdsarray선택 또는 조건부 필수실제 knowledgeBindings 내의 지식베이스 ID입니다.
querystring필수쿼리 텍스트 또는 action에 대응하는 정확한 버전화된 쿼리 객체입니다.
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.

dfc_knowledge_search

매개변수유형요구 사항의미와 범위
topKinteger선택 또는 조건부 필수리콜 후보 상한이며, 완전한 커버리지를 보증하지 않습니다. minimum: 1; maximum: 20
minScorenumber선택 또는 조건부 필수최소 매칭 점수입니다. minimum: 0; maximum: 1
knowledgeIdsarray선택 또는 조건부 필수실제 knowledgeBindings 내의 지식베이스 ID입니다.
querystring필수쿼리 텍스트 또는 action에 대응하는 정확한 버전화된 쿼리 객체입니다.
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
assetIdsarray선택 또는 조건부 필수현재 허용된 문서 자산 ID입니다.
retrievalStrategystring선택 또는 조건부 필수실제 지원되는 검색 전략입니다. enum: auto, hybrid_stage2

dfc_knowledge_detail

매개변수유형요구 사항의미와 범위
qdrantIdstring / integer선택 또는 조건부 필수실제 위치 지정이 반환한 인덱스 식별자입니다.
pageNointeger선택 또는 조건부 필수실제 페이지 또는 페이지네이션 페이지 번호입니다.
evidenceIdstring선택 또는 조건부 필수동일한 지식 위치 지정이 반환한 증거 ID입니다.
actionstring필수작업 이름. 현재 열거형과 작업별 대응 매개변수에 따라 사용합니다. enum: chunk, document, page_context
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
documentIdstring / integer선택 또는 조건부 필수동일한 위치 지정의 문서 ID입니다.
radiusinteger선택 또는 조건부 필수인접 페이지 범위입니다. minimum: 0; maximum: 3
chunkIdstring선택 또는 조건부 필수동일한 위치 지정의 실제 청크 ID입니다.

dfc_table

매개변수유형요구 사항의미와 범위
maxRowsinteger선택 또는 조건부 필수반환 행 수 상한이며, 클라이언트 순위 범위가 아닙니다. minimum: 1; maximum: 200
actionstring필수작업 이름. 현재 열거형과 작업별 대응 매개변수에 따라 사용합니다. enum: detail, query
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
idstring선택 또는 조건부 필수실제 테이블 리소스 ID이며, 물리 이름 또는 표시 이름이 아닙니다.
sqlstring선택 또는 조건부 필수단일 온톨로지 범위 내의 읽기 전용 Doris SQL이며, 출력 열을 명시합니다.
장 31

도구 매개변수 참조 분석과 보고서

전체 이름과 입력 필드를 도구별로 묶어 조회합니다.

다음 표는 현재 r56 도구 입력 필드의 읽기 참조입니다. 전체 중첩 유형, oneOf, 조건부 필수, 패턴 제약 및 일부 출력 Schema는 reference/mcp-tool-catalog.json를 참조하십시오. 최종 제출 전에 현재 Grant의 tools/list를 확인해야 합니다. 표의 '선택'은 작업 내부 검증 요구를 면제하지 않습니다.

dfc_analysis_ask

매개변수유형요구 사항의미와 범위
questionstring필수자연어 질문 또는 호환 가능한 후속 질문입니다.
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
languagestring선택 또는 조건부 필수명시적 답변 또는 쿼리 locale; 생략 시 해당 도구 규칙을 따릅니다.
sessionIdstring선택 또는 조건부 필수동일한 Grant 하의 실제 세션 위치 지정입니다.

dfc_analysis_refine

매개변수유형요구 사항의미와 범위
branchIdstring선택 또는 조건부 필수서버가 발급한 구조화된 분기 위치 지정입니다.
resultIdstring필수원본 반환 분석 결과의 위치 지정입니다.
questionstring선택 또는 조건부 필수자연어 질문 또는 호환 가능한 후속 질문입니다.
idempotencyKeystring필수동일한 논리 작업에서 안정적으로 재사용되는 멱등 키입니다.
changeobject선택 또는 조건부 필수자연어 변경 또는 유형화된 filter_patch입니다.
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
languagestring선택 또는 조건부 필수명시적 답변 또는 쿼리 locale; 생략 시 해당 도구 규칙을 따릅니다.
sessionIdstring필수동일한 Grant 하의 실제 세션 위치 지정입니다.
expectedRevisioninteger필수원본 결과 또는 비즈니스 헤더 버전 전제; 질문 생성 시 null 가능. minimum: 1
visualIdstring선택 또는 조건부 필수분기에 바인딩된 시각화 위치 지정입니다.

dfc_analysis_page

매개변수유형요구 사항의미와 범위
branchIdstring필수서버가 발급한 구조화된 분기 위치 지정입니다.
resultIdstring필수원본 반환 분석 결과의 위치 지정입니다.
pageNointeger필수실제 페이지 또는 페이지네이션 페이지 번호입니다. minimum: 1; maximum: 10000
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
pageSizeinteger필수페이지당 항목 수; Schema 상한에 따릅니다. minimum: 1; maximum: 100
sessionIdstring필수동일한 Grant 하의 실제 세션 위치 지정입니다.
expectedRevisioninteger필수원본 결과 또는 비즈니스 헤더 버전 전제; 질문 생성 시 null 가능. minimum: 1

dfc_analysis_result_get

매개변수유형요구 사항의미와 범위
resultIdstring필수원본 반환 분석 결과의 위치 지정입니다.
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
sessionIdstring필수동일한 Grant 하의 실제 세션 위치 지정입니다.

dfc_analysis_cancel

매개변수유형요구 사항의미와 범위
resultIdstring필수원본 반환 분석 결과의 위치 지정입니다.
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
sessionIdstring필수동일한 Grant 하의 실제 세션 위치 지정입니다.

dfc_analysis_close

매개변수유형요구 사항의미와 범위
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
sessionIdstring필수동일한 Grant 하의 실제 세션 위치 지정입니다.

dfc_report_create

매개변수유형요구 사항의미와 범위
goalstring필수보고서 분석 대상입니다.
idempotencyKeystring필수동일한 논리 작업에서 안정적으로 재사용되는 멱등 키입니다.
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
languagestring선택 또는 조건부 필수명시적 답변 또는 쿼리 locale; 생략 시 해당 도구 규칙을 따릅니다.
titlestring선택 또는 조건부 필수선택적 보고서 제목입니다.

dfc_report_status

매개변수유형요구 사항의미와 범위
reportIdstring필수현재 Grant의 영구 보고서 위치 지정입니다.
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.

dfc_report_cancel

매개변수유형요구 사항의미와 범위
reportIdstring필수현재 Grant의 영구 보고서 위치 지정입니다.
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
장 32

도구 매개변수 참조 모델링과 원본 작업

전체 이름과 입력 필드를 도구별로 묶어 조회합니다.

다음 표는 현재 r56 도구 입력 필드의 읽기 참조입니다. 전체 중첩 유형, oneOf, 조건부 필수, 패턴 제약 및 일부 출력 Schema는 reference/mcp-tool-catalog.json를 참조하십시오. 최종 제출 전에 현재 Grant의 tools/list를 확인해야 합니다. 표의 '선택'은 작업 내부 검증 요구를 면제하지 않습니다.

dfc_ontology_agent

매개변수유형요구 사항의미와 범위
modestring선택 또는 조건부 필수QUERY 또는 AUTHORING이며, 기능은 각각 별도로 권한이 부여됩니다. enum: QUERY, AUTHORING
instructionstring선택 또는 조건부 필수사용자 요구 텍스트; 컨텍스트와 제출 내용이 일치해야 합니다. maxLength: 16000
idempotencyKeystring선택 또는 조건부 필수동일한 논리 작업에서 안정적으로 재사용되는 멱등 키입니다. maxLength: 128
actionstring필수작업 이름. 현재 열거형과 작업별 대응 매개변수에 따라 사용합니다. enum: start, status, cancel
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
runIdstring선택 또는 조건부 필수동일한 온톨로지와 Grant의 원본 작업 ID입니다.
contractVersionstring필수실제 지원되는 정확한 계약 버전을 사용해야 합니다. enum: ontology-agent-task-v1

dfc_authoring_capabilities

이 도구의 입력 루트 객체에는 필드가 없습니다. 빈 arguments 객체를 사용하십시오.

dfc_artifact_context

매개변수유형요구 사항의미와 범위
artifactTypestring필수실제 개시된 아티팩트 또는 온톨로지 게시 유형입니다. enum: CONTROL_PANEL_SPEC, VIEW_SPEC
scopeTypestring선택 또는 조건부 필수실제 아티팩트 계약의 리소스 범위 유형입니다.
ontologyIdstring선택 또는 조건부 필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
projectIdstring선택 또는 조건부 필수현재 권한이 부여된 프로젝트 ID입니다.
artifactIdstring선택 또는 조건부 필수편집할 기존 아티팩트의 실제 ID입니다.
instructionstring필수사용자 요청 텍스트입니다. 컨텍스트와 제출 내용이 일치해야 합니다.
variablesobject선택 또는 조건부 필수반환된 계약에서 제공하는 변수 객체입니다.
previewInputobject선택 또는 조건부 필수계약에 따라 제공되는 유한한 미리보기 입력입니다.
viewportobject선택 또는 조건부 필수원본 계약에서 요구하는 표시 뷰포트입니다.

dfc_ontology_table_schema

매개변수유형요구 사항의미와 범위
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
sourceAssetRefstring필수등록된 구조화 자산 참조(예: table:123).
fieldsarray필수현재 소스의 필드 및 선택적 명시적 유형 선언입니다. minItems: 1; maxItems: 64

dfc_artifact_preview

매개변수유형요구 사항의미와 범위
proposalIdstring필수현재 Grant가 생성한 원본 후보 ID입니다.
candidateHashstring필수원본 서버 측 후보의 정확한 해시입니다.
previewInputobject필수계약에 따라 제공되는 유한한 미리보기 입력입니다.

dfc_artifact_status

매개변수유형요구 사항의미와 범위
proposalIdstring선택 또는 조건부 필수현재 Grant가 생성한 원본 후보 ID입니다.
planIdstring선택 또는 조건부 필수변경 불가능한 적용 계획 ID입니다.

dfc_artifact_plan

매개변수유형요구 사항의미와 범위
proposalIdstring필수현재 Grant가 생성한 원본 후보 ID입니다.
candidateHashstring필수원본 서버 측 후보의 정확한 해시입니다.
expectedTargetVersioninteger필수현재 실제 대상 버전 선행 조건입니다. minimum: 0
idempotencyKeystring필수동일한 논리 작업에서 안정적으로 재사용되는 멱등 키입니다.

dfc_artifact_apply

매개변수유형요구 사항의미와 범위
planIdstring필수변경 불가능한 적용 계획 ID입니다.
planHashstring필수원본 계획이 반환한 해시입니다.
approvalTokenstring필수원본 서버가 발급한 승인 자료이며, 직접 생성해서는 안 됩니다.
idempotencyKeystring필수동일한 논리 작업에서 안정적으로 재사용되는 멱등 키입니다.

dfc_artifact_submit

매개변수유형요구 사항의미와 범위
설정1 / artifactTypestring필수실제 개시된 아티팩트 또는 온톨로지 게시 유형입니다. enum: CONTROL_PANEL_SPEC, VIEW_SPEC
설정1 / scopeTypestring선택 또는 조건부 필수실제 아티팩트 계약의 리소스 범위 유형입니다.
설정1 / ontologyIdstring선택 또는 조건부 필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
설정1 / projectIdstring선택 또는 조건부 필수현재 권한이 부여된 프로젝트 ID입니다.
설정1 / artifactIdstring선택 또는 조건부 필수편집할 기존 아티팩트의 실제 ID입니다.
설정1 / instructionstring필수사용자 요청 텍스트입니다. 컨텍스트와 제출 내용이 일치해야 합니다.
설정1 / variablesobject선택 또는 조건부 필수반환된 계약에서 제공하는 변수 객체입니다.
설정1 / previewInputobject선택 또는 조건부 필수계약에 따라 제공되는 유한한 미리보기 입력입니다.
설정1 / viewportobject선택 또는 조건부 필수원본 계약에서 요구하는 표시 뷰포트입니다.
설정1 / contractVersionstring필수실제로 지원되는 정확한 계약 버전을 사용해야 합니다.
설정1 / contextHashstring필수context가 반환한 전체 컨텍스트 해시입니다.
설정1 / baseArtifactHashstring필수context가 반환한 기본 아티팩트 해시입니다.
설정1 / baseArtifactVersioninteger필수context가 반환한 기본 버전입니다. minimum: 0
설정1 / candidateobject필수현재 반환된 계약에 부합하는 후보 객체입니다.
설정1 / clientRequestIdstring필수현재 후보 요청에서 안정적으로 사용하는 클라이언트 멱등 키입니다.
설정2 / artifactTypestring필수실제로 활성화된 아티팩트 또는 온톨로지 게시 유형입니다. enum: ONTOLOGY_RELEASE
설정2 / contractVersionstring필수실제로 지원되는 정확한 계약 버전을 사용해야 합니다. enum: ontology-publication-mcp-submit-v1, ontology-publication-mcp-submit-v2, ontology-publication-mcp-submit-v3, ontology-publication-mcp-submit-v4, ontology-publication-mcp-submit-v5, ontology-publication-mcp-submit-v6
설정2 / ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
설정2 / candidateHashstring필수원본 서버 측 후보의 정확한 해시입니다.
설정2 / workspaceIdstring필수실제 후보 작업 공간 좌표입니다.
설정2 / workspaceRevisionstring필수정확한 후보 버전을 사용하며 latest는 사용하지 않습니다.
설정2 / releasesobject필수온톨로지 게시 계약에 따라 제공되는 정확한 버전 선택입니다.
설정2 / selectionobject필수명확한 비즈니스 선택 좌표만 제공하며, 권한이나 완료 증명은 제공하지 않습니다.
설정2 / idempotencyKeystring필수동일한 논리 작업에서 안정적으로 재사용되는 멱등 키입니다.
설정3 / 설정1 / artifactTypestring필수실제로 활성화된 아티팩트 또는 온톨로지 게시 유형입니다. enum: ONTOLOGY_RELEASE
설정3 / 설정1 / contractVersionstring필수실제로 지원되는 정확한 계약 버전을 사용해야 합니다. enum: ontology-workspace-create-mcp-submit-v1
설정3 / 설정1 / ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
설정3 / 설정1 / workspaceIdstring필수실제 후보 작업 공간 좌표입니다.
설정3 / 설정1 / resourcesarray필수서버가 컴파일한 원본 모델 선언입니다. minItems: 1
설정3 / 설정1 / idempotencyKeystring필수동일한 논리 작업에서 안정적으로 재사용되는 멱등 키입니다.
설정3 / 설정2 / artifactTypestring필수실제로 활성화된 아티팩트 또는 온톨로지 게시 유형입니다. enum: ONTOLOGY_RELEASE
설정3 / 설정2 / contractVersionstring필수실제로 지원되는 정확한 계약 버전을 사용해야 합니다. enum: ontology-workspace-create-mcp-submit-v2
설정3 / 설정2 / ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
설정3 / 설정2 / workspaceIdstring필수실제 후보 작업 공간 좌표입니다.
설정3 / 설정2 / resourcesarray필수서버가 컴파일한 원본 모델 선언입니다. minItems: 1
설정3 / 설정2 / idempotencyKeystring필수동일한 논리 작업에서 안정적으로 재사용되는 멱등 키입니다.
설정3 / 설정2 / releaseSelectionsobject필수게시된 각 참조의 정확한 releaseId 및 종속성 클로저입니다.
설정4 / artifactTypestring필수실제로 활성화된 아티팩트 또는 온톨로지 게시 유형입니다. enum: ONTOLOGY_RELEASE
설정4 / contractVersionstring필수실제로 지원되는 정확한 계약 버전을 사용해야 합니다. enum: ontology-initial-activation-retirement-submit-v1
설정4 / ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
설정4 / domainRidstring필수실제 비즈니스 도메인 RID입니다.
설정4 / consumerScopesarray필수서버가 허용하는 정확한 소비자 범위입니다. minItems: 1; maxItems: 256
설정4 / idempotencyKeystring필수동일한 논리 작업에서 안정적으로 재사용되는 멱등 키입니다.
장 33

도구 매개변수는 지식 입력 및 범위를 참조하십시오

전체 이름과 입력 필드를 도구별로 묶어 조회합니다.

다음 표는 현재 r56 도구 입력 필드의 읽기 참조입니다. 전체 중첩 유형, oneOf, 조건부 필수, 패턴 제약 및 일부 출력 Schema는 reference/mcp-tool-catalog.json를 참조하십시오. 최종 제출 전에 현재 Grant의 tools/list를 확인해야 합니다. 표의 '선택'은 작업 내부 검증 요구를 면제하지 않습니다.

dfc_ontology_knowledge_input_propose

매개변수유형요구 사항의미와 범위
requestobject필수원본 비즈니스 입력 요청입니다. 전체 중첩 Schema에 따릅니다.
idempotencyKeystring필수동일한 논리 작업에서 안정적으로 재사용되는 멱등 키입니다. minLength: 1; maxLength: 128

이 도구에는 별도의 네이티브 outputSchema이 있습니다. 출력의 무결성, 상태 및 명시적으로 false로 지정된 권한 필드를 확인하고, 완료 의미를 스스로 승격시키지 마십시오.

dfc_ontology_knowledge_input_preview

매개변수유형요구 사항의미와 범위
idempotencyKeystring필수동일한 논리 작업에서 안정적으로 재사용되는 멱등 키입니다. minLength: 1; maxLength: 128
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.

이 도구에는 별도의 네이티브 outputSchema이 있습니다. 출력의 무결성, 상태 및 명시적으로 false로 지정된 권한 필드를 확인하고, 완료 의미를 스스로 승격시키지 마십시오.

dfc_ontology_knowledge_question_submit

매개변수유형요구 사항의미와 범위
questionRevision$ref필수이번에 확인할 문제의 명확한 버전입니다.
idempotencyKey$ref필수동일한 논리 작업에서 안정적으로 재사용되는 멱등 키입니다.
originalInputKey$ref필수원본 지식 입력에 해당하는 멱등 키입니다.
ontologyIdstring필수이번 권한 범위 내의 실제 온톨로지 ID이며, 문자열로 유지합니다.
validUntil$ref필수문제의 유효 기간 종료 시점, UTC 시간.
expectedRevisiononeOf필수원본 결과 또는 비즈니스 헤더 버전 선행 조건이며, 문제 생성 시 null일 수 있습니다.
validFrom$ref필수문제의 유효 기간 시작 시점, UTC 시간.

이 도구에는 별도의 네이티브 outputSchema이 있습니다. 출력의 무결성, 상태 및 명시적으로 false로 지정된 권한 필드를 확인하고, 완료 의미를 스스로 승격시키지 마십시오.

dfc_ontology_business_scope_initialize

매개변수유형요구 사항의미와 범위
domainRevisionIdstring필수정확한 비즈니스 도메인 버전입니다. minLength: 1; maxLength: 128
idempotencyKeystring필수동일한 논리 작업에서 안정적으로 재사용되는 멱등 키입니다. minLength: 1; maxLength: 128
businessSystemIdstring필수실제 비즈니스 시스템 ID입니다. minLength: 1
ontologyIdstring필수이번 권한 부여 내의 실제 온톨로지 ID이며, 문자열로 유지합니다. minLength: 1
domainRidstring필수실제 비즈니스 도메인 RID입니다. minLength: 1; maxLength: 128

이 도구에는 별도의 네이티브 outputSchema이 있습니다. 출력의 무결성, 상태 및 명시적으로 false로 지정된 권한 필드를 확인하고, 완료 의미를 스스로 승격시키지 마십시오.

장 34

도구 매개변수는 비즈니스 워크스페이스를 참조하십시오

전체 이름과 입력 필드를 도구별로 묶어 조회합니다.

다음 표는 현재 r56 도구 입력 필드의 읽기 참조입니다. 전체 중첩 유형, oneOf, 조건부 필수, 패턴 제약 및 일부 출력 Schema는 reference/mcp-tool-catalog.json를 참조하십시오. 최종 제출 전에 현재 Grant의 tools/list를 확인해야 합니다. 표의 '선택'은 작업 내부 검증 요구를 면제하지 않습니다.

dfb_systems

이 도구의 입력 루트 객체에는 필드가 없습니다. 빈 arguments 객체를 사용하십시오.

dfb_system_describe

매개변수유형요구 사항의미와 범위
systemIdstring / integer필수이번 비즈니스 Grant가 허용하는 시스템 ID입니다.

dfb_query

매개변수유형요구 사항의미와 범위
systemIdstring / integer필수이번 비즈니스 Grant가 허용하는 시스템 ID입니다.
queryKeystring필수describe가 반환한 게시된 쿼리 키입니다.
objectKeystring선택 또는 조건부 필수게시된 객체 키입니다.
pageSizeinteger선택 또는 조건부 필수페이지당 항목 수; Schema 상한에 따릅니다. minimum: 1; maximum: 100
pageinteger선택 또는 조건부 필수페이지 번호, 1부터 시작합니다. minimum: 1
statestring선택 또는 조건부 필수비즈니스 상태 필터 또는 서버 상태입니다.

dfb_record

매개변수유형요구 사항의미와 범위
recordIdstring / integer필수현재 읽기가 허용된 비즈니스 레코드 ID입니다.
systemIdstring / integer필수이번 비즈니스 Grant가 허용하는 시스템 ID입니다.

dfb_work_items

매개변수유형요구 사항의미와 범위
systemIdstring / integer필수이번 비즈니스 Grant가 허용하는 시스템 ID입니다.

dfb_action_plan

매개변수유형요구 사항의미와 범위
expectedRecordVersioninteger선택 또는 조건부 필수대상 레코드의 현재 낙관적 잠금 버전입니다. minimum: 1
systemIdstring / integer필수이번 비즈니스 Grant가 허용하는 시스템 ID입니다.
commandTypestring필수게시된 계약에 정의된 명령 유형입니다.
canonicalIrHashstring필수현재 게시된 정규화 IR 해시입니다.
releaseIdstring / integer필수실제 게시 계약 버전 ID입니다.
payloadobject필수describe의 현재 명령 계약에 부합하는 페이로드입니다.
releaseHashstring필수실제 게시 계약 해시입니다.
targetRecordIdstring / integer선택 또는 조건부 필수조작이 필요한 실제 대상 레코드입니다.
agentManifestHashstring필수실제 Agent 역량 manifest 해시입니다.
planIdempotencyKeystring필수비즈니스 계획의 안정적인 멱등 키입니다.

dfb_action_status

매개변수유형요구 사항의미와 범위
actionPlanIdstring / integer필수현재 비즈니스 Grant가 보유한 작업 계획 ID입니다.

dfb_action_execute

매개변수유형요구 사항의미와 범위
approvalTokenstring선택 또는 조건부 필수원본 서버가 발급한 승인 자료이며, 직접 생성해서는 안 됩니다.
actionPlanIdstring / integer필수현재 비즈니스 Grant가 보유한 작업 계획 ID입니다.