[{"data":1,"prerenderedAt":1162},["ShallowReactive",2],{"navigation_docs_en":3,"dtpr-schemas-index":287,"-en-mcp-connection":295,"-en-mcp-connection-surround":1157},[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":37,"body":297,"description":1151,"extension":1152,"links":1153,"meta":1154,"navigation":288,"path":38,"seo":1155,"stem":39,"__hash__":1156},"docs_en/en/2.mcp/1.connection.md",{"type":298,"value":299,"toc":1140},"minimark",[300,305,310,321,392,404,408,432,436,538,545,549,563,573,577,584,588,639,835,839,1035,1039,1097,1101,1136],[301,302,304],"callout",{"type":303},"info","The DTPR MCP server implements a read-only subset of the Model Context Protocol over Streamable HTTP. There is no SSE channel and no server-initiated notifications.",[306,307,309],"h2",{"id":308},"endpoint","Endpoint",[311,312,317],"pre",{"className":313,"code":315,"language":316},[314],"language-text","POST https://api.dtpr.io/mcp\n","text",[318,319,315],"code",{"__ignoreMap":320},"",[322,323,324,340],"table",{},[325,326,327],"thead",{},[328,329,330,334,337],"tr",{},[331,332,333],"th",{},"Header",[331,335,336],{},"Value",[331,338,339],{},"Required",[341,342,343,359,373],"tbody",{},[328,344,345,351,356],{},[346,347,348],"td",{},[318,349,350],{},"Content-Type",[346,352,353],{},[318,354,355],{},"application/json",[346,357,358],{},"yes",[328,360,361,366,370],{},[346,362,363],{},[318,364,365],{},"Accept",[346,367,368],{},[318,369,355],{},[346,371,372],{},"recommended",[328,374,375,380,383],{},[346,376,377],{},[318,378,379],{},"mcp-session-id",[346,381,382],{},"Any opaque string chosen by the client",[346,384,385,386,388,389],{},"yes for ",[318,387,91],{}," → ",[318,390,391],{},"resources/read",[393,394,395,398,399,403],"p",{},[318,396,397],{},"GET /mcp"," returns ",[400,401,402],"strong",{},"405 Method Not Allowed",". Server-initiated streams are not supported.",[306,405,407],{"id":406},"protocol-version","Protocol version",[393,409,410,411,416,417,420,421,423,424,427,428,431],{},"The server advertises protocol version ",[400,412,413],{},[318,414,415],{},"2025-06-18"," in the ",[318,418,419],{},"initialize"," response. The ",[318,422,419],{}," handshake is optional — you can call ",[318,425,426],{},"tools/list"," or ",[318,429,430],{},"tools/call"," directly — but clients that implement it will receive the capability set.",[306,433,435],{"id":434},"supported-methods","Supported methods",[322,437,438,448],{},[325,439,440],{},[328,441,442,445],{},[331,443,444],{},"Method",[331,446,447],{},"Response shape",[341,449,450,461,471,481,492,503,515,526],{},[328,451,452,456],{},[346,453,454],{},[318,455,419],{},[346,457,458],{},[318,459,460],{},"{ protocolVersion, serverInfo, capabilities }",[328,462,463,468],{},[346,464,465],{},[318,466,467],{},"notifications/initialized",[346,469,470],{},"no response (notification)",[328,472,473,478],{},[346,474,475],{},[318,476,477],{},"initialized",[346,479,480],{},"no response (unprefixed alias)",[328,482,483,487],{},[346,484,485],{},[318,486,426],{},[346,488,489],{},[318,490,491],{},"{ tools: ToolDescriptor[] }",[328,493,494,498],{},[346,495,496],{},[318,497,430],{},[346,499,500],{},[318,501,502],{},"{ structuredContent, content, isError? }",[328,504,505,510],{},[346,506,507],{},[318,508,509],{},"resources/list",[346,511,512],{},[318,513,514],{},"{ resources: ResourceDescriptor[] }",[328,516,517,521],{},[346,518,519],{},[318,520,391],{},[346,522,523],{},[318,524,525],{},"{ contents: [{ uri, mimeType, text }] }",[328,527,528,533],{},[346,529,530],{},[318,531,532],{},"ping",[346,534,535],{},[318,536,537],{},"{}",[393,539,540,541,544],{},"Unknown methods return JSON-RPC error ",[318,542,543],{},"-32601 Method not found",".",[306,546,548],{"id":547},"sessions","Sessions",[393,550,551,553,554,388,556,559,560,562],{},[318,552,379],{}," isolates cross-call state per session. Its only current use is the ",[318,555,91],{},[318,557,558],{},"resources/read ui://dtpr/datachain/view.html"," handshake: the HTML produced by a tool call lands in a per-session slot and is returned verbatim to the ",[318,561,391],{}," on the same session id.",[393,564,565,566,569,570,572],{},"Clients that omit the header share a single fallback slot (",[318,567,568],{},"__dtpr_default_session__","). Concurrent callers that both omit the header can read each other's last-rendered HTML — set ",[318,571,379],{}," to a per-session value to avoid that.",[306,574,576],{"id":575},"batch-requests","Batch requests",[393,578,579,580,583],{},"A JSON array of JSON-RPC requests is processed sequentially; responses are returned in a matching array. Per JSON-RPC 2.0 §6, a batch containing only notifications produces no response body — the server returns ",[400,581,582],{},"HTTP 204 No Content"," instead of an empty array.",[306,585,587],{"id":586},"wire-format","Wire format",[311,589,593],{"className":590,"code":591,"language":592,"meta":320,"style":320},"language-http shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","POST /mcp HTTP/1.1\nHost: api.dtpr.io\nContent-Type: application/json\nAccept: application/json\nmcp-session-id: 01HR...\n\n{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{}}\n","http",[318,594,595,603,609,615,621,627,633],{"__ignoreMap":320},[596,597,600],"span",{"class":598,"line":599},"line",1,[596,601,602],{},"POST /mcp HTTP/1.1\n",[596,604,606],{"class":598,"line":605},2,[596,607,608],{},"Host: api.dtpr.io\n",[596,610,612],{"class":598,"line":611},3,[596,613,614],{},"Content-Type: application/json\n",[596,616,618],{"class":598,"line":617},4,[596,619,620],{},"Accept: application/json\n",[596,622,624],{"class":598,"line":623},5,[596,625,626],{},"mcp-session-id: 01HR...\n",[596,628,630],{"class":598,"line":629},6,[596,631,632],{"emptyLinePlaceholder":288},"\n",[596,634,636],{"class":598,"line":635},7,[596,637,638],{},"{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{}}\n",[311,640,644],{"className":641,"code":642,"language":643,"meta":320,"style":320},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"result\": {\n    \"protocolVersion\": \"2025-06-18\",\n    \"serverInfo\": { \"name\": \"dtpr-api\", \"version\": \"0.1.0\" },\n    \"capabilities\": { \"tools\": {}, \"resources\": {} }\n  }\n}\n","json",[318,645,646,652,679,696,710,731,783,823,829],{"__ignoreMap":320},[596,647,648],{"class":598,"line":599},[596,649,651],{"class":650},"sMK4o","{\n",[596,653,654,657,661,664,667,670,674,676],{"class":598,"line":605},[596,655,656],{"class":650},"  \"",[596,658,660],{"class":659},"spNyl","jsonrpc",[596,662,663],{"class":650},"\"",[596,665,666],{"class":650},":",[596,668,669],{"class":650}," \"",[596,671,673],{"class":672},"sfazB","2.0",[596,675,663],{"class":650},[596,677,678],{"class":650},",\n",[596,680,681,683,686,688,690,694],{"class":598,"line":611},[596,682,656],{"class":650},[596,684,685],{"class":659},"id",[596,687,663],{"class":650},[596,689,666],{"class":650},[596,691,693],{"class":692},"sbssI"," 1",[596,695,678],{"class":650},[596,697,698,700,703,705,707],{"class":598,"line":617},[596,699,656],{"class":650},[596,701,702],{"class":659},"result",[596,704,663],{"class":650},[596,706,666],{"class":650},[596,708,709],{"class":650}," {\n",[596,711,712,715,719,721,723,725,727,729],{"class":598,"line":623},[596,713,714],{"class":650},"    \"",[596,716,718],{"class":717},"sBMFI","protocolVersion",[596,720,663],{"class":650},[596,722,666],{"class":650},[596,724,669],{"class":650},[596,726,415],{"class":672},[596,728,663],{"class":650},[596,730,678],{"class":650},[596,732,733,735,738,740,742,745,747,750,752,754,756,759,761,764,766,769,771,773,775,778,780],{"class":598,"line":629},[596,734,714],{"class":650},[596,736,737],{"class":717},"serverInfo",[596,739,663],{"class":650},[596,741,666],{"class":650},[596,743,744],{"class":650}," {",[596,746,669],{"class":650},[596,748,749],{"class":692},"name",[596,751,663],{"class":650},[596,753,666],{"class":650},[596,755,669],{"class":650},[596,757,758],{"class":672},"dtpr-api",[596,760,663],{"class":650},[596,762,763],{"class":650},",",[596,765,669],{"class":650},[596,767,768],{"class":692},"version",[596,770,663],{"class":650},[596,772,666],{"class":650},[596,774,669],{"class":650},[596,776,777],{"class":672},"0.1.0",[596,779,663],{"class":650},[596,781,782],{"class":650}," },\n",[596,784,785,787,790,792,794,796,798,801,803,805,808,810,813,815,817,820],{"class":598,"line":635},[596,786,714],{"class":650},[596,788,789],{"class":717},"capabilities",[596,791,663],{"class":650},[596,793,666],{"class":650},[596,795,744],{"class":650},[596,797,669],{"class":650},[596,799,800],{"class":692},"tools",[596,802,663],{"class":650},[596,804,666],{"class":650},[596,806,807],{"class":650}," {},",[596,809,669],{"class":650},[596,811,812],{"class":692},"resources",[596,814,663],{"class":650},[596,816,666],{"class":650},[596,818,819],{"class":650}," {}",[596,821,822],{"class":650}," }\n",[596,824,826],{"class":598,"line":825},8,[596,827,828],{"class":650},"  }\n",[596,830,832],{"class":598,"line":831},9,[596,833,834],{"class":650},"}\n",[306,836,838],{"id":837},"example-initialize-list-tools","Example: initialize + list tools",[840,841,842,921],"code-group",{},[311,843,848],{"className":844,"code":845,"filename":846,"language":847,"meta":320,"style":320},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -s https://api.dtpr.io/mcp \\\n  -H 'content-type: application/json' \\\n  -H 'mcp-session-id: demo-session' \\\n  --data '[\n    {\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\"},\n    {\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/list\"}\n  ]'\n","curl","bash",[318,849,850,864,880,893,903,908,913],{"__ignoreMap":320},[596,851,852,854,857,860],{"class":598,"line":599},[596,853,846],{"class":717},[596,855,856],{"class":672}," -s",[596,858,859],{"class":672}," https://api.dtpr.io/mcp",[596,861,863],{"class":862},"sTEyZ"," \\\n",[596,865,866,869,872,875,878],{"class":598,"line":605},[596,867,868],{"class":672},"  -H",[596,870,871],{"class":650}," '",[596,873,874],{"class":672},"content-type: application/json",[596,876,877],{"class":650},"'",[596,879,863],{"class":862},[596,881,882,884,886,889,891],{"class":598,"line":611},[596,883,868],{"class":672},[596,885,871],{"class":650},[596,887,888],{"class":672},"mcp-session-id: demo-session",[596,890,877],{"class":650},[596,892,863],{"class":862},[596,894,895,898,900],{"class":598,"line":617},[596,896,897],{"class":672},"  --data",[596,899,871],{"class":650},[596,901,902],{"class":672},"[\n",[596,904,905],{"class":598,"line":623},[596,906,907],{"class":672},"    {\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\"},\n",[596,909,910],{"class":598,"line":629},[596,911,912],{"class":672},"    {\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/list\"}\n",[596,914,915,918],{"class":598,"line":635},[596,916,917],{"class":672},"  ]",[596,919,920],{"class":650},"'\n",[311,922,925],{"className":641,"code":923,"filename":924,"language":643,"meta":320,"style":320},"[\n  { \"jsonrpc\": \"2.0\", \"id\": 1, \"method\": \"initialize\" },\n  { \"jsonrpc\": \"2.0\", \"id\": 2, \"method\": \"tools/list\" }\n]\n","wire",[318,926,927,931,981,1030],{"__ignoreMap":320},[596,928,929],{"class":598,"line":599},[596,930,902],{"class":650},[596,932,933,936,938,940,942,944,946,948,950,952,954,956,958,960,962,964,966,969,971,973,975,977,979],{"class":598,"line":605},[596,934,935],{"class":650},"  {",[596,937,669],{"class":650},[596,939,660],{"class":659},[596,941,663],{"class":650},[596,943,666],{"class":650},[596,945,669],{"class":650},[596,947,673],{"class":672},[596,949,663],{"class":650},[596,951,763],{"class":650},[596,953,669],{"class":650},[596,955,685],{"class":659},[596,957,663],{"class":650},[596,959,666],{"class":650},[596,961,693],{"class":692},[596,963,763],{"class":650},[596,965,669],{"class":650},[596,967,968],{"class":659},"method",[596,970,663],{"class":650},[596,972,666],{"class":650},[596,974,669],{"class":650},[596,976,419],{"class":672},[596,978,663],{"class":650},[596,980,782],{"class":650},[596,982,983,985,987,989,991,993,995,997,999,1001,1003,1005,1007,1009,1012,1014,1016,1018,1020,1022,1024,1026,1028],{"class":598,"line":611},[596,984,935],{"class":650},[596,986,669],{"class":650},[596,988,660],{"class":659},[596,990,663],{"class":650},[596,992,666],{"class":650},[596,994,669],{"class":650},[596,996,673],{"class":672},[596,998,663],{"class":650},[596,1000,763],{"class":650},[596,1002,669],{"class":650},[596,1004,685],{"class":659},[596,1006,663],{"class":650},[596,1008,666],{"class":650},[596,1010,1011],{"class":692}," 2",[596,1013,763],{"class":650},[596,1015,669],{"class":650},[596,1017,968],{"class":659},[596,1019,663],{"class":650},[596,1021,666],{"class":650},[596,1023,669],{"class":650},[596,1025,426],{"class":672},[596,1027,663],{"class":650},[596,1029,822],{"class":650},[596,1031,1032],{"class":598,"line":617},[596,1033,1034],{"class":650},"]\n",[306,1036,1038],{"id":1037},"notes","Notes",[1040,1041,1042,1053,1069],"ul",{},[1043,1044,1045,1048,1049,1052],"li",{},[400,1046,1047],{},"No SSE."," A single POST returns a single JSON response. If your MCP client insists on ",[318,1050,1051],{},"text/event-stream",", use a Streamable-HTTP-aware transport that falls through to JSON.",[1043,1054,1055,1058,1059,1061,1062,1065,1066,544],{},[400,1056,1057],{},"JSON-RPC 2.0 strictness."," ",[318,1060,660],{}," must be exactly ",[318,1063,1064],{},"\"2.0\"","; other values return ",[318,1067,1068],{},"-32600 Invalid Request",[1043,1070,1071,1074,1075,1078,1079,1082,1083,1086,1087,1096],{},[400,1072,1073],{},"Why hand-rolled."," The ",[318,1076,1077],{},"@modelcontextprotocol/sdk"," server transport pulls CJS-only ",[318,1080,1081],{},"Ajv",", which workerd's ",[318,1084,1085],{},"nodejs_compat"," cannot load. See ",[1088,1089,1093],"a",{"href":1090,"rel":1091},"https://github.com/helpful-places/dtpr/blob/main/api/docs/mcp-fallback.md",[1092],"nofollow",[318,1094,1095],{},"api/docs/mcp-fallback.md"," for the full rationale.",[306,1098,1100],{"id":1099},"see-also","See also",[1040,1102,1103,1120,1130],{},[1043,1104,1105,1108,1109,1112,1113,1112,1116,1119],{},[1088,1106,41],{"href":1107},"/mcp/envelope"," — ",[318,1110,1111],{},"ok"," / ",[318,1114,1115],{},"err",[318,1117,1118],{},"_meta"," shape.",[1043,1121,1122,1125,1126,1129],{},[1088,1123,45],{"href":1124},"/mcp/resources"," — the ",[318,1127,1128],{},"ui://dtpr/datachain/view.html"," MCP App resource.",[1043,1131,1132,1135],{},[1088,1133,49],{"href":1134},"/mcp/tools"," — the 9 tools.",[1137,1138,1139],"style",{},"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 .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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}",{"title":320,"searchDepth":605,"depth":605,"links":1141},[1142,1143,1144,1145,1146,1147,1148,1149,1150],{"id":308,"depth":605,"text":309},{"id":406,"depth":605,"text":407},{"id":434,"depth":605,"text":435},{"id":547,"depth":605,"text":548},{"id":575,"depth":605,"text":576},{"id":586,"depth":605,"text":587},{"id":837,"depth":605,"text":838},{"id":1037,"depth":605,"text":1038},{"id":1099,"depth":605,"text":1100},"Endpoint, headers, wire format, and batch behavior for the DTPR MCP server.","md",null,{},{"title":37,"description":1151},"mc-XXFg6wrFZBkVazTSov68zqUTm7IR3QUq-vz4Xqaw",[1158,1160],{"title":31,"path":32,"stem":33,"description":1159,"children":-1},"Overview of the DTPR MCP server — endpoint, tools, resources, prompts, envelope semantics.",{"title":41,"path":42,"stem":43,"description":1161,"children":-1},"ok / err payload shape, _meta fields, and soft-failure semantics shared across every tool.",1779049689881]