[{"data":1,"prerenderedAt":1220},["ShallowReactive",2],{"navigation_docs":3,"-resources-static-and-structure":272,"-resources-static-and-structure-surround":1215},[4,40,70,99,122,151,184,243],{"title":5,"path":6,"stem":7,"children":8,"page":39},"Getting Started","\u002Fgetting-started","1.getting-started",[9,14,19,24,29,34],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-book-open",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F3.configuration","i-lucide-settings",{"title":25,"path":26,"stem":27,"icon":28},"MCP Inspector","\u002Fgetting-started\u002Finspector","1.getting-started\u002F4.inspector","i-lucide-circuit-board",{"title":30,"path":31,"stem":32,"icon":33},"Connection","\u002Fgetting-started\u002Fconnection","1.getting-started\u002F5.connection","i-lucide-plug",{"title":35,"path":36,"stem":37,"icon":38},"Agent Skills","\u002Fgetting-started\u002Fagent-skills","1.getting-started\u002F6.agent-skills","i-lucide-sparkles",false,{"title":41,"path":42,"stem":43,"children":44,"page":39},"Tools","\u002Ftools","2.tools",[45,50,55,60,65],{"title":46,"path":47,"stem":48,"icon":49},"Overview","\u002Ftools\u002Foverview","2.tools\u002F0.overview","i-lucide-wrench",{"title":51,"path":52,"stem":53,"icon":54},"Schema, handler & returns","\u002Ftools\u002Fschema-handler","2.tools\u002F1.schema-handler","i-lucide-braces",{"title":56,"path":57,"stem":58,"icon":59},"Annotations & input examples","\u002Ftools\u002Fannotations","2.tools\u002F2.annotations","i-lucide-badge-info",{"title":61,"path":62,"stem":63,"icon":64},"Errors & caching","\u002Ftools\u002Ferrors-caching","2.tools\u002F3.errors-caching","i-lucide-shield",{"title":66,"path":67,"stem":68,"icon":69},"Groups, files & dynamic registration","\u002Ftools\u002Fgroups-organization","2.tools\u002F4.groups-organization","i-lucide-tags",{"title":71,"path":72,"stem":73,"children":74,"page":39},"Resources","\u002Fresources","3.resources",[75,79,84,89,94],{"title":46,"path":76,"stem":77,"icon":78},"\u002Fresources\u002Foverview","3.resources\u002F0.overview","i-lucide-package",{"title":80,"path":81,"stem":82,"icon":83},"Static resources & structure","\u002Fresources\u002Fstatic-and-structure","3.resources\u002F1.static-and-structure","i-lucide-file-stack",{"title":85,"path":86,"stem":87,"icon":88},"Templates & handlers","\u002Fresources\u002Ftemplates-and-handlers","3.resources\u002F2.templates-and-handlers","i-lucide-git-branch",{"title":90,"path":91,"stem":92,"icon":93},"Metadata, content & errors","\u002Fresources\u002Fcontent-metadata-errors","3.resources\u002F3.content-metadata-errors","i-lucide-layers",{"title":95,"path":96,"stem":97,"icon":98},"Groups & organization","\u002Fresources\u002Forganization","3.resources\u002F4.organization","i-lucide-folder-tree",{"title":100,"path":101,"stem":102,"children":103,"page":39},"Prompts","\u002Fprompts","4.prompts",[104,108,113,117],{"title":46,"path":105,"stem":106,"icon":107},"\u002Fprompts\u002Foverview","4.prompts\u002F0.overview","i-lucide-message-square",{"title":109,"path":110,"stem":111,"icon":112},"Authoring & structure","\u002Fprompts\u002Fauthoring","4.prompts\u002F1.authoring","i-lucide-pen-line",{"title":114,"path":115,"stem":116,"icon":93},"Input, handler & messages","\u002Fprompts\u002Finput-handler-messages","4.prompts\u002F2.input-handler-messages",{"title":118,"path":119,"stem":120,"icon":121},"Patterns & advanced","\u002Fprompts\u002Fpatterns-advanced","4.prompts\u002F3.patterns-advanced","i-lucide-line-chart",{"title":123,"path":124,"stem":125,"children":126,"page":39},"Handlers","\u002Fhandlers","5.handlers",[127,131,136,141,146],{"title":46,"path":128,"stem":129,"icon":130},"\u002Fhandlers\u002Foverview","5.handlers\u002F0.overview","i-lucide-server",{"title":132,"path":133,"stem":134,"icon":135},"Default & custom handlers","\u002Fhandlers\u002Fdefault-and-custom","5.handlers\u002F1.default-and-custom","i-lucide-toggle-left",{"title":137,"path":138,"stem":139,"icon":140},"Structure & options","\u002Fhandlers\u002Fstructure-and-options","5.handlers\u002F2.structure-and-options","i-lucide-sliders-horizontal",{"title":142,"path":143,"stem":144,"icon":145},"Examples & routing","\u002Fhandlers\u002Fexamples-routing","5.handlers\u002F3.examples-routing","i-lucide-route",{"title":147,"path":148,"stem":149,"icon":150},"Sharing & practices","\u002Fhandlers\u002Fsharing-practices","5.handlers\u002F4.sharing-practices","i-lucide-share-2",{"title":152,"path":153,"stem":154,"children":155,"page":39},"Apps","\u002Fapps","6.apps",[156,160,165,170,174,179],{"title":46,"path":157,"stem":158,"icon":159},"\u002Fapps\u002Foverview","6.apps\u002F0.overview","i-lucide-app-window",{"title":161,"path":162,"stem":163,"icon":164},"Authoring & defineMcpApp","\u002Fapps\u002Fauthoring","6.apps\u002F1.authoring","i-lucide-code-2",{"title":166,"path":167,"stem":168,"icon":169},"useMcpApp() bridge","\u002Fapps\u002Fuse-mcp-app","6.apps\u002F2.use-mcp-app","i-lucide-message-circle",{"title":171,"path":172,"stem":173,"icon":64},"CSP & build pipeline","\u002Fapps\u002Fcsp-and-wiring","6.apps\u002F3.csp-and-wiring",{"title":175,"path":176,"stem":177,"icon":178},"Testing & publishing","\u002Fapps\u002Ftesting-publishing","6.apps\u002F4.testing-publishing","i-lucide-rocket",{"title":180,"path":181,"stem":182,"icon":183},"Patterns & limits","\u002Fapps\u002Fpatterns-reference","6.apps\u002F5.patterns-reference","i-lucide-book-marked",{"title":185,"path":186,"stem":187,"children":188,"page":39},"Advanced Topics","\u002Fadvanced","7.advanced",[189,194,199,204,208,213,218,223,228,233,238],{"title":190,"path":191,"stem":192,"icon":193},"Custom Paths","\u002Fadvanced\u002Fcustom-paths","7.advanced\u002F1.custom-paths","i-lucide-folder",{"title":195,"path":196,"stem":197,"icon":198},"Logging","\u002Fadvanced\u002Flogging","7.advanced\u002F10.logging","i-lucide-scroll-text",{"title":200,"path":201,"stem":202,"icon":203},"MCP Apps Internals","\u002Fadvanced\u002Fmcp-apps-internals","7.advanced\u002F11.mcp-apps-internals","i-lucide-cog",{"title":205,"path":206,"stem":207,"icon":64},"Middleware","\u002Fadvanced\u002Fmiddleware","7.advanced\u002F2.middleware",{"title":209,"path":210,"stem":211,"icon":212},"TypeScript","\u002Fadvanced\u002Ftypescript","7.advanced\u002F3.typescript","i-lucide-type",{"title":214,"path":215,"stem":216,"icon":217},"Hooks","\u002Fadvanced\u002Fhooks","7.advanced\u002F4.hooks","i-lucide-webhook",{"title":219,"path":220,"stem":221,"icon":222},"MCP Evals","\u002Fadvanced\u002Fevals","7.advanced\u002F5.evals","i-lucide-flask-conical",{"title":224,"path":225,"stem":226,"icon":227},"Sessions","\u002Fadvanced\u002Fsessions","7.advanced\u002F6.sessions","i-lucide-database",{"title":229,"path":230,"stem":231,"icon":232},"Dynamic Definitions","\u002Fadvanced\u002Fdynamic-definitions","7.advanced\u002F7.dynamic-definitions","i-lucide-toggle-right",{"title":234,"path":235,"stem":236,"icon":237},"Code Mode","\u002Fadvanced\u002Fcode-mode","7.advanced\u002F8.code-mode","i-lucide-code",{"title":239,"path":240,"stem":241,"icon":242},"Elicitation","\u002Fadvanced\u002Felicitation","7.advanced\u002F9.elicitation","i-lucide-message-square-quote",{"title":244,"path":245,"stem":246,"children":247,"page":39},"Examples","\u002Fexamples","8.examples",[248,253,258,263,268],{"title":249,"path":250,"stem":251,"icon":252},"Authentication","\u002Fexamples\u002Fauthentication","8.examples\u002F1.authentication","i-lucide-shield-check",{"title":254,"path":255,"stem":256,"icon":257},"API Integration","\u002Fexamples\u002Fapi-integration","8.examples\u002F2.api-integration","i-lucide-globe",{"title":259,"path":260,"stem":261,"icon":262},"Common Patterns","\u002Fexamples\u002Fcommon-patterns","8.examples\u002F3.common-patterns","i-lucide-lightbulb",{"title":264,"path":265,"stem":266,"icon":267},"File Operations","\u002Fexamples\u002Ffile-operations","8.examples\u002F4.file-operations","i-lucide-file",{"title":269,"path":270,"stem":271,"icon":107},"Prompt Examples","\u002Fexamples\u002Fprompt-examples","8.examples\u002F5.prompt-examples",{"id":273,"title":80,"body":274,"description":1206,"extension":1207,"links":1208,"meta":1209,"navigation":1210,"path":81,"seo":1211,"stem":82,"__hash__":1214},"docs\u002F3.resources\u002F1.static-and-structure.md",{"type":275,"value":276,"toc":1198},"minimark",[277,282,286,291,299,436,439,469,473,484,842,846,856,929,936,954,963,967,970,1194],[278,279,281],"h2",{"id":280},"static-resources","Static Resources",[283,284,285],"p",{},"Static resources have a fixed URI that doesn't change.",[287,288,290],"h3",{"id":289},"simple-file-resources","Simple File Resources",[283,292,293,294,298],{},"The easiest way to expose a local file is using the ",[295,296,297],"code",{},"file"," property. This automatically handles the URI generation, MIME type detection, and file reading.",[300,301,307],"pre",{"className":302,"code":303,"filename":304,"language":305,"meta":306,"style":306},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { defineMcpResource } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpResource({\n  name: 'readme',\n  description: 'Project README file',\n  file: 'README.md', \u002F\u002F Relative to project root\n})\n","server\u002Fmcp\u002Fresources\u002Freadme.ts","typescript","",[295,308,309,342,349,367,388,405,427],{"__ignoreMap":306},[310,311,314,318,322,326,329,332,335,339],"span",{"class":312,"line":313},"line",1,[310,315,317],{"class":316},"s7zQu","import",[310,319,321],{"class":320},"sMK4o"," {",[310,323,325],{"class":324},"sTEyZ"," defineMcpResource",[310,327,328],{"class":320}," }",[310,330,331],{"class":316}," from",[310,333,334],{"class":320}," '",[310,336,338],{"class":337},"sfazB","@nuxtjs\u002Fmcp-toolkit\u002Fserver",[310,340,341],{"class":320},"'\n",[310,343,345],{"class":312,"line":344},2,[310,346,348],{"emptyLinePlaceholder":347},true,"\n",[310,350,352,355,358,361,364],{"class":312,"line":351},3,[310,353,354],{"class":316},"export",[310,356,357],{"class":316}," default",[310,359,325],{"class":360},"s2Zo4",[310,362,363],{"class":324},"(",[310,365,366],{"class":320},"{\n",[310,368,370,374,377,379,382,385],{"class":312,"line":369},4,[310,371,373],{"class":372},"swJcz","  name",[310,375,376],{"class":320},":",[310,378,334],{"class":320},[310,380,381],{"class":337},"readme",[310,383,384],{"class":320},"'",[310,386,387],{"class":320},",\n",[310,389,391,394,396,398,401,403],{"class":312,"line":390},5,[310,392,393],{"class":372},"  description",[310,395,376],{"class":320},[310,397,334],{"class":320},[310,399,400],{"class":337},"Project README file",[310,402,384],{"class":320},[310,404,387],{"class":320},[310,406,408,411,413,415,418,420,423],{"class":312,"line":407},6,[310,409,410],{"class":372},"  file",[310,412,376],{"class":320},[310,414,334],{"class":320},[310,416,417],{"class":337},"README.md",[310,419,384],{"class":320},[310,421,422],{"class":320},",",[310,424,426],{"class":425},"sHwdD"," \u002F\u002F Relative to project root\n",[310,428,430,433],{"class":312,"line":429},7,[310,431,432],{"class":320},"}",[310,434,435],{"class":324},")\n",[283,437,438],{},"This generates:",[440,441,442,453,459],"ul",{},[443,444,445,449,450],"li",{},[446,447,448],"strong",{},"URI",": ",[295,451,452],{},"file:\u002F\u002F\u002Fpath\u002Fto\u002Fproject\u002FREADME.md",[443,454,455,458],{},[446,456,457],{},"Handler",": Automatically reads the file content",[443,460,461,464,465,468],{},[446,462,463],{},"MIME Type",": Automatically detected (e.g., ",[295,466,467],{},"text\u002Fmarkdown",")",[287,470,472],{"id":471},"custom-static-resources","Custom Static Resources",[283,474,475,476,479,480,483],{},"For more control, you can define the ",[295,477,478],{},"uri"," and ",[295,481,482],{},"handler"," manually:",[300,485,488],{"className":302,"code":486,"filename":487,"language":305,"meta":306,"style":306},"import { readFile } from 'node:fs\u002Fpromises'\nimport { fileURLToPath } from 'node:url'\nimport { defineMcpResource } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpResource({\n  name: 'custom-readme',\n  title: 'README',\n  description: 'Project README file',\n  uri: 'file:\u002F\u002F\u002FREADME.md',\n  metadata: {\n    mimeType: 'text\u002Fmarkdown',\n  },\n  handler: async (uri: URL) => {\n    const filePath = fileURLToPath(uri)\n    const content = await readFile(filePath, 'utf-8')\n    return {\n      contents: [{\n        uri: uri.toString(),\n        mimeType: 'text\u002Fmarkdown',\n        text: content,\n      }],\n    }\n  },\n})\n","server\u002Fmcp\u002Fresources\u002Fcustom-readme.ts",[295,489,490,510,530,548,552,564,579,595,610,627,638,654,660,691,711,742,750,763,785,801,813,824,830,835],{"__ignoreMap":306},[310,491,492,494,496,499,501,503,505,508],{"class":312,"line":313},[310,493,317],{"class":316},[310,495,321],{"class":320},[310,497,498],{"class":324}," readFile",[310,500,328],{"class":320},[310,502,331],{"class":316},[310,504,334],{"class":320},[310,506,507],{"class":337},"node:fs\u002Fpromises",[310,509,341],{"class":320},[310,511,512,514,516,519,521,523,525,528],{"class":312,"line":344},[310,513,317],{"class":316},[310,515,321],{"class":320},[310,517,518],{"class":324}," fileURLToPath",[310,520,328],{"class":320},[310,522,331],{"class":316},[310,524,334],{"class":320},[310,526,527],{"class":337},"node:url",[310,529,341],{"class":320},[310,531,532,534,536,538,540,542,544,546],{"class":312,"line":351},[310,533,317],{"class":316},[310,535,321],{"class":320},[310,537,325],{"class":324},[310,539,328],{"class":320},[310,541,331],{"class":316},[310,543,334],{"class":320},[310,545,338],{"class":337},[310,547,341],{"class":320},[310,549,550],{"class":312,"line":369},[310,551,348],{"emptyLinePlaceholder":347},[310,553,554,556,558,560,562],{"class":312,"line":390},[310,555,354],{"class":316},[310,557,357],{"class":316},[310,559,325],{"class":360},[310,561,363],{"class":324},[310,563,366],{"class":320},[310,565,566,568,570,572,575,577],{"class":312,"line":407},[310,567,373],{"class":372},[310,569,376],{"class":320},[310,571,334],{"class":320},[310,573,574],{"class":337},"custom-readme",[310,576,384],{"class":320},[310,578,387],{"class":320},[310,580,581,584,586,588,591,593],{"class":312,"line":429},[310,582,583],{"class":372},"  title",[310,585,376],{"class":320},[310,587,334],{"class":320},[310,589,590],{"class":337},"README",[310,592,384],{"class":320},[310,594,387],{"class":320},[310,596,598,600,602,604,606,608],{"class":312,"line":597},8,[310,599,393],{"class":372},[310,601,376],{"class":320},[310,603,334],{"class":320},[310,605,400],{"class":337},[310,607,384],{"class":320},[310,609,387],{"class":320},[310,611,613,616,618,620,623,625],{"class":312,"line":612},9,[310,614,615],{"class":372},"  uri",[310,617,376],{"class":320},[310,619,334],{"class":320},[310,621,622],{"class":337},"file:\u002F\u002F\u002FREADME.md",[310,624,384],{"class":320},[310,626,387],{"class":320},[310,628,630,633,635],{"class":312,"line":629},10,[310,631,632],{"class":372},"  metadata",[310,634,376],{"class":320},[310,636,637],{"class":320}," {\n",[310,639,641,644,646,648,650,652],{"class":312,"line":640},11,[310,642,643],{"class":372},"    mimeType",[310,645,376],{"class":320},[310,647,334],{"class":320},[310,649,467],{"class":337},[310,651,384],{"class":320},[310,653,387],{"class":320},[310,655,657],{"class":312,"line":656},12,[310,658,659],{"class":320},"  },\n",[310,661,663,666,668,672,675,678,680,684,686,689],{"class":312,"line":662},13,[310,664,665],{"class":360},"  handler",[310,667,376],{"class":320},[310,669,671],{"class":670},"spNyl"," async",[310,673,674],{"class":320}," (",[310,676,478],{"class":677},"sHdIc",[310,679,376],{"class":320},[310,681,683],{"class":682},"sBMFI"," URL",[310,685,468],{"class":320},[310,687,688],{"class":670}," =>",[310,690,637],{"class":320},[310,692,694,697,700,703,705,707,709],{"class":312,"line":693},14,[310,695,696],{"class":670},"    const",[310,698,699],{"class":324}," filePath",[310,701,702],{"class":320}," =",[310,704,518],{"class":360},[310,706,363],{"class":372},[310,708,478],{"class":324},[310,710,435],{"class":372},[310,712,714,716,719,721,724,726,728,731,733,735,738,740],{"class":312,"line":713},15,[310,715,696],{"class":670},[310,717,718],{"class":324}," content",[310,720,702],{"class":320},[310,722,723],{"class":316}," await",[310,725,498],{"class":360},[310,727,363],{"class":372},[310,729,730],{"class":324},"filePath",[310,732,422],{"class":320},[310,734,334],{"class":320},[310,736,737],{"class":337},"utf-8",[310,739,384],{"class":320},[310,741,435],{"class":372},[310,743,745,748],{"class":312,"line":744},16,[310,746,747],{"class":316},"    return",[310,749,637],{"class":320},[310,751,753,756,758,761],{"class":312,"line":752},17,[310,754,755],{"class":372},"      contents",[310,757,376],{"class":320},[310,759,760],{"class":372}," [",[310,762,366],{"class":320},[310,764,766,769,771,774,777,780,783],{"class":312,"line":765},18,[310,767,768],{"class":372},"        uri",[310,770,376],{"class":320},[310,772,773],{"class":324}," uri",[310,775,776],{"class":320},".",[310,778,779],{"class":360},"toString",[310,781,782],{"class":372},"()",[310,784,387],{"class":320},[310,786,788,791,793,795,797,799],{"class":312,"line":787},19,[310,789,790],{"class":372},"        mimeType",[310,792,376],{"class":320},[310,794,334],{"class":320},[310,796,467],{"class":337},[310,798,384],{"class":320},[310,800,387],{"class":320},[310,802,804,807,809,811],{"class":312,"line":803},20,[310,805,806],{"class":372},"        text",[310,808,376],{"class":320},[310,810,718],{"class":324},[310,812,387],{"class":320},[310,814,816,819,822],{"class":312,"line":815},21,[310,817,818],{"class":320},"      }",[310,820,821],{"class":372},"]",[310,823,387],{"class":320},[310,825,827],{"class":312,"line":826},22,[310,828,829],{"class":320},"    }\n",[310,831,833],{"class":312,"line":832},23,[310,834,659],{"class":320},[310,836,838,840],{"class":312,"line":837},24,[310,839,432],{"class":320},[310,841,435],{"class":324},[278,843,845],{"id":844},"auto-generated-name-and-title","Auto-Generated Name and Title",[283,847,848,849,479,852,855],{},"You can omit ",[295,850,851],{},"name",[295,853,854],{},"title"," - they will be automatically generated from the filename:",[300,857,860],{"className":302,"code":858,"filename":859,"language":305,"meta":306,"style":306},"import { defineMcpResource } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpResource({\n  \u002F\u002F name and title are auto-generated from filename:\n  \u002F\u002F name: 'project-readme'\n  \u002F\u002F title: 'Project Readme'\n  file: 'README.md'\n})\n","server\u002Fmcp\u002Fresources\u002Fproject-readme.ts",[295,861,862,880,884,896,901,906,911,923],{"__ignoreMap":306},[310,863,864,866,868,870,872,874,876,878],{"class":312,"line":313},[310,865,317],{"class":316},[310,867,321],{"class":320},[310,869,325],{"class":324},[310,871,328],{"class":320},[310,873,331],{"class":316},[310,875,334],{"class":320},[310,877,338],{"class":337},[310,879,341],{"class":320},[310,881,882],{"class":312,"line":344},[310,883,348],{"emptyLinePlaceholder":347},[310,885,886,888,890,892,894],{"class":312,"line":351},[310,887,354],{"class":316},[310,889,357],{"class":316},[310,891,325],{"class":360},[310,893,363],{"class":324},[310,895,366],{"class":320},[310,897,898],{"class":312,"line":369},[310,899,900],{"class":425},"  \u002F\u002F name and title are auto-generated from filename:\n",[310,902,903],{"class":312,"line":390},[310,904,905],{"class":425},"  \u002F\u002F name: 'project-readme'\n",[310,907,908],{"class":312,"line":407},[310,909,910],{"class":425},"  \u002F\u002F title: 'Project Readme'\n",[310,912,913,915,917,919,921],{"class":312,"line":429},[310,914,410],{"class":372},[310,916,376],{"class":320},[310,918,334],{"class":320},[310,920,417],{"class":337},[310,922,341],{"class":320},[310,924,925,927],{"class":312,"line":597},[310,926,432],{"class":320},[310,928,435],{"class":324},[283,930,931,932,935],{},"The filename ",[295,933,934],{},"project-readme.ts"," automatically becomes:",[440,937,938,946],{},[443,939,940,449,942,945],{},[295,941,851],{},[295,943,944],{},"project-readme"," (kebab-case)",[443,947,948,449,950,953],{},[295,949,854],{},[295,951,952],{},"Project Readme"," (title case)",[283,955,956,957,959,960,962],{},"You can still provide ",[295,958,851],{}," or ",[295,961,854],{}," explicitly to override the auto-generated values.",[278,964,966],{"id":965},"resource-structure","Resource Structure",[283,968,969],{},"A resource definition consists of:",[971,972,973,1066],"code-group",{},[300,974,977],{"className":302,"code":975,"filename":976,"language":305,"meta":306,"style":306},"import { defineMcpResource } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpResource({\n  name: 'resource-name',\n  file: 'path\u002Fto\u002Ffile.txt', \u002F\u002F Local file path\n  metadata: { ... }\n})\n","File Resource",[295,978,979,997,1001,1013,1028,1046,1060],{"__ignoreMap":306},[310,980,981,983,985,987,989,991,993,995],{"class":312,"line":313},[310,982,317],{"class":316},[310,984,321],{"class":320},[310,986,325],{"class":324},[310,988,328],{"class":320},[310,990,331],{"class":316},[310,992,334],{"class":320},[310,994,338],{"class":337},[310,996,341],{"class":320},[310,998,999],{"class":312,"line":344},[310,1000,348],{"emptyLinePlaceholder":347},[310,1002,1003,1005,1007,1009,1011],{"class":312,"line":351},[310,1004,354],{"class":316},[310,1006,357],{"class":316},[310,1008,325],{"class":360},[310,1010,363],{"class":324},[310,1012,366],{"class":320},[310,1014,1015,1017,1019,1021,1024,1026],{"class":312,"line":369},[310,1016,373],{"class":372},[310,1018,376],{"class":320},[310,1020,334],{"class":320},[310,1022,1023],{"class":337},"resource-name",[310,1025,384],{"class":320},[310,1027,387],{"class":320},[310,1029,1030,1032,1034,1036,1039,1041,1043],{"class":312,"line":390},[310,1031,410],{"class":372},[310,1033,376],{"class":320},[310,1035,334],{"class":320},[310,1037,1038],{"class":337},"path\u002Fto\u002Ffile.txt",[310,1040,384],{"class":320},[310,1042,422],{"class":320},[310,1044,1045],{"class":425}," \u002F\u002F Local file path\n",[310,1047,1048,1050,1052,1054,1057],{"class":312,"line":407},[310,1049,632],{"class":372},[310,1051,376],{"class":320},[310,1053,321],{"class":320},[310,1055,1056],{"class":320}," ...",[310,1058,1059],{"class":320}," }\n",[310,1061,1062,1064],{"class":312,"line":429},[310,1063,432],{"class":320},[310,1065,435],{"class":324},[300,1067,1070],{"className":302,"code":1068,"filename":1069,"language":305,"meta":306,"style":306},"import { defineMcpResource } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpResource({\n  name: 'resource-name',  \u002F\u002F Unique identifier\n  uri: 'uri:\u002F\u002F...',      \u002F\u002F Static URI or ResourceTemplate\n  handler: async (uri) => { \u002F\u002F Handler function\n    return { contents: [...] }\n  },\n})\n","Custom Resource",[295,1071,1072,1090,1094,1106,1123,1141,1162,1184,1188],{"__ignoreMap":306},[310,1073,1074,1076,1078,1080,1082,1084,1086,1088],{"class":312,"line":313},[310,1075,317],{"class":316},[310,1077,321],{"class":320},[310,1079,325],{"class":324},[310,1081,328],{"class":320},[310,1083,331],{"class":316},[310,1085,334],{"class":320},[310,1087,338],{"class":337},[310,1089,341],{"class":320},[310,1091,1092],{"class":312,"line":344},[310,1093,348],{"emptyLinePlaceholder":347},[310,1095,1096,1098,1100,1102,1104],{"class":312,"line":351},[310,1097,354],{"class":316},[310,1099,357],{"class":316},[310,1101,325],{"class":360},[310,1103,363],{"class":324},[310,1105,366],{"class":320},[310,1107,1108,1110,1112,1114,1116,1118,1120],{"class":312,"line":369},[310,1109,373],{"class":372},[310,1111,376],{"class":320},[310,1113,334],{"class":320},[310,1115,1023],{"class":337},[310,1117,384],{"class":320},[310,1119,422],{"class":320},[310,1121,1122],{"class":425},"  \u002F\u002F Unique identifier\n",[310,1124,1125,1127,1129,1131,1134,1136,1138],{"class":312,"line":390},[310,1126,615],{"class":372},[310,1128,376],{"class":320},[310,1130,334],{"class":320},[310,1132,1133],{"class":337},"uri:\u002F\u002F...",[310,1135,384],{"class":320},[310,1137,422],{"class":320},[310,1139,1140],{"class":425},"      \u002F\u002F Static URI or ResourceTemplate\n",[310,1142,1143,1145,1147,1149,1151,1153,1155,1157,1159],{"class":312,"line":407},[310,1144,665],{"class":360},[310,1146,376],{"class":320},[310,1148,671],{"class":670},[310,1150,674],{"class":320},[310,1152,478],{"class":677},[310,1154,468],{"class":320},[310,1156,688],{"class":670},[310,1158,321],{"class":320},[310,1160,1161],{"class":425}," \u002F\u002F Handler function\n",[310,1163,1164,1166,1168,1171,1173,1175,1178,1181],{"class":312,"line":429},[310,1165,747],{"class":316},[310,1167,321],{"class":320},[310,1169,1170],{"class":372}," contents",[310,1172,376],{"class":320},[310,1174,760],{"class":372},[310,1176,1177],{"class":320},"...",[310,1179,1180],{"class":372},"] ",[310,1182,1183],{"class":320},"}\n",[310,1185,1186],{"class":312,"line":597},[310,1187,659],{"class":320},[310,1189,1190,1192],{"class":312,"line":612},[310,1191,432],{"class":320},[310,1193,435],{"class":324},[1195,1196,1197],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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}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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":306,"searchDepth":344,"depth":344,"links":1199},[1200,1204,1205],{"id":280,"depth":344,"text":281,"children":1201},[1202,1203],{"id":289,"depth":351,"text":290},{"id":471,"depth":351,"text":472},{"id":844,"depth":344,"text":845},{"id":965,"depth":344,"text":966},"File-backed resources, naming, and the shape of defineMcpResource.","md",null,{},{"icon":83},{"title":1212,"description":1213},"Resources — Static & structure","Simple file resources, custom static handlers, auto-generated names, and resource structure.","Ahrg6seyhuvUQPOircDqNhqvt3nYb72T6ZH1ZpANKJk",[1216,1218],{"title":46,"path":76,"stem":77,"description":1217,"icon":78,"children":-1},"Expose read-only data sources as MCP resources to provide context to AI models.",{"title":85,"path":86,"stem":87,"description":1219,"icon":88,"children":-1},"ResourceTemplate URIs, variables, and resource handler functions.",1777306546032]