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