[{"data":1,"prerenderedAt":782},["ShallowReactive",2],{"navigation_docs":3,"-examples-file-operations":139,"-examples-file-operations-surround":777},[4,40,65,110],{"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},"Core Concepts","\u002Fcore-concepts","2.core-concepts",[45,50,55,60],{"title":46,"path":47,"stem":48,"icon":49},"Tools","\u002Fcore-concepts\u002Ftools","2.core-concepts\u002F2.tools","i-lucide-wrench",{"title":51,"path":52,"stem":53,"icon":54},"Resources","\u002Fcore-concepts\u002Fresources","2.core-concepts\u002F3.resources","i-lucide-package",{"title":56,"path":57,"stem":58,"icon":59},"Prompts","\u002Fcore-concepts\u002Fprompts","2.core-concepts\u002F4.prompts","i-lucide-message-square",{"title":61,"path":62,"stem":63,"icon":64},"Handlers","\u002Fcore-concepts\u002Fhandlers","2.core-concepts\u002F5.handlers","i-lucide-server",{"title":66,"path":67,"stem":68,"children":69,"page":39},"Advanced Topics","\u002Fadvanced","3.advanced",[70,75,80,85,90,95,100,105],{"title":71,"path":72,"stem":73,"icon":74},"Custom Paths","\u002Fadvanced\u002Fcustom-paths","3.advanced\u002F1.custom-paths","i-lucide-folder",{"title":76,"path":77,"stem":78,"icon":79},"Middleware","\u002Fadvanced\u002Fmiddleware","3.advanced\u002F2.middleware","i-lucide-shield",{"title":81,"path":82,"stem":83,"icon":84},"TypeScript","\u002Fadvanced\u002Ftypescript","3.advanced\u002F3.typescript","i-lucide-type",{"title":86,"path":87,"stem":88,"icon":89},"Hooks","\u002Fadvanced\u002Fhooks","3.advanced\u002F4.hooks","i-lucide-webhook",{"title":91,"path":92,"stem":93,"icon":94},"MCP Evals","\u002Fadvanced\u002Fevals","3.advanced\u002F5.evals","i-lucide-flask-conical",{"title":96,"path":97,"stem":98,"icon":99},"Sessions","\u002Fadvanced\u002Fsessions","3.advanced\u002F6.sessions","i-lucide-database",{"title":101,"path":102,"stem":103,"icon":104},"Dynamic Definitions","\u002Fadvanced\u002Fdynamic-definitions","3.advanced\u002F7.dynamic-definitions","i-lucide-toggle-right",{"title":106,"path":107,"stem":108,"icon":109},"Code Mode","\u002Fadvanced\u002Fcode-mode","3.advanced\u002F8.code-mode","i-lucide-code",{"title":111,"path":112,"stem":113,"children":114,"page":39},"Examples","\u002Fexamples","4.examples",[115,120,125,130,135],{"title":116,"path":117,"stem":118,"icon":119},"Authentication","\u002Fexamples\u002Fauthentication","4.examples\u002F1.authentication","i-lucide-shield-check",{"title":121,"path":122,"stem":123,"icon":124},"API Integration","\u002Fexamples\u002Fapi-integration","4.examples\u002F2.api-integration","i-lucide-globe",{"title":126,"path":127,"stem":128,"icon":129},"Common Patterns","\u002Fexamples\u002Fcommon-patterns","4.examples\u002F3.common-patterns","i-lucide-lightbulb",{"title":131,"path":132,"stem":133,"icon":134},"File Operations","\u002Fexamples\u002Ffile-operations","4.examples\u002F4.file-operations","i-lucide-file",{"title":136,"path":137,"stem":138,"icon":59},"Prompt Examples","\u002Fexamples\u002Fprompt-examples","4.examples\u002F5.prompt-examples",{"id":140,"title":131,"body":141,"description":769,"extension":770,"links":771,"meta":772,"navigation":773,"path":132,"seo":774,"stem":133,"__hash__":776},"docs\u002F4.examples\u002F4.file-operations.md",{"type":142,"value":143,"toc":764},"minimark",[144,149,153,157,160,736,740,760],[145,146,148],"h2",{"id":147},"overview","Overview",[150,151,152],"p",{},"This page demonstrates a simple file operation pattern using MCP resources.",[145,154,156],{"id":155},"read-file-resource","Read File Resource",[150,158,159],{},"Simple file reading resource:",[161,162,168],"pre",{"className":163,"code":164,"filename":165,"language":166,"meta":167,"style":167},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { readFile } from 'node:fs\u002Fpromises'\nimport { fileURLToPath } from 'node:url'\nimport { defineMcpResource } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver' \u002F\u002F optional\n\nexport default defineMcpResource({\n  name: 'readme',\n  title: 'README',\n  uri: 'file:\u002F\u002F\u002FREADME.md',\n  metadata: {\n    description: 'Project README file',\n    mimeType: 'text\u002Fmarkdown',\n  },\n  handler: async (uri: URL) => {\n    try {\n      const filePath = fileURLToPath(uri)\n      const content = await readFile(filePath, 'utf-8')\n\n      return {\n        contents: [{\n          uri: uri.toString(),\n          mimeType: 'text\u002Fmarkdown',\n          text: content,\n        }],\n      }\n    }\n    catch (error) {\n      return {\n        contents: [{\n          uri: uri.toString(),\n          mimeType: 'text\u002Fplain',\n          text: `Error reading file: ${error instanceof Error ? error.message : String(error)}`,\n        }],\n        isError: true,\n      }\n    }\n  },\n})\n","server\u002Fmcp\u002Fresources\u002Freadme.ts","typescript","",[169,170,171,204,225,251,258,276,296,313,330,341,358,375,381,414,422,443,475,480,488,501,523,539,551,562,568,574,590,597,608,625,641,690,699,713,718,723,728],"code",{"__ignoreMap":167},[172,173,176,180,184,188,191,194,197,201],"span",{"class":174,"line":175},"line",1,[172,177,179],{"class":178},"s7zQu","import",[172,181,183],{"class":182},"sMK4o"," {",[172,185,187],{"class":186},"sTEyZ"," readFile",[172,189,190],{"class":182}," }",[172,192,193],{"class":178}," from",[172,195,196],{"class":182}," '",[172,198,200],{"class":199},"sfazB","node:fs\u002Fpromises",[172,202,203],{"class":182},"'\n",[172,205,207,209,211,214,216,218,220,223],{"class":174,"line":206},2,[172,208,179],{"class":178},[172,210,183],{"class":182},[172,212,213],{"class":186}," fileURLToPath",[172,215,190],{"class":182},[172,217,193],{"class":178},[172,219,196],{"class":182},[172,221,222],{"class":199},"node:url",[172,224,203],{"class":182},[172,226,228,230,232,235,237,239,241,244,247],{"class":174,"line":227},3,[172,229,179],{"class":178},[172,231,183],{"class":182},[172,233,234],{"class":186}," defineMcpResource",[172,236,190],{"class":182},[172,238,193],{"class":178},[172,240,196],{"class":182},[172,242,243],{"class":199},"@nuxtjs\u002Fmcp-toolkit\u002Fserver",[172,245,246],{"class":182},"'",[172,248,250],{"class":249},"sHwdD"," \u002F\u002F optional\n",[172,252,254],{"class":174,"line":253},4,[172,255,257],{"emptyLinePlaceholder":256},true,"\n",[172,259,261,264,267,270,273],{"class":174,"line":260},5,[172,262,263],{"class":178},"export",[172,265,266],{"class":178}," default",[172,268,234],{"class":269},"s2Zo4",[172,271,272],{"class":186},"(",[172,274,275],{"class":182},"{\n",[172,277,279,283,286,288,291,293],{"class":174,"line":278},6,[172,280,282],{"class":281},"swJcz","  name",[172,284,285],{"class":182},":",[172,287,196],{"class":182},[172,289,290],{"class":199},"readme",[172,292,246],{"class":182},[172,294,295],{"class":182},",\n",[172,297,299,302,304,306,309,311],{"class":174,"line":298},7,[172,300,301],{"class":281},"  title",[172,303,285],{"class":182},[172,305,196],{"class":182},[172,307,308],{"class":199},"README",[172,310,246],{"class":182},[172,312,295],{"class":182},[172,314,316,319,321,323,326,328],{"class":174,"line":315},8,[172,317,318],{"class":281},"  uri",[172,320,285],{"class":182},[172,322,196],{"class":182},[172,324,325],{"class":199},"file:\u002F\u002F\u002FREADME.md",[172,327,246],{"class":182},[172,329,295],{"class":182},[172,331,333,336,338],{"class":174,"line":332},9,[172,334,335],{"class":281},"  metadata",[172,337,285],{"class":182},[172,339,340],{"class":182}," {\n",[172,342,344,347,349,351,354,356],{"class":174,"line":343},10,[172,345,346],{"class":281},"    description",[172,348,285],{"class":182},[172,350,196],{"class":182},[172,352,353],{"class":199},"Project README file",[172,355,246],{"class":182},[172,357,295],{"class":182},[172,359,361,364,366,368,371,373],{"class":174,"line":360},11,[172,362,363],{"class":281},"    mimeType",[172,365,285],{"class":182},[172,367,196],{"class":182},[172,369,370],{"class":199},"text\u002Fmarkdown",[172,372,246],{"class":182},[172,374,295],{"class":182},[172,376,378],{"class":174,"line":377},12,[172,379,380],{"class":182},"  },\n",[172,382,384,387,389,393,396,400,402,406,409,412],{"class":174,"line":383},13,[172,385,386],{"class":269},"  handler",[172,388,285],{"class":182},[172,390,392],{"class":391},"spNyl"," async",[172,394,395],{"class":182}," (",[172,397,399],{"class":398},"sHdIc","uri",[172,401,285],{"class":182},[172,403,405],{"class":404},"sBMFI"," URL",[172,407,408],{"class":182},")",[172,410,411],{"class":391}," =>",[172,413,340],{"class":182},[172,415,417,420],{"class":174,"line":416},14,[172,418,419],{"class":178},"    try",[172,421,340],{"class":182},[172,423,425,428,431,434,436,438,440],{"class":174,"line":424},15,[172,426,427],{"class":391},"      const",[172,429,430],{"class":186}," filePath",[172,432,433],{"class":182}," =",[172,435,213],{"class":269},[172,437,272],{"class":281},[172,439,399],{"class":186},[172,441,442],{"class":281},")\n",[172,444,446,448,451,453,456,458,460,463,466,468,471,473],{"class":174,"line":445},16,[172,447,427],{"class":391},[172,449,450],{"class":186}," content",[172,452,433],{"class":182},[172,454,455],{"class":178}," await",[172,457,187],{"class":269},[172,459,272],{"class":281},[172,461,462],{"class":186},"filePath",[172,464,465],{"class":182},",",[172,467,196],{"class":182},[172,469,470],{"class":199},"utf-8",[172,472,246],{"class":182},[172,474,442],{"class":281},[172,476,478],{"class":174,"line":477},17,[172,479,257],{"emptyLinePlaceholder":256},[172,481,483,486],{"class":174,"line":482},18,[172,484,485],{"class":178},"      return",[172,487,340],{"class":182},[172,489,491,494,496,499],{"class":174,"line":490},19,[172,492,493],{"class":281},"        contents",[172,495,285],{"class":182},[172,497,498],{"class":281}," [",[172,500,275],{"class":182},[172,502,504,507,509,512,515,518,521],{"class":174,"line":503},20,[172,505,506],{"class":281},"          uri",[172,508,285],{"class":182},[172,510,511],{"class":186}," uri",[172,513,514],{"class":182},".",[172,516,517],{"class":269},"toString",[172,519,520],{"class":281},"()",[172,522,295],{"class":182},[172,524,526,529,531,533,535,537],{"class":174,"line":525},21,[172,527,528],{"class":281},"          mimeType",[172,530,285],{"class":182},[172,532,196],{"class":182},[172,534,370],{"class":199},[172,536,246],{"class":182},[172,538,295],{"class":182},[172,540,542,545,547,549],{"class":174,"line":541},22,[172,543,544],{"class":281},"          text",[172,546,285],{"class":182},[172,548,450],{"class":186},[172,550,295],{"class":182},[172,552,554,557,560],{"class":174,"line":553},23,[172,555,556],{"class":182},"        }",[172,558,559],{"class":281},"]",[172,561,295],{"class":182},[172,563,565],{"class":174,"line":564},24,[172,566,567],{"class":182},"      }\n",[172,569,571],{"class":174,"line":570},25,[172,572,573],{"class":182},"    }\n",[172,575,577,580,582,585,588],{"class":174,"line":576},26,[172,578,579],{"class":178},"    catch",[172,581,395],{"class":281},[172,583,584],{"class":186},"error",[172,586,587],{"class":281},") ",[172,589,275],{"class":182},[172,591,593,595],{"class":174,"line":592},27,[172,594,485],{"class":178},[172,596,340],{"class":182},[172,598,600,602,604,606],{"class":174,"line":599},28,[172,601,493],{"class":281},[172,603,285],{"class":182},[172,605,498],{"class":281},[172,607,275],{"class":182},[172,609,611,613,615,617,619,621,623],{"class":174,"line":610},29,[172,612,506],{"class":281},[172,614,285],{"class":182},[172,616,511],{"class":186},[172,618,514],{"class":182},[172,620,517],{"class":269},[172,622,520],{"class":281},[172,624,295],{"class":182},[172,626,628,630,632,634,637,639],{"class":174,"line":627},30,[172,629,528],{"class":281},[172,631,285],{"class":182},[172,633,196],{"class":182},[172,635,636],{"class":199},"text\u002Fplain",[172,638,246],{"class":182},[172,640,295],{"class":182},[172,642,644,646,648,651,654,657,660,663,666,669,672,674,677,679,682,685,688],{"class":174,"line":643},31,[172,645,544],{"class":281},[172,647,285],{"class":182},[172,649,650],{"class":182}," `",[172,652,653],{"class":199},"Error reading file: ",[172,655,656],{"class":182},"${",[172,658,659],{"class":186},"error ",[172,661,662],{"class":182},"instanceof",[172,664,665],{"class":404}," Error",[172,667,668],{"class":182}," ?",[172,670,671],{"class":186}," error",[172,673,514],{"class":182},[172,675,676],{"class":186},"message ",[172,678,285],{"class":182},[172,680,681],{"class":269}," String",[172,683,684],{"class":186},"(error)",[172,686,687],{"class":182},"}`",[172,689,295],{"class":182},[172,691,693,695,697],{"class":174,"line":692},32,[172,694,556],{"class":182},[172,696,559],{"class":281},[172,698,295],{"class":182},[172,700,702,705,707,711],{"class":174,"line":701},33,[172,703,704],{"class":281},"        isError",[172,706,285],{"class":182},[172,708,710],{"class":709},"sfNiH"," true",[172,712,295],{"class":182},[172,714,716],{"class":174,"line":715},34,[172,717,567],{"class":182},[172,719,721],{"class":174,"line":720},35,[172,722,573],{"class":182},[172,724,726],{"class":174,"line":725},36,[172,727,380],{"class":182},[172,729,731,734],{"class":174,"line":730},37,[172,732,733],{"class":182},"}",[172,735,442],{"class":186},[145,737,739],{"id":738},"next-steps","Next Steps",[741,742,743,750,755],"ul",{},[744,745,746,749],"li",{},[747,748,121],"a",{"href":122}," - API integration examples",[744,751,752,754],{},[747,753,126],{"href":127}," - More general examples",[744,756,757,759],{},[747,758,51],{"href":52}," - Learn more about resources",[761,762,763],"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 .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 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 .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}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}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);}",{"title":167,"searchDepth":206,"depth":206,"links":765},[766,767,768],{"id":147,"depth":206,"text":148},{"id":155,"depth":206,"text":156},{"id":738,"depth":206,"text":739},"Simple example of file operations with MCP resources.","md",null,{},{"icon":134},{"title":131,"description":775},"Simple example of file operations using MCP resources.","_WVTH_Bx5p9D4aA8OAlgxiYKIPwBPmHMYUPvbmWjLCw",[778,780],{"title":126,"path":127,"stem":128,"description":779,"icon":129,"children":-1},"Real-world examples and patterns for using the Nuxt MCP module.",{"title":136,"path":137,"stem":138,"description":781,"icon":59,"children":-1},"Advanced prompt patterns for AI assistants with real-world use cases.",1773932613365]