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