[{"data":1,"prerenderedAt":1790},["ShallowReactive",2],{"navigation_docs_en":3,"dtpr-schemas-index":287,"-en-mcp-tools-render-datachain":295,"-en-mcp-tools-render-datachain-surround":1785},[4,22,26,30,102,152,174,196,226,278,283],{"title":5,"path":6,"stem":7,"children":8},"Getting started","/en/getting-started","en/1.getting-started/0.index",[9,10,14,18],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"MCP quickstart","/en/getting-started/mcp-quickstart","en/1.getting-started/1.mcp-quickstart",{"title":15,"path":16,"stem":17},"REST quickstart","/en/getting-started/rest-quickstart","en/1.getting-started/2.rest-quickstart",{"title":19,"path":20,"stem":21},"UI quickstart","/en/getting-started/ui-quickstart","en/1.getting-started/3.ui-quickstart",{"title":23,"path":24,"stem":25},"Attribution","/en/attribution","en/10.attribution",{"title":27,"path":28,"stem":29},"Cite DTPR for AI","/en/cite","en/11.cite",{"title":31,"path":32,"stem":33,"children":34},"MCP server","/en/mcp","en/2.mcp/0.index",[35,36,40,44,48,98],{"title":31,"path":32,"stem":33},{"title":37,"path":38,"stem":39},"Connecting","/en/mcp/connection","en/2.mcp/1.connection",{"title":41,"path":42,"stem":43},"Envelope","/en/mcp/envelope","en/2.mcp/2.envelope",{"title":45,"path":46,"stem":47},"Resources","/en/mcp/resources","en/2.mcp/3.resources",{"title":49,"path":50,"stem":51,"children":52},"Tools","/en/mcp/tools","en/2.mcp/4.tools/0.index",[53,54,58,62,66,70,74,78,82,86,90,94],{"title":49,"path":50,"stem":51},{"title":55,"path":56,"stem":57},"list_schema_versions","/en/mcp/tools/list-schema-versions","en/2.mcp/4.tools/1.list-schema-versions",{"title":59,"path":60,"stem":61},"MCP tool: resolve_datachain","/en/mcp/tools/resolve-datachain","en/2.mcp/4.tools/10.resolve-datachain",{"title":63,"path":64,"stem":65},"MCP tool: validate_resolved","/en/mcp/tools/validate-resolved","en/2.mcp/4.tools/11.validate-resolved",{"title":67,"path":68,"stem":69},"get_schema","/en/mcp/tools/get-schema","en/2.mcp/4.tools/2.get-schema",{"title":71,"path":72,"stem":73},"list_categories","/en/mcp/tools/list-categories","en/2.mcp/4.tools/3.list-categories",{"title":75,"path":76,"stem":77},"list_elements","/en/mcp/tools/list-elements","en/2.mcp/4.tools/4.list-elements",{"title":79,"path":80,"stem":81},"get_element","/en/mcp/tools/get-element","en/2.mcp/4.tools/5.get-element",{"title":83,"path":84,"stem":85},"get_elements","/en/mcp/tools/get-elements","en/2.mcp/4.tools/6.get-elements",{"title":87,"path":88,"stem":89},"validate_datachain","/en/mcp/tools/validate-datachain","en/2.mcp/4.tools/7.validate-datachain",{"title":91,"path":92,"stem":93},"render_datachain","/en/mcp/tools/render-datachain","en/2.mcp/4.tools/8.render-datachain",{"title":95,"path":96,"stem":97},"get_icon_url","/en/mcp/tools/get-icon-url","en/2.mcp/4.tools/9.get-icon-url",{"title":99,"path":100,"stem":101},"Prompts","/en/mcp/prompts","en/2.mcp/5.prompts",{"title":103,"path":104,"stem":105,"children":106},"REST API (v2)","/en/rest","en/3.rest/0.index",[107,108,112,116,120,124,128,132,136,140,144,148],{"title":103,"path":104,"stem":105},{"title":109,"path":110,"stem":111},"GET /schemas","/en/rest/schemas","en/3.rest/1.schemas",{"title":113,"path":114,"stem":115},"POST /schemas/:version/resolve","/en/rest/resolve","en/3.rest/10.resolve",{"title":117,"path":118,"stem":119},"POST /schemas/:version/validate_resolved","/en/rest/validate-resolved","en/3.rest/11.validate-resolved",{"title":121,"path":122,"stem":123},"GET /schemas/:version/manifest","/en/rest/manifest","en/3.rest/2.manifest",{"title":125,"path":126,"stem":127},"GET /schemas/:version/categories","/en/rest/categories","en/3.rest/3.categories",{"title":129,"path":130,"stem":131},"GET /schemas/:version/elements","/en/rest/elements-list","en/3.rest/4.elements-list",{"title":133,"path":134,"stem":135},"GET /schemas/:version/elements/:element_id","/en/rest/element-detail","en/3.rest/5.element-detail",{"title":137,"path":138,"stem":139},"POST /schemas/:version/validate","/en/rest/validate","en/3.rest/6.validate",{"title":141,"path":142,"stem":143},"Icon routes","/en/rest/icons","en/3.rest/7.icons",{"title":145,"path":146,"stem":147},"Pagination & fields","/en/rest/pagination-and-fields","en/3.rest/8.pagination-and-fields",{"title":149,"path":150,"stem":151},"Errors","/en/rest/errors","en/3.rest/9.errors",{"title":153,"path":154,"stem":155,"children":156},"Icon composition","/en/icons","en/4.icons/0.index",[157,158,162,166,170],{"title":153,"path":154,"stem":155},{"title":159,"path":160,"stem":161},"Shapes","/en/icons/shapes","en/4.icons/1.shapes",{"title":163,"path":164,"stem":165},"Symbols","/en/icons/symbols","en/4.icons/2.symbols",{"title":167,"path":168,"stem":169},"Composed variants","/en/icons/composed-variants","en/4.icons/3.composed-variants",{"title":171,"path":172,"stem":173},"URLs","/en/icons/urls","en/4.icons/4.urls",{"title":175,"path":176,"stem":177,"children":178},"@dtpr/ui","/en/ui","en/5.ui/0.index",[179,180,184,188,192],{"title":175,"path":176,"stem":177},{"title":181,"path":182,"stem":183},"@dtpr/ui/core","/en/ui/core","en/5.ui/1.core",{"title":185,"path":186,"stem":187},"@dtpr/ui/vue","/en/ui/vue","en/5.ui/2.vue",{"title":189,"path":190,"stem":191},"@dtpr/ui/html","/en/ui/html","en/5.ui/3.html",{"title":193,"path":194,"stem":195},"Theming","/en/ui/theming","en/5.ui/4.theming",{"title":197,"path":198,"stem":199,"children":200},"Concepts","/en/concepts","en/6.concepts/0.index",[201,202,206,210,214,218,222],{"title":197,"path":198,"stem":199},{"title":203,"path":204,"stem":205},"Datachains","/en/concepts/datachains","en/6.concepts/1.datachains",{"title":207,"path":208,"stem":209},"Elements & categories","/en/concepts/elements-categories","en/6.concepts/2.elements-categories",{"title":211,"path":212,"stem":213},"Versions & releases","/en/concepts/versions-and-releases","en/6.concepts/3.versions-and-releases",{"title":215,"path":216,"stem":217},"Content hash","/en/concepts/content-hash","en/6.concepts/4.content-hash",{"title":219,"path":220,"stem":221},"Shape contract","/en/concepts/shape-contract","en/6.concepts/5.shape-contract",{"title":223,"path":224,"stem":225},"Subchains","/en/concepts/subchains","en/6.concepts/6.subchains",{"title":227,"path":228,"stem":229,"children":230},"Claude plugin","/en/plugin","en/7.plugin/0.index",[231,232,236,270,274],{"title":227,"path":228,"stem":229},{"title":233,"path":234,"stem":235},"Install","/en/plugin/install","en/7.plugin/1.install",{"title":237,"path":238,"stem":239,"children":240},"Skills","/en/plugin/skills","en/7.plugin/2.skills/0.index",[241,242,246,250,254,258,262,266],{"title":237,"path":238,"stem":239},{"title":243,"path":244,"stem":245},"dtpr-describe-system","/en/plugin/skills/describe-system","en/7.plugin/2.skills/1.describe-system",{"title":247,"path":248,"stem":249},"dtpr-datachain-structure","/en/plugin/skills/datachain-structure","en/7.plugin/2.skills/2.datachain-structure",{"title":251,"path":252,"stem":253},"dtpr-category-audit","/en/plugin/skills/category-audit","en/7.plugin/2.skills/3.category-audit",{"title":255,"path":256,"stem":257},"dtpr-element-design","/en/plugin/skills/element-design","en/7.plugin/2.skills/4.element-design",{"title":259,"path":260,"stem":261},"dtpr-symbol-design","/en/plugin/skills/symbol-design","en/7.plugin/2.skills/5.symbol-design",{"title":263,"path":264,"stem":265},"dtpr-translate","/en/plugin/skills/translate","en/7.plugin/2.skills/6.translate",{"title":267,"path":268,"stem":269},"dtpr-comprehension-audit","/en/plugin/skills/comprehension-audit","en/7.plugin/2.skills/7.comprehension-audit",{"title":271,"path":272,"stem":273},"Research corpus","/en/plugin/research-corpus","en/7.plugin/3.research-corpus",{"title":275,"path":276,"stem":277},"Comprehension rubric","/en/plugin/comprehension-rubric","en/7.plugin/4.comprehension-rubric",{"title":49,"path":279,"stem":280,"children":281},"/en/tools","en/8.tools/0.index",[282],{"title":49,"path":279,"stem":280},{"title":284,"path":285,"stem":286},"Changelog","/en/changelog","en/9.changelog",{"ok":288,"versions":289},true,[290],{"id":291,"status":292,"created_at":293,"content_hash":294},"ai@2026-05-06-beta","beta","2026-05-06T20:23:42.963Z","sha256-2d208111b0c597ff2b38cb1c24168799b0a5ff9290203ebf46c4f7c16a0fcb24",{"id":296,"title":91,"body":297,"description":1779,"extension":1780,"links":1781,"meta":1782,"navigation":288,"path":92,"seo":1783,"stem":93,"__hash__":1784},"docs_en/en/2.mcp/4.tools/8.render-datachain.md",{"type":298,"value":299,"toc":1769},"minimark",[300,322,327,352,356,451,455,848,863,867,1051,1054,1056,1134,1138,1145,1160,1164,1738,1742,1765],[301,302,304,305,312,313,317,318,321],"callout",{"type":303},"info","This tool produces an ",[306,307,311],"a",{"href":308,"rel":309},"https://modelcontextprotocol.io",[310],"nofollow","MCP App"," — an HTML document an MCP client can embed in an iframe. The tool response carries a short text summary plus ",[314,315,316],"code",{},"_meta.ui.resourceUri","; the client follows with ",[314,319,320],{},"resources/read"," on the same session to fetch the HTML.",[323,324,326],"h2",{"id":325},"summary","Summary",[328,329,330,331,336,337,342,343,346,347,351],"p",{},"Runs the same semantic validation as ",[306,332,334],{"href":333},"/mcp/tools/validate-datachain",[314,335,87],{},". On success, renders the instance through ",[306,338,340],{"href":339},"/ui/html",[314,341,189],{},"'s ",[314,344,345],{},"renderDatachainDocument"," and stores the result in the session's MCP App slot. On semantic failure, returns a soft-failure envelope ",[348,349,350],"strong",{},"without"," rendering.",[323,353,355],{"id":354},"input","Input",[357,358,359,381],"table",{},[360,361,362],"thead",{},[363,364,365,369,372,375,378],"tr",{},[366,367,368],"th",{},"Field",[366,370,371],{},"Type",[366,373,374],{},"Required",[366,376,377],{},"Default",[366,379,380],{},"Description",[382,383,384,410,429],"tbody",{},[363,385,386,392,397,400,403],{},[387,388,389],"td",{},[314,390,391],{},"version",[387,393,394],{},[314,395,396],{},"string",[387,398,399],{},"yes",[387,401,402],{},"—",[387,404,405,406,409],{},"Pinned schema version, e.g. ",[314,407,408],{},"\"ai@2026-04-16-beta\"",".",[363,411,412,417,422,424,426],{},[387,413,414],{},[314,415,416],{},"datachain",[387,418,419],{},[314,420,421],{},"object",[387,423,399],{},[387,425,402],{},[387,427,428],{},"Datachain instance JSON.",[363,430,431,436,440,443,448],{},[387,432,433],{},[314,434,435],{},"locale",[387,437,438],{},[314,439,396],{},[387,441,442],{},"no",[387,444,445],{},[314,446,447],{},"\"en\"",[387,449,450],{},"Locale used for rendered strings.",[323,452,454],{"id":453},"output-success","Output — success",[456,457,462],"pre",{"className":458,"code":459,"language":460,"meta":461,"style":461},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"structuredContent\": {\n    \"ok\": true,\n    \"data\": {\n      \"resource_uri\": \"ui://dtpr/datachain/view.html\",\n      \"section_count\": 4,\n      \"element_count\": 7,\n      \"warnings\": []\n    },\n    \"meta\": { \"content_hash\": \"sha256-…\", \"version\": \"ai@2026-04-16-beta\" }\n  },\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"Rendered DTPR datachain with 4 categories and 7 total elements. UI available at ui://dtpr/datachain/view.html.\\n- Purpose (2 elements): …\"\n    }\n  ],\n  \"_meta\": {\n    \"ui\": {\n      \"resourceUri\": \"ui://dtpr/datachain/view.html\",\n      \"csp\": { \"resourceDomains\": [], \"connectDomains\": [] }\n    }\n  }\n}\n","json","",[314,463,464,473,492,509,523,549,566,583,598,604,656,662,677,683,704,730,736,742,756,770,790,831,836,842],{"__ignoreMap":461},[465,466,469],"span",{"class":467,"line":468},"line",1,[465,470,472],{"class":471},"sMK4o","{\n",[465,474,476,479,483,486,489],{"class":467,"line":475},2,[465,477,478],{"class":471},"  \"",[465,480,482],{"class":481},"spNyl","structuredContent",[465,484,485],{"class":471},"\"",[465,487,488],{"class":471},":",[465,490,491],{"class":471}," {\n",[465,493,495,498,502,504,506],{"class":467,"line":494},3,[465,496,497],{"class":471},"    \"",[465,499,501],{"class":500},"sBMFI","ok",[465,503,485],{"class":471},[465,505,488],{"class":471},[465,507,508],{"class":471}," true,\n",[465,510,512,514,517,519,521],{"class":467,"line":511},4,[465,513,497],{"class":471},[465,515,516],{"class":500},"data",[465,518,485],{"class":471},[465,520,488],{"class":471},[465,522,491],{"class":471},[465,524,526,529,533,535,537,540,544,546],{"class":467,"line":525},5,[465,527,528],{"class":471},"      \"",[465,530,532],{"class":531},"sbssI","resource_uri",[465,534,485],{"class":471},[465,536,488],{"class":471},[465,538,539],{"class":471}," \"",[465,541,543],{"class":542},"sfazB","ui://dtpr/datachain/view.html",[465,545,485],{"class":471},[465,547,548],{"class":471},",\n",[465,550,552,554,557,559,561,564],{"class":467,"line":551},6,[465,553,528],{"class":471},[465,555,556],{"class":531},"section_count",[465,558,485],{"class":471},[465,560,488],{"class":471},[465,562,563],{"class":531}," 4",[465,565,548],{"class":471},[465,567,569,571,574,576,578,581],{"class":467,"line":568},7,[465,570,528],{"class":471},[465,572,573],{"class":531},"element_count",[465,575,485],{"class":471},[465,577,488],{"class":471},[465,579,580],{"class":531}," 7",[465,582,548],{"class":471},[465,584,586,588,591,593,595],{"class":467,"line":585},8,[465,587,528],{"class":471},[465,589,590],{"class":531},"warnings",[465,592,485],{"class":471},[465,594,488],{"class":471},[465,596,597],{"class":471}," []\n",[465,599,601],{"class":467,"line":600},9,[465,602,603],{"class":471},"    },\n",[465,605,607,609,612,614,616,619,621,624,626,628,630,633,635,638,640,642,644,646,648,651,653],{"class":467,"line":606},10,[465,608,497],{"class":471},[465,610,611],{"class":500},"meta",[465,613,485],{"class":471},[465,615,488],{"class":471},[465,617,618],{"class":471}," {",[465,620,539],{"class":471},[465,622,623],{"class":531},"content_hash",[465,625,485],{"class":471},[465,627,488],{"class":471},[465,629,539],{"class":471},[465,631,632],{"class":542},"sha256-…",[465,634,485],{"class":471},[465,636,637],{"class":471},",",[465,639,539],{"class":471},[465,641,391],{"class":531},[465,643,485],{"class":471},[465,645,488],{"class":471},[465,647,539],{"class":471},[465,649,650],{"class":542},"ai@2026-04-16-beta",[465,652,485],{"class":471},[465,654,655],{"class":471}," }\n",[465,657,659],{"class":467,"line":658},11,[465,660,661],{"class":471},"  },\n",[465,663,665,667,670,672,674],{"class":467,"line":664},12,[465,666,478],{"class":471},[465,668,669],{"class":481},"content",[465,671,485],{"class":471},[465,673,488],{"class":471},[465,675,676],{"class":471}," [\n",[465,678,680],{"class":467,"line":679},13,[465,681,682],{"class":471},"    {\n",[465,684,686,688,691,693,695,697,700,702],{"class":467,"line":685},14,[465,687,528],{"class":471},[465,689,690],{"class":500},"type",[465,692,485],{"class":471},[465,694,488],{"class":471},[465,696,539],{"class":471},[465,698,699],{"class":542},"text",[465,701,485],{"class":471},[465,703,548],{"class":471},[465,705,707,709,711,713,715,717,720,724,727],{"class":467,"line":706},15,[465,708,528],{"class":471},[465,710,699],{"class":500},[465,712,485],{"class":471},[465,714,488],{"class":471},[465,716,539],{"class":471},[465,718,719],{"class":542},"Rendered DTPR datachain with 4 categories and 7 total elements. UI available at ui://dtpr/datachain/view.html.",[465,721,723],{"class":722},"sTEyZ","\\n",[465,725,726],{"class":542},"- Purpose (2 elements): …",[465,728,729],{"class":471},"\"\n",[465,731,733],{"class":467,"line":732},16,[465,734,735],{"class":471},"    }\n",[465,737,739],{"class":467,"line":738},17,[465,740,741],{"class":471},"  ],\n",[465,743,745,747,750,752,754],{"class":467,"line":744},18,[465,746,478],{"class":471},[465,748,749],{"class":481},"_meta",[465,751,485],{"class":471},[465,753,488],{"class":471},[465,755,491],{"class":471},[465,757,759,761,764,766,768],{"class":467,"line":758},19,[465,760,497],{"class":471},[465,762,763],{"class":500},"ui",[465,765,485],{"class":471},[465,767,488],{"class":471},[465,769,491],{"class":471},[465,771,773,775,778,780,782,784,786,788],{"class":467,"line":772},20,[465,774,528],{"class":471},[465,776,777],{"class":531},"resourceUri",[465,779,485],{"class":471},[465,781,488],{"class":471},[465,783,539],{"class":471},[465,785,543],{"class":542},[465,787,485],{"class":471},[465,789,548],{"class":471},[465,791,793,795,798,800,802,804,806,810,812,814,817,819,822,824,826,829],{"class":467,"line":792},21,[465,794,528],{"class":471},[465,796,797],{"class":531},"csp",[465,799,485],{"class":471},[465,801,488],{"class":471},[465,803,618],{"class":471},[465,805,539],{"class":471},[465,807,809],{"class":808},"swJcz","resourceDomains",[465,811,485],{"class":471},[465,813,488],{"class":471},[465,815,816],{"class":471}," [],",[465,818,539],{"class":471},[465,820,821],{"class":808},"connectDomains",[465,823,485],{"class":471},[465,825,488],{"class":471},[465,827,828],{"class":471}," []",[465,830,655],{"class":471},[465,832,834],{"class":467,"line":833},22,[465,835,735],{"class":471},[465,837,839],{"class":467,"line":838},23,[465,840,841],{"class":471},"  }\n",[465,843,845],{"class":467,"line":844},24,[465,846,847],{"class":471},"}\n",[328,849,850,852,853,855,856,862],{},[314,851,316],{}," is the MCP Apps pointer. Follow up with ",[314,854,320],{}," on the ",[348,857,858,859],{},"same ",[314,860,861],{},"mcp-session-id"," to fetch the HTML body.",[323,864,866],{"id":865},"output-semantic-failure-soft-failure","Output — semantic failure (soft-failure)",[456,868,870],{"className":458,"code":869,"language":460,"meta":461,"style":461},"{\n  \"ok\": false,\n  \"errors\": [\n    {\n      \"code\": \"element_required\",\n      \"message\": \"Category 'purpose' requires at least one element.\",\n      \"path\": \"elements\",\n      \"fix_hint\": \"Add an element with category_id='purpose'.\"\n    }\n  ],\n  \"meta\": { \"content_hash\": \"sha256-…\", \"version\": \"ai@2026-04-16-beta\", \"warnings\": [] }\n}\n",[314,871,872,876,889,902,906,925,945,965,983,987,991,1047],{"__ignoreMap":461},[465,873,874],{"class":467,"line":468},[465,875,472],{"class":471},[465,877,878,880,882,884,886],{"class":467,"line":475},[465,879,478],{"class":471},[465,881,501],{"class":481},[465,883,485],{"class":471},[465,885,488],{"class":471},[465,887,888],{"class":471}," false,\n",[465,890,891,893,896,898,900],{"class":467,"line":494},[465,892,478],{"class":471},[465,894,895],{"class":481},"errors",[465,897,485],{"class":471},[465,899,488],{"class":471},[465,901,676],{"class":471},[465,903,904],{"class":467,"line":511},[465,905,682],{"class":471},[465,907,908,910,912,914,916,918,921,923],{"class":467,"line":525},[465,909,528],{"class":471},[465,911,314],{"class":500},[465,913,485],{"class":471},[465,915,488],{"class":471},[465,917,539],{"class":471},[465,919,920],{"class":542},"element_required",[465,922,485],{"class":471},[465,924,548],{"class":471},[465,926,927,929,932,934,936,938,941,943],{"class":467,"line":551},[465,928,528],{"class":471},[465,930,931],{"class":500},"message",[465,933,485],{"class":471},[465,935,488],{"class":471},[465,937,539],{"class":471},[465,939,940],{"class":542},"Category 'purpose' requires at least one element.",[465,942,485],{"class":471},[465,944,548],{"class":471},[465,946,947,949,952,954,956,958,961,963],{"class":467,"line":568},[465,948,528],{"class":471},[465,950,951],{"class":500},"path",[465,953,485],{"class":471},[465,955,488],{"class":471},[465,957,539],{"class":471},[465,959,960],{"class":542},"elements",[465,962,485],{"class":471},[465,964,548],{"class":471},[465,966,967,969,972,974,976,978,981],{"class":467,"line":585},[465,968,528],{"class":471},[465,970,971],{"class":500},"fix_hint",[465,973,485],{"class":471},[465,975,488],{"class":471},[465,977,539],{"class":471},[465,979,980],{"class":542},"Add an element with category_id='purpose'.",[465,982,729],{"class":471},[465,984,985],{"class":467,"line":600},[465,986,735],{"class":471},[465,988,989],{"class":467,"line":606},[465,990,741],{"class":471},[465,992,993,995,997,999,1001,1003,1005,1007,1009,1011,1013,1015,1017,1019,1021,1023,1025,1027,1029,1031,1033,1035,1037,1039,1041,1043,1045],{"class":467,"line":658},[465,994,478],{"class":471},[465,996,611],{"class":481},[465,998,485],{"class":471},[465,1000,488],{"class":471},[465,1002,618],{"class":471},[465,1004,539],{"class":471},[465,1006,623],{"class":500},[465,1008,485],{"class":471},[465,1010,488],{"class":471},[465,1012,539],{"class":471},[465,1014,632],{"class":542},[465,1016,485],{"class":471},[465,1018,637],{"class":471},[465,1020,539],{"class":471},[465,1022,391],{"class":500},[465,1024,485],{"class":471},[465,1026,488],{"class":471},[465,1028,539],{"class":471},[465,1030,650],{"class":542},[465,1032,485],{"class":471},[465,1034,637],{"class":471},[465,1036,539],{"class":471},[465,1038,590],{"class":500},[465,1040,485],{"class":471},[465,1042,488],{"class":471},[465,1044,828],{"class":471},[465,1046,655],{"class":471},[465,1048,1049],{"class":467,"line":664},[465,1050,847],{"class":471},[328,1052,1053],{},"No HTML is written when validation fails — the previous session's document (if any) remains untouched.",[323,1055,149],{"id":895},[357,1057,1058,1071],{},[360,1059,1060],{},[363,1061,1062,1065,1068],{},[366,1063,1064],{},"Code",[366,1066,1067],{},"Meaning",[366,1069,1070],{},"Fix",[382,1072,1073,1091,1107,1122],{},[363,1074,1075,1080,1088],{},[387,1076,1077],{},[314,1078,1079],{},"invalid_arguments",[387,1081,1082,1084,1085,1087],{},[314,1083,391],{}," missing or ",[314,1086,435],{}," invalid.",[387,1089,1090],{},"Fix the call.",[363,1092,1093,1098,1101],{},[387,1094,1095],{},[314,1096,1097],{},"parse_error",[387,1099,1100],{},"Datachain shape is malformed.",[387,1102,1103,1104,409],{},"Follow ",[314,1105,1106],{},"errors[].path",[363,1108,1109,1114,1117],{},[387,1110,1111],{},[314,1112,1113],{},"unknown_version",[387,1115,1116],{},"Version is not registered.",[387,1118,1119,1120,409],{},"Call ",[314,1121,55],{},[363,1123,1124,1127,1130],{},[387,1125,1126],{},"Semantic validator codes",[387,1128,1129],{},"Instance is shape-valid but semantically wrong.",[387,1131,1103,1132,409],{},[314,1133,971],{},[323,1135,1137],{"id":1136},"the-two-call-sequence","The two-call sequence",[456,1139,1143],{"className":1140,"code":1142,"language":699},[1141],"language-text","  ┌─ tools/call render_datachain ──┐         slot(session) ← HTML\n  │   mcp-session-id: S            │────────►┌──────────┐\n  │                                │         │ htmlSlots│\n  │                                ◄─────────│  per S   │\n  └────────────────────────────────┘         └──────────┘\n                                                   ▲\n  ┌─ resources/read ui://…────────┐                │\n  │   mcp-session-id: S           │────────────────┘\n  │                               ◄── text/html;profile=mcp-app\n  └───────────────────────────────┘\n",[314,1144,1142],{"__ignoreMap":461},[328,1146,1147,1148,1150,1151,1154,1155,1157,1158,409],{},"The ",[314,1149,861],{}," header must match on both calls. See ",[306,1152,45],{"href":1153},"/mcp/resources"," for what ",[314,1156,320],{}," returns when called before any ",[314,1159,91],{},[323,1161,1163],{"id":1162},"example","Example",[1165,1166,1167,1548],"code-group",{},[456,1168,1173],{"className":1169,"code":1170,"filename":1171,"language":1172,"meta":461,"style":461},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","SID=$(uuidgen)\n\n# render\ncurl -s https://api.dtpr.io/mcp \\\n  -H 'content-type: application/json' \\\n  -H \"mcp-session-id: $SID\" \\\n  --data \"{\n    \\\"jsonrpc\\\":\\\"2.0\\\",\\\"id\\\":1,\n    \\\"method\\\":\\\"tools/call\\\",\n    \\\"params\\\":{\n      \\\"name\\\":\\\"render_datachain\\\",\n      \\\"arguments\\\":{\n        \\\"version\\\":\\\"ai@2026-04-16-beta\\\",\n        \\\"datachain\\\":{\n          \\\"schema_version\\\":\\\"ai@2026-04-16-beta\\\",\n          \\\"elements\\\":[{\\\"element_id\\\":\\\"purpose.example\\\",\\\"category_id\\\":\\\"purpose\\\"}]\n        }\n      }\n    }\n  }\"\n\n# fetch rendered HTML\ncurl -s https://api.dtpr.io/mcp \\\n  -H 'content-type: application/json' \\\n  -H \"mcp-session-id: $SID\" \\\n  --data '{\n    \"jsonrpc\":\"2.0\",\"id\":2,\n    \"method\":\"resources/read\",\n    \"params\":{\"uri\":\"ui://dtpr/datachain/view.html\"}\n  }'\n","curl","bash",[314,1174,1175,1189,1194,1200,1213,1229,1245,1254,1286,1306,1318,1338,1349,1368,1378,1398,1446,1451,1456,1460,1467,1471,1476,1486,1498,1513,1522,1528,1534,1540],{"__ignoreMap":461},[465,1176,1177,1180,1183,1186],{"class":467,"line":468},[465,1178,1179],{"class":722},"SID",[465,1181,1182],{"class":471},"=$(",[465,1184,1185],{"class":500},"uuidgen",[465,1187,1188],{"class":471},")\n",[465,1190,1191],{"class":467,"line":475},[465,1192,1193],{"emptyLinePlaceholder":288},"\n",[465,1195,1196],{"class":467,"line":494},[465,1197,1199],{"class":1198},"sHwdD","# render\n",[465,1201,1202,1204,1207,1210],{"class":467,"line":511},[465,1203,1171],{"class":500},[465,1205,1206],{"class":542}," -s",[465,1208,1209],{"class":542}," https://api.dtpr.io/mcp",[465,1211,1212],{"class":722}," \\\n",[465,1214,1215,1218,1221,1224,1227],{"class":467,"line":525},[465,1216,1217],{"class":542},"  -H",[465,1219,1220],{"class":471}," '",[465,1222,1223],{"class":542},"content-type: application/json",[465,1225,1226],{"class":471},"'",[465,1228,1212],{"class":722},[465,1230,1231,1233,1235,1238,1241,1243],{"class":467,"line":551},[465,1232,1217],{"class":542},[465,1234,539],{"class":471},[465,1236,1237],{"class":542},"mcp-session-id: ",[465,1239,1240],{"class":722},"$SID",[465,1242,485],{"class":471},[465,1244,1212],{"class":722},[465,1246,1247,1250,1252],{"class":467,"line":568},[465,1248,1249],{"class":542},"  --data",[465,1251,539],{"class":471},[465,1253,472],{"class":542},[465,1255,1256,1259,1262,1265,1267,1269,1272,1274,1276,1278,1281,1283],{"class":467,"line":585},[465,1257,1258],{"class":722},"    \\\"",[465,1260,1261],{"class":542},"jsonrpc",[465,1263,1264],{"class":722},"\\\"",[465,1266,488],{"class":542},[465,1268,1264],{"class":722},[465,1270,1271],{"class":542},"2.0",[465,1273,1264],{"class":722},[465,1275,637],{"class":542},[465,1277,1264],{"class":722},[465,1279,1280],{"class":542},"id",[465,1282,1264],{"class":722},[465,1284,1285],{"class":542},":1,\n",[465,1287,1288,1290,1293,1295,1297,1299,1302,1304],{"class":467,"line":600},[465,1289,1258],{"class":722},[465,1291,1292],{"class":542},"method",[465,1294,1264],{"class":722},[465,1296,488],{"class":542},[465,1298,1264],{"class":722},[465,1300,1301],{"class":542},"tools/call",[465,1303,1264],{"class":722},[465,1305,548],{"class":542},[465,1307,1308,1310,1313,1315],{"class":467,"line":606},[465,1309,1258],{"class":722},[465,1311,1312],{"class":542},"params",[465,1314,1264],{"class":722},[465,1316,1317],{"class":542},":{\n",[465,1319,1320,1323,1326,1328,1330,1332,1334,1336],{"class":467,"line":658},[465,1321,1322],{"class":722},"      \\\"",[465,1324,1325],{"class":542},"name",[465,1327,1264],{"class":722},[465,1329,488],{"class":542},[465,1331,1264],{"class":722},[465,1333,91],{"class":542},[465,1335,1264],{"class":722},[465,1337,548],{"class":542},[465,1339,1340,1342,1345,1347],{"class":467,"line":664},[465,1341,1322],{"class":722},[465,1343,1344],{"class":542},"arguments",[465,1346,1264],{"class":722},[465,1348,1317],{"class":542},[465,1350,1351,1354,1356,1358,1360,1362,1364,1366],{"class":467,"line":679},[465,1352,1353],{"class":722},"        \\\"",[465,1355,391],{"class":542},[465,1357,1264],{"class":722},[465,1359,488],{"class":542},[465,1361,1264],{"class":722},[465,1363,650],{"class":542},[465,1365,1264],{"class":722},[465,1367,548],{"class":542},[465,1369,1370,1372,1374,1376],{"class":467,"line":685},[465,1371,1353],{"class":722},[465,1373,416],{"class":542},[465,1375,1264],{"class":722},[465,1377,1317],{"class":542},[465,1379,1380,1383,1386,1388,1390,1392,1394,1396],{"class":467,"line":706},[465,1381,1382],{"class":722},"          \\\"",[465,1384,1385],{"class":542},"schema_version",[465,1387,1264],{"class":722},[465,1389,488],{"class":542},[465,1391,1264],{"class":722},[465,1393,650],{"class":542},[465,1395,1264],{"class":722},[465,1397,548],{"class":542},[465,1399,1400,1402,1404,1406,1409,1411,1414,1416,1418,1420,1423,1425,1427,1429,1432,1434,1436,1438,1441,1443],{"class":467,"line":732},[465,1401,1382],{"class":722},[465,1403,960],{"class":542},[465,1405,1264],{"class":722},[465,1407,1408],{"class":542},":[{",[465,1410,1264],{"class":722},[465,1412,1413],{"class":542},"element_id",[465,1415,1264],{"class":722},[465,1417,488],{"class":542},[465,1419,1264],{"class":722},[465,1421,1422],{"class":542},"purpose.example",[465,1424,1264],{"class":722},[465,1426,637],{"class":542},[465,1428,1264],{"class":722},[465,1430,1431],{"class":542},"category_id",[465,1433,1264],{"class":722},[465,1435,488],{"class":542},[465,1437,1264],{"class":722},[465,1439,1440],{"class":542},"purpose",[465,1442,1264],{"class":722},[465,1444,1445],{"class":542},"}]\n",[465,1447,1448],{"class":467,"line":738},[465,1449,1450],{"class":542},"        }\n",[465,1452,1453],{"class":467,"line":744},[465,1454,1455],{"class":542},"      }\n",[465,1457,1458],{"class":467,"line":758},[465,1459,735],{"class":542},[465,1461,1462,1465],{"class":467,"line":772},[465,1463,1464],{"class":542},"  }",[465,1466,729],{"class":471},[465,1468,1469],{"class":467,"line":792},[465,1470,1193],{"emptyLinePlaceholder":288},[465,1472,1473],{"class":467,"line":833},[465,1474,1475],{"class":1198},"# fetch rendered HTML\n",[465,1477,1478,1480,1482,1484],{"class":467,"line":838},[465,1479,1171],{"class":500},[465,1481,1206],{"class":542},[465,1483,1209],{"class":542},[465,1485,1212],{"class":722},[465,1487,1488,1490,1492,1494,1496],{"class":467,"line":844},[465,1489,1217],{"class":542},[465,1491,1220],{"class":471},[465,1493,1223],{"class":542},[465,1495,1226],{"class":471},[465,1497,1212],{"class":722},[465,1499,1501,1503,1505,1507,1509,1511],{"class":467,"line":1500},25,[465,1502,1217],{"class":542},[465,1504,539],{"class":471},[465,1506,1237],{"class":542},[465,1508,1240],{"class":722},[465,1510,485],{"class":471},[465,1512,1212],{"class":722},[465,1514,1516,1518,1520],{"class":467,"line":1515},26,[465,1517,1249],{"class":542},[465,1519,1220],{"class":471},[465,1521,472],{"class":542},[465,1523,1525],{"class":467,"line":1524},27,[465,1526,1527],{"class":542},"    \"jsonrpc\":\"2.0\",\"id\":2,\n",[465,1529,1531],{"class":467,"line":1530},28,[465,1532,1533],{"class":542},"    \"method\":\"resources/read\",\n",[465,1535,1537],{"class":467,"line":1536},29,[465,1538,1539],{"class":542},"    \"params\":{\"uri\":\"ui://dtpr/datachain/view.html\"}\n",[465,1541,1543,1545],{"class":467,"line":1542},30,[465,1544,1464],{"class":542},[465,1546,1547],{"class":471},"'\n",[456,1549,1551],{"className":458,"code":1550,"filename":1301,"language":460,"meta":461,"style":461},"{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"render_datachain\",\n    \"arguments\": {\n      \"version\": \"ai@2026-04-16-beta\",\n      \"datachain\": { \"schema_version\": \"ai@2026-04-16-beta\", \"elements\": [] },\n      \"locale\": \"en\"\n    }\n  }\n}\n",[314,1552,1553,1557,1575,1590,1608,1620,1638,1650,1668,1709,1726,1730,1734],{"__ignoreMap":461},[465,1554,1555],{"class":467,"line":468},[465,1556,472],{"class":471},[465,1558,1559,1561,1563,1565,1567,1569,1571,1573],{"class":467,"line":475},[465,1560,478],{"class":471},[465,1562,1261],{"class":481},[465,1564,485],{"class":471},[465,1566,488],{"class":471},[465,1568,539],{"class":471},[465,1570,1271],{"class":542},[465,1572,485],{"class":471},[465,1574,548],{"class":471},[465,1576,1577,1579,1581,1583,1585,1588],{"class":467,"line":494},[465,1578,478],{"class":471},[465,1580,1280],{"class":481},[465,1582,485],{"class":471},[465,1584,488],{"class":471},[465,1586,1587],{"class":531}," 1",[465,1589,548],{"class":471},[465,1591,1592,1594,1596,1598,1600,1602,1604,1606],{"class":467,"line":511},[465,1593,478],{"class":471},[465,1595,1292],{"class":481},[465,1597,485],{"class":471},[465,1599,488],{"class":471},[465,1601,539],{"class":471},[465,1603,1301],{"class":542},[465,1605,485],{"class":471},[465,1607,548],{"class":471},[465,1609,1610,1612,1614,1616,1618],{"class":467,"line":525},[465,1611,478],{"class":471},[465,1613,1312],{"class":481},[465,1615,485],{"class":471},[465,1617,488],{"class":471},[465,1619,491],{"class":471},[465,1621,1622,1624,1626,1628,1630,1632,1634,1636],{"class":467,"line":551},[465,1623,497],{"class":471},[465,1625,1325],{"class":500},[465,1627,485],{"class":471},[465,1629,488],{"class":471},[465,1631,539],{"class":471},[465,1633,91],{"class":542},[465,1635,485],{"class":471},[465,1637,548],{"class":471},[465,1639,1640,1642,1644,1646,1648],{"class":467,"line":568},[465,1641,497],{"class":471},[465,1643,1344],{"class":500},[465,1645,485],{"class":471},[465,1647,488],{"class":471},[465,1649,491],{"class":471},[465,1651,1652,1654,1656,1658,1660,1662,1664,1666],{"class":467,"line":585},[465,1653,528],{"class":471},[465,1655,391],{"class":531},[465,1657,485],{"class":471},[465,1659,488],{"class":471},[465,1661,539],{"class":471},[465,1663,650],{"class":542},[465,1665,485],{"class":471},[465,1667,548],{"class":471},[465,1669,1670,1672,1674,1676,1678,1680,1682,1684,1686,1688,1690,1692,1694,1696,1698,1700,1702,1704,1706],{"class":467,"line":600},[465,1671,528],{"class":471},[465,1673,416],{"class":531},[465,1675,485],{"class":471},[465,1677,488],{"class":471},[465,1679,618],{"class":471},[465,1681,539],{"class":471},[465,1683,1385],{"class":808},[465,1685,485],{"class":471},[465,1687,488],{"class":471},[465,1689,539],{"class":471},[465,1691,650],{"class":542},[465,1693,485],{"class":471},[465,1695,637],{"class":471},[465,1697,539],{"class":471},[465,1699,960],{"class":808},[465,1701,485],{"class":471},[465,1703,488],{"class":471},[465,1705,828],{"class":471},[465,1707,1708],{"class":471}," },\n",[465,1710,1711,1713,1715,1717,1719,1721,1724],{"class":467,"line":606},[465,1712,528],{"class":471},[465,1714,435],{"class":531},[465,1716,485],{"class":471},[465,1718,488],{"class":471},[465,1720,539],{"class":471},[465,1722,1723],{"class":542},"en",[465,1725,729],{"class":471},[465,1727,1728],{"class":467,"line":658},[465,1729,735],{"class":471},[465,1731,1732],{"class":467,"line":664},[465,1733,841],{"class":471},[465,1735,1736],{"class":467,"line":679},[465,1737,847],{"class":471},[323,1739,1741],{"id":1740},"see-also","See also",[1743,1744,1745,1751,1758],"ul",{},[1746,1747,1748,1750],"li",{},[306,1749,45],{"href":1153}," — session-scoped HTML slot.",[1746,1752,1753,1757],{},[306,1754,1755],{"href":339},[314,1756,189],{}," — the SSR renderer producing the HTML.",[1746,1759,1760,1764],{},[306,1761,1762],{"href":333},[314,1763,87],{}," — same validation, no rendering.",[1766,1767,1768],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":461,"searchDepth":475,"depth":475,"links":1770},[1771,1772,1773,1774,1775,1776,1777,1778],{"id":325,"depth":475,"text":326},{"id":354,"depth":475,"text":355},{"id":453,"depth":475,"text":454},{"id":865,"depth":475,"text":866},{"id":895,"depth":475,"text":149},{"id":1136,"depth":475,"text":1137},{"id":1162,"depth":475,"text":1163},{"id":1740,"depth":475,"text":1741},"Render a datachain instance as an MCP App HTML document served via resources/read.","md",null,{},{"title":91,"description":1779},"-ZdWSgVnGeg9toDXosETA66HqHgnuG92BDbzc1ej4_I",[1786,1788],{"title":87,"path":88,"stem":89,"description":1787,"children":-1},"Validate a datachain instance against a schema version — always isError:false.",{"title":95,"path":96,"stem":97,"description":1789,"children":-1},"Resolve a composed-icon URL for an element + optional variant.",1779049698402]