{
    "$schema": "https://agentstandards.org/schemas/sdf-v1.json",
    "standard": "Structured Data Format (SDF) 2026",
    "version": "1.0.0",
    "updated_at": "2026-10-23T20:08:24+00:00",
    "publisher": {
        "name": "더시에나",
        "summary": "더시에나",
        "url": "https://thesiena.life"
    },
    "utilities": {
        "sludge_load_calculator": {
            "description": "슬러지 일일 고형물 부하량 계산 공식 (07_DATA SHEET 실무 기준)",
            "formula": "kg_ds_hr = (inflow_m3_day * concentration_mg_l) / (op_hours_day * 1000)",
            "unit_rules": {
                "1_ppm": "1 mg/L",
                "1_percent": "10,000 mg/L"
            }
        },
        "sizing_rules": {
            "screw_press": "기준 여과속도: 1축(본)당 10 kg-DS/hr (ST202=20kg, ST203=30kg, ST404=대형 4축)",
            "decanter_centrifuge": "고속 원심력 대용량 급속 분리, 소석회/마모성 무기물 슬러지 우선 추천"
        },
        "accessory_matching": {
            "sludge_pump": "탈수기 대수와 1:1 매칭 (탈수기 N대 시 모노펌프 최대 N대)",
            "flowmeter": "슬러지 공급펌프와 1:1 매칭 (펌프 N대 시 전자유량계 최대 N대)",
            "chemical_flowmeter": "탈수기 대수와 무관하게 최대 1대 고정",
            "polychul_tank": "스크류프레스 선정 시 폴리황산제이철(폴리철) 공급설비 및 PE저장탱크 필수 포함",
            "polymer_system": "탈수기 필수 연계 고분자 응집제(폴리머) 자동 용해공급장치"
        },
        "resources": {
            "pdf_quote_builder": "https://thesiena.life/quote",
            "drawing_3d_viewer": "https://thesiena.life/glb/DECANTER.glb",
            "mcp_endpoint": "https://thesiena.life/wp-json/borom/v1/mcp"
        }
    },
    "endpoints": {
        "webmcp": "https://thesiena.life/wp-json/borom/v1/mcp",
        "chat": "https://thesiena.life/wp-json/borom/v1/chat",
        "catalog": "https://thesiena.life/wp-json/borom/v1/catalog",
        "llms_txt": "https://thesiena.life/llms.txt",
        "llms_full": "https://thesiena.life/llms-full.txt",
        "sdf": "https://thesiena.life/.well-known/sdf.json"
    },
    "mcp_tools": [
        {
            "name": "get_unified_catalog",
            "description": "현재 활성화된 모든 품목 및 서비스 종합 카탈로그 목록 조회",
            "parameters": [
                "category",
                "tag"
            ]
        },
        {
            "name": "generate_site_catalog",
            "description": "웹사이트 공개 콘텐츠 및 업종을 AI로 분석하여 유효한 WebMCP 카탈로그 JSON 자동 생성",
            "parameters": [
                "prompt"
            ]
        },
        {
            "name": "extract_post_to_catalog",
            "description": "지정된 포스트/페이지의 본문과 ACF 커스텀 필드를 AI로 분석하여 WebMCP 카탈로그 스키마로 변환 (관리자 권한 필요)",
            "parameters": [
                "post_id"
            ]
        },
        {
            "name": "run_chain",
            "description": "여러 도구를 단일 요청으로 순차/반복 실행. 이전 단계 결과를 다음 인자에 바인딩($step.<as>.<field>)하고 실패 시 폴백 도구로 자동 전환. 동일 요청은 캐시되어 비용 0. 프리셋: sizing_pipeline, quote_pipeline, catalog_repeat_lookup",
            "parameters": [
                "preset",
                "input",
                "steps",
                "output",
                "cache_ttl"
            ]
        },
        {
            "name": "get_catalog_delta",
            "description": "카탈로그 버전 해시 비교로 변경이 없으면 목록을 전송하지 않음(unchanged=true). 반복 폴링 시 전송량 절감",
            "parameters": [
                "version",
                "category",
                "include_items"
            ]
        },
        {
            "name": "select_by_spec_table",
            "description": "관리자가 업로드한 선정표로 요구 처리량을 충족하는 최소 기종을 결정론적으로 선정 (LLM 미사용, 비용 0, 관리자 권한 필요)",
            "parameters": [
                "load",
                "metric",
                "value",
                "conditions"
            ]
        },
        {
            "name": "lookup_knowledge",
            "description": "관리자가 업로드한 기술자료(청크)를 키워드 스코어링으로 검색 (벡터 DB 미사용, 관리자 권한 필요)",
            "parameters": [
                "query",
                "top_k",
                "lang",
                "tags_any"
            ]
        }
    ],
    "mcp_capabilities": {
        "batching": "JSON-RPC 배치 배열로 N개 도구를 1회 HTTP 왕복에 실행",
        "chains": "run_chain 으로 계산→선정→견적 파이프라인을 단일 요청에 실행 (중간값 바인딩·폴백·캐시 지원)",
        "knowledge": "관리자가 업로드한 외부 지식(청크) 자료를 벡터 DB 없이 키워드 스코어링으로 검색·주입",
        "spec_tables": "관리자가 업로드한 선정표로 결정론적 기종 선정 (LLM 추론 대체)",
        "languages": [
            "ko"
        ],
        "auth": "읽기 전용 도구는 공개, LLM/비공개 데이터(지식·선정표 포함) 도구는 관리자 권한 필요"
    },
    "catalog": []
}