[{"data":1,"prerenderedAt":778},["ShallowReactive",2],{"navigation_docs":3,"-examples-file-operations":139,"-examples-file-operations-surround":773},[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":765,"extension":766,"links":767,"meta":768,"navigation":769,"path":132,"seo":770,"stem":133,"__hash__":772},"docs\u002F4.examples\u002F4.file-operations.md",{"type":142,"value":143,"toc":760},"minimark",[144,149,153,157,160,732,736,756],[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'\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,246,253,271,292,309,326,337,354,371,377,410,418,439,471,476,484,497,519,535,547,558,564,570,586,593,604,621,637,686,695,709,714,719,724],"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],{"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,203],{"class":182},[172,247,249],{"class":174,"line":248},4,[172,250,252],{"emptyLinePlaceholder":251},true,"\n",[172,254,256,259,262,265,268],{"class":174,"line":255},5,[172,257,258],{"class":178},"export",[172,260,261],{"class":178}," default",[172,263,234],{"class":264},"s2Zo4",[172,266,267],{"class":186},"(",[172,269,270],{"class":182},"{\n",[172,272,274,278,281,283,286,289],{"class":174,"line":273},6,[172,275,277],{"class":276},"swJcz","  name",[172,279,280],{"class":182},":",[172,282,196],{"class":182},[172,284,285],{"class":199},"readme",[172,287,288],{"class":182},"'",[172,290,291],{"class":182},",\n",[172,293,295,298,300,302,305,307],{"class":174,"line":294},7,[172,296,297],{"class":276},"  title",[172,299,280],{"class":182},[172,301,196],{"class":182},[172,303,304],{"class":199},"README",[172,306,288],{"class":182},[172,308,291],{"class":182},[172,310,312,315,317,319,322,324],{"class":174,"line":311},8,[172,313,314],{"class":276},"  uri",[172,316,280],{"class":182},[172,318,196],{"class":182},[172,320,321],{"class":199},"file:\u002F\u002F\u002FREADME.md",[172,323,288],{"class":182},[172,325,291],{"class":182},[172,327,329,332,334],{"class":174,"line":328},9,[172,330,331],{"class":276},"  metadata",[172,333,280],{"class":182},[172,335,336],{"class":182}," {\n",[172,338,340,343,345,347,350,352],{"class":174,"line":339},10,[172,341,342],{"class":276},"    description",[172,344,280],{"class":182},[172,346,196],{"class":182},[172,348,349],{"class":199},"Project README file",[172,351,288],{"class":182},[172,353,291],{"class":182},[172,355,357,360,362,364,367,369],{"class":174,"line":356},11,[172,358,359],{"class":276},"    mimeType",[172,361,280],{"class":182},[172,363,196],{"class":182},[172,365,366],{"class":199},"text\u002Fmarkdown",[172,368,288],{"class":182},[172,370,291],{"class":182},[172,372,374],{"class":174,"line":373},12,[172,375,376],{"class":182},"  },\n",[172,378,380,383,385,389,392,396,398,402,405,408],{"class":174,"line":379},13,[172,381,382],{"class":264},"  handler",[172,384,280],{"class":182},[172,386,388],{"class":387},"spNyl"," async",[172,390,391],{"class":182}," (",[172,393,395],{"class":394},"sHdIc","uri",[172,397,280],{"class":182},[172,399,401],{"class":400},"sBMFI"," URL",[172,403,404],{"class":182},")",[172,406,407],{"class":387}," =>",[172,409,336],{"class":182},[172,411,413,416],{"class":174,"line":412},14,[172,414,415],{"class":178},"    try",[172,417,336],{"class":182},[172,419,421,424,427,430,432,434,436],{"class":174,"line":420},15,[172,422,423],{"class":387},"      const",[172,425,426],{"class":186}," filePath",[172,428,429],{"class":182}," =",[172,431,213],{"class":264},[172,433,267],{"class":276},[172,435,395],{"class":186},[172,437,438],{"class":276},")\n",[172,440,442,444,447,449,452,454,456,459,462,464,467,469],{"class":174,"line":441},16,[172,443,423],{"class":387},[172,445,446],{"class":186}," content",[172,448,429],{"class":182},[172,450,451],{"class":178}," await",[172,453,187],{"class":264},[172,455,267],{"class":276},[172,457,458],{"class":186},"filePath",[172,460,461],{"class":182},",",[172,463,196],{"class":182},[172,465,466],{"class":199},"utf-8",[172,468,288],{"class":182},[172,470,438],{"class":276},[172,472,474],{"class":174,"line":473},17,[172,475,252],{"emptyLinePlaceholder":251},[172,477,479,482],{"class":174,"line":478},18,[172,480,481],{"class":178},"      return",[172,483,336],{"class":182},[172,485,487,490,492,495],{"class":174,"line":486},19,[172,488,489],{"class":276},"        contents",[172,491,280],{"class":182},[172,493,494],{"class":276}," [",[172,496,270],{"class":182},[172,498,500,503,505,508,511,514,517],{"class":174,"line":499},20,[172,501,502],{"class":276},"          uri",[172,504,280],{"class":182},[172,506,507],{"class":186}," uri",[172,509,510],{"class":182},".",[172,512,513],{"class":264},"toString",[172,515,516],{"class":276},"()",[172,518,291],{"class":182},[172,520,522,525,527,529,531,533],{"class":174,"line":521},21,[172,523,524],{"class":276},"          mimeType",[172,526,280],{"class":182},[172,528,196],{"class":182},[172,530,366],{"class":199},[172,532,288],{"class":182},[172,534,291],{"class":182},[172,536,538,541,543,545],{"class":174,"line":537},22,[172,539,540],{"class":276},"          text",[172,542,280],{"class":182},[172,544,446],{"class":186},[172,546,291],{"class":182},[172,548,550,553,556],{"class":174,"line":549},23,[172,551,552],{"class":182},"        }",[172,554,555],{"class":276},"]",[172,557,291],{"class":182},[172,559,561],{"class":174,"line":560},24,[172,562,563],{"class":182},"      }\n",[172,565,567],{"class":174,"line":566},25,[172,568,569],{"class":182},"    }\n",[172,571,573,576,578,581,584],{"class":174,"line":572},26,[172,574,575],{"class":178},"    catch",[172,577,391],{"class":276},[172,579,580],{"class":186},"error",[172,582,583],{"class":276},") ",[172,585,270],{"class":182},[172,587,589,591],{"class":174,"line":588},27,[172,590,481],{"class":178},[172,592,336],{"class":182},[172,594,596,598,600,602],{"class":174,"line":595},28,[172,597,489],{"class":276},[172,599,280],{"class":182},[172,601,494],{"class":276},[172,603,270],{"class":182},[172,605,607,609,611,613,615,617,619],{"class":174,"line":606},29,[172,608,502],{"class":276},[172,610,280],{"class":182},[172,612,507],{"class":186},[172,614,510],{"class":182},[172,616,513],{"class":264},[172,618,516],{"class":276},[172,620,291],{"class":182},[172,622,624,626,628,630,633,635],{"class":174,"line":623},30,[172,625,524],{"class":276},[172,627,280],{"class":182},[172,629,196],{"class":182},[172,631,632],{"class":199},"text\u002Fplain",[172,634,288],{"class":182},[172,636,291],{"class":182},[172,638,640,642,644,647,650,653,656,659,662,665,668,670,673,675,678,681,684],{"class":174,"line":639},31,[172,641,540],{"class":276},[172,643,280],{"class":182},[172,645,646],{"class":182}," `",[172,648,649],{"class":199},"Error reading file: ",[172,651,652],{"class":182},"${",[172,654,655],{"class":186},"error ",[172,657,658],{"class":182},"instanceof",[172,660,661],{"class":400}," Error",[172,663,664],{"class":182}," ?",[172,666,667],{"class":186}," error",[172,669,510],{"class":182},[172,671,672],{"class":186},"message ",[172,674,280],{"class":182},[172,676,677],{"class":264}," String",[172,679,680],{"class":186},"(error)",[172,682,683],{"class":182},"}`",[172,685,291],{"class":182},[172,687,689,691,693],{"class":174,"line":688},32,[172,690,552],{"class":182},[172,692,555],{"class":276},[172,694,291],{"class":182},[172,696,698,701,703,707],{"class":174,"line":697},33,[172,699,700],{"class":276},"        isError",[172,702,280],{"class":182},[172,704,706],{"class":705},"sfNiH"," true",[172,708,291],{"class":182},[172,710,712],{"class":174,"line":711},34,[172,713,563],{"class":182},[172,715,717],{"class":174,"line":716},35,[172,718,569],{"class":182},[172,720,722],{"class":174,"line":721},36,[172,723,376],{"class":182},[172,725,727,730],{"class":174,"line":726},37,[172,728,729],{"class":182},"}",[172,731,438],{"class":186},[145,733,735],{"id":734},"next-steps","Next Steps",[737,738,739,746,751],"ul",{},[740,741,742,745],"li",{},[743,744,121],"a",{"href":122}," - API integration examples",[740,747,748,750],{},[743,749,126],{"href":127}," - More general examples",[740,752,753,755],{},[743,754,51],{"href":52}," - Learn more about resources",[757,758,759],"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 .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":761},[762,763,764],{"id":147,"depth":206,"text":148},{"id":155,"depth":206,"text":156},{"id":734,"depth":206,"text":735},"Simple example of file operations with MCP resources.","md",null,{},{"icon":134},{"title":131,"description":771},"Simple example of file operations using MCP resources.","NpTl42hnoIuEISkBmcx-QpBRv7atM7YIH7K_e1mAl7E",[774,776],{"title":126,"path":127,"stem":128,"description":775,"icon":129,"children":-1},"Real-world examples and patterns for using the Nuxt MCP module.",{"title":136,"path":137,"stem":138,"description":777,"icon":59,"children":-1},"Advanced prompt patterns for AI assistants with real-world use cases.",1774872609551]