[{"data":1,"prerenderedAt":2489},["ShallowReactive",2],{"navigation_docs":3,"-examples-common-patterns":287,"-examples-common-patterns-surround":2484},[4,40,70,99,122,156,189,258],{"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,219,223,228,233,238,243,248,253],{"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":218},"llms.txt discovery","\u002Fadvanced\u002Fllms-txt","7.advanced\u002F13.llms-txt","i-lucide-file-text",{"title":220,"path":221,"stem":222,"icon":64},"Middleware","\u002Fadvanced\u002Fmiddleware","7.advanced\u002F2.middleware",{"title":224,"path":225,"stem":226,"icon":227},"TypeScript","\u002Fadvanced\u002Ftypescript","7.advanced\u002F3.typescript","i-lucide-type",{"title":229,"path":230,"stem":231,"icon":232},"Hooks","\u002Fadvanced\u002Fhooks","7.advanced\u002F4.hooks","i-lucide-webhook",{"title":234,"path":235,"stem":236,"icon":237},"MCP Evals","\u002Fadvanced\u002Fevals","7.advanced\u002F5.evals","i-lucide-flask-conical",{"title":239,"path":240,"stem":241,"icon":242},"Sessions","\u002Fadvanced\u002Fsessions","7.advanced\u002F6.sessions","i-lucide-database",{"title":244,"path":245,"stem":246,"icon":247},"Dynamic Definitions","\u002Fadvanced\u002Fdynamic-definitions","7.advanced\u002F7.dynamic-definitions","i-lucide-toggle-right",{"title":249,"path":250,"stem":251,"icon":252},"Code Mode","\u002Fadvanced\u002Fcode-mode","7.advanced\u002F8.code-mode","i-lucide-code",{"title":254,"path":255,"stem":256,"icon":257},"Elicitation","\u002Fadvanced\u002Felicitation","7.advanced\u002F9.elicitation","i-lucide-message-square-quote",{"title":259,"path":260,"stem":261,"children":262,"page":39},"Examples","\u002Fexamples","8.examples",[263,268,273,278,283],{"title":264,"path":265,"stem":266,"icon":267},"Authentication","\u002Fexamples\u002Fauthentication","8.examples\u002F1.authentication","i-lucide-shield-check",{"title":269,"path":270,"stem":271,"icon":272},"API Integration","\u002Fexamples\u002Fapi-integration","8.examples\u002F2.api-integration","i-lucide-globe",{"title":274,"path":275,"stem":276,"icon":277},"Common Patterns","\u002Fexamples\u002Fcommon-patterns","8.examples\u002F3.common-patterns","i-lucide-lightbulb",{"title":279,"path":280,"stem":281,"icon":282},"File Operations","\u002Fexamples\u002Ffile-operations","8.examples\u002F4.file-operations","i-lucide-file",{"title":284,"path":285,"stem":286,"icon":107},"Prompt Examples","\u002Fexamples\u002Fprompt-examples","8.examples\u002F5.prompt-examples",{"id":288,"title":274,"body":289,"description":2477,"extension":2478,"links":2479,"meta":2480,"navigation":2481,"path":275,"seo":2482,"stem":276,"__hash__":2483},"docs\u002F8.examples\u002F3.common-patterns.md",{"type":290,"value":291,"toc":2469},"minimark",[292,296,300,304,307,943,947,950,1409,1413,1416,1848,1852,1855,2436,2440,2465],[293,294,46],"h2",{"id":295},"overview",[297,298,299],"p",{},"This page demonstrates common patterns and real-world examples for using the Nuxt MCP module.",[293,301,303],{"id":302},"input-validation-tool","Input Validation Tool",[297,305,306],{},"Validate user inputs like emails and URLs:",[308,309,315],"pre",{"className":310,"code":311,"filename":312,"language":313,"meta":314,"style":314},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { z } from 'zod'\nimport { defineMcpTool } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpTool({\n  description: 'Validate common input formats like email and URL',\n  inputSchema: {\n    value: z.string().describe('Value to validate'),\n    type: z.enum(['email', 'url']).describe('Type of validation'),\n  },\n  outputSchema: {\n    isValid: z.boolean(),\n    message: z.string(),\n  },\n  handler: async ({ value, type }) => {\n    let isValid = false\n    let message = ''\n\n    if (type === 'email') {\n      const emailRegex = \u002F^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\u002F\n      isValid = emailRegex.test(value)\n      message = isValid ? 'Valid email address' : 'Invalid email format'\n    }\n    else if (type === 'url') {\n      try {\n        new URL(value)\n        isValid = true\n        message = 'Valid URL'\n      }\n      catch {\n        message = 'Invalid URL format'\n      }\n    }\n\n    return {\n      structuredContent: { isValid, message },\n    }\n  },\n})\n","server\u002Fmcp\u002Ftools\u002Fvalidate-input.ts","typescript","",[316,317,318,351,372,379,397,418,429,467,522,528,538,557,575,580,612,628,641,646,672,722,745,775,781,806,814,829,840,855,861,869,883,888,893,898,906,925,930,935],"code",{"__ignoreMap":314},[319,320,323,327,331,335,338,341,344,348],"span",{"class":321,"line":322},"line",1,[319,324,326],{"class":325},"s7zQu","import",[319,328,330],{"class":329},"sMK4o"," {",[319,332,334],{"class":333},"sTEyZ"," z",[319,336,337],{"class":329}," }",[319,339,340],{"class":325}," from",[319,342,343],{"class":329}," '",[319,345,347],{"class":346},"sfazB","zod",[319,349,350],{"class":329},"'\n",[319,352,354,356,358,361,363,365,367,370],{"class":321,"line":353},2,[319,355,326],{"class":325},[319,357,330],{"class":329},[319,359,360],{"class":333}," defineMcpTool",[319,362,337],{"class":329},[319,364,340],{"class":325},[319,366,343],{"class":329},[319,368,369],{"class":346},"@nuxtjs\u002Fmcp-toolkit\u002Fserver",[319,371,350],{"class":329},[319,373,375],{"class":321,"line":374},3,[319,376,378],{"emptyLinePlaceholder":377},true,"\n",[319,380,382,385,388,391,394],{"class":321,"line":381},4,[319,383,384],{"class":325},"export",[319,386,387],{"class":325}," default",[319,389,360],{"class":390},"s2Zo4",[319,392,393],{"class":333},"(",[319,395,396],{"class":329},"{\n",[319,398,400,404,407,409,412,415],{"class":321,"line":399},5,[319,401,403],{"class":402},"swJcz","  description",[319,405,406],{"class":329},":",[319,408,343],{"class":329},[319,410,411],{"class":346},"Validate common input formats like email and URL",[319,413,414],{"class":329},"'",[319,416,417],{"class":329},",\n",[319,419,421,424,426],{"class":321,"line":420},6,[319,422,423],{"class":402},"  inputSchema",[319,425,406],{"class":329},[319,427,428],{"class":329}," {\n",[319,430,432,435,437,439,442,445,448,450,453,455,457,460,462,465],{"class":321,"line":431},7,[319,433,434],{"class":402},"    value",[319,436,406],{"class":329},[319,438,334],{"class":333},[319,440,441],{"class":329},".",[319,443,444],{"class":390},"string",[319,446,447],{"class":333},"()",[319,449,441],{"class":329},[319,451,452],{"class":390},"describe",[319,454,393],{"class":333},[319,456,414],{"class":329},[319,458,459],{"class":346},"Value to validate",[319,461,414],{"class":329},[319,463,464],{"class":333},")",[319,466,417],{"class":329},[319,468,470,473,475,477,479,482,485,487,490,492,495,497,500,502,505,507,509,511,513,516,518,520],{"class":321,"line":469},8,[319,471,472],{"class":402},"    type",[319,474,406],{"class":329},[319,476,334],{"class":333},[319,478,441],{"class":329},[319,480,481],{"class":390},"enum",[319,483,484],{"class":333},"([",[319,486,414],{"class":329},[319,488,489],{"class":346},"email",[319,491,414],{"class":329},[319,493,494],{"class":329},",",[319,496,343],{"class":329},[319,498,499],{"class":346},"url",[319,501,414],{"class":329},[319,503,504],{"class":333},"])",[319,506,441],{"class":329},[319,508,452],{"class":390},[319,510,393],{"class":333},[319,512,414],{"class":329},[319,514,515],{"class":346},"Type of validation",[319,517,414],{"class":329},[319,519,464],{"class":333},[319,521,417],{"class":329},[319,523,525],{"class":321,"line":524},9,[319,526,527],{"class":329},"  },\n",[319,529,531,534,536],{"class":321,"line":530},10,[319,532,533],{"class":402},"  outputSchema",[319,535,406],{"class":329},[319,537,428],{"class":329},[319,539,541,544,546,548,550,553,555],{"class":321,"line":540},11,[319,542,543],{"class":402},"    isValid",[319,545,406],{"class":329},[319,547,334],{"class":333},[319,549,441],{"class":329},[319,551,552],{"class":390},"boolean",[319,554,447],{"class":333},[319,556,417],{"class":329},[319,558,560,563,565,567,569,571,573],{"class":321,"line":559},12,[319,561,562],{"class":402},"    message",[319,564,406],{"class":329},[319,566,334],{"class":333},[319,568,441],{"class":329},[319,570,444],{"class":390},[319,572,447],{"class":333},[319,574,417],{"class":329},[319,576,578],{"class":321,"line":577},13,[319,579,527],{"class":329},[319,581,583,586,588,592,595,599,601,604,607,610],{"class":321,"line":582},14,[319,584,585],{"class":390},"  handler",[319,587,406],{"class":329},[319,589,591],{"class":590},"spNyl"," async",[319,593,594],{"class":329}," ({",[319,596,598],{"class":597},"sHdIc"," value",[319,600,494],{"class":329},[319,602,603],{"class":597}," type",[319,605,606],{"class":329}," })",[319,608,609],{"class":590}," =>",[319,611,428],{"class":329},[319,613,615,618,621,624],{"class":321,"line":614},15,[319,616,617],{"class":590},"    let",[319,619,620],{"class":333}," isValid",[319,622,623],{"class":329}," =",[319,625,627],{"class":626},"sfNiH"," false\n",[319,629,631,633,636,638],{"class":321,"line":630},16,[319,632,617],{"class":590},[319,634,635],{"class":333}," message",[319,637,623],{"class":329},[319,639,640],{"class":329}," ''\n",[319,642,644],{"class":321,"line":643},17,[319,645,378],{"emptyLinePlaceholder":377},[319,647,649,652,655,658,661,663,665,667,670],{"class":321,"line":648},18,[319,650,651],{"class":325},"    if",[319,653,654],{"class":402}," (",[319,656,657],{"class":333},"type",[319,659,660],{"class":329}," ===",[319,662,343],{"class":329},[319,664,489],{"class":346},[319,666,414],{"class":329},[319,668,669],{"class":402},") ",[319,671,396],{"class":329},[319,673,675,678,681,683,686,689,692,695,698,701,703,705,707,710,712,714,716,719],{"class":321,"line":674},19,[319,676,677],{"class":590},"      const",[319,679,680],{"class":333}," emailRegex",[319,682,623],{"class":329},[319,684,685],{"class":329}," \u002F",[319,687,688],{"class":325},"^",[319,690,691],{"class":329},"[^",[319,693,694],{"class":346},"\\s@",[319,696,697],{"class":329},"]+",[319,699,700],{"class":346},"@",[319,702,691],{"class":329},[319,704,694],{"class":346},[319,706,697],{"class":329},[319,708,709],{"class":333},"\\.",[319,711,691],{"class":329},[319,713,694],{"class":346},[319,715,697],{"class":329},[319,717,718],{"class":325},"$",[319,720,721],{"class":329},"\u002F\n",[319,723,725,728,730,732,734,737,739,742],{"class":321,"line":724},20,[319,726,727],{"class":333},"      isValid",[319,729,623],{"class":329},[319,731,680],{"class":333},[319,733,441],{"class":329},[319,735,736],{"class":390},"test",[319,738,393],{"class":402},[319,740,741],{"class":333},"value",[319,743,744],{"class":402},")\n",[319,746,748,751,753,755,758,760,763,765,768,770,773],{"class":321,"line":747},21,[319,749,750],{"class":333},"      message",[319,752,623],{"class":329},[319,754,620],{"class":333},[319,756,757],{"class":329}," ?",[319,759,343],{"class":329},[319,761,762],{"class":346},"Valid email address",[319,764,414],{"class":329},[319,766,767],{"class":329}," :",[319,769,343],{"class":329},[319,771,772],{"class":346},"Invalid email format",[319,774,350],{"class":329},[319,776,778],{"class":321,"line":777},22,[319,779,780],{"class":329},"    }\n",[319,782,784,787,790,792,794,796,798,800,802,804],{"class":321,"line":783},23,[319,785,786],{"class":325},"    else",[319,788,789],{"class":325}," if",[319,791,654],{"class":402},[319,793,657],{"class":333},[319,795,660],{"class":329},[319,797,343],{"class":329},[319,799,499],{"class":346},[319,801,414],{"class":329},[319,803,669],{"class":402},[319,805,396],{"class":329},[319,807,809,812],{"class":321,"line":808},24,[319,810,811],{"class":325},"      try",[319,813,428],{"class":329},[319,815,817,820,823,825,827],{"class":321,"line":816},25,[319,818,819],{"class":329},"        new",[319,821,822],{"class":390}," URL",[319,824,393],{"class":402},[319,826,741],{"class":333},[319,828,744],{"class":402},[319,830,832,835,837],{"class":321,"line":831},26,[319,833,834],{"class":333},"        isValid",[319,836,623],{"class":329},[319,838,839],{"class":626}," true\n",[319,841,843,846,848,850,853],{"class":321,"line":842},27,[319,844,845],{"class":333},"        message",[319,847,623],{"class":329},[319,849,343],{"class":329},[319,851,852],{"class":346},"Valid URL",[319,854,350],{"class":329},[319,856,858],{"class":321,"line":857},28,[319,859,860],{"class":329},"      }\n",[319,862,864,867],{"class":321,"line":863},29,[319,865,866],{"class":325},"      catch",[319,868,428],{"class":329},[319,870,872,874,876,878,881],{"class":321,"line":871},30,[319,873,845],{"class":333},[319,875,623],{"class":329},[319,877,343],{"class":329},[319,879,880],{"class":346},"Invalid URL format",[319,882,350],{"class":329},[319,884,886],{"class":321,"line":885},31,[319,887,860],{"class":329},[319,889,891],{"class":321,"line":890},32,[319,892,780],{"class":329},[319,894,896],{"class":321,"line":895},33,[319,897,378],{"emptyLinePlaceholder":377},[319,899,901,904],{"class":321,"line":900},34,[319,902,903],{"class":325},"    return",[319,905,428],{"class":329},[319,907,909,912,914,916,918,920,922],{"class":321,"line":908},35,[319,910,911],{"class":402},"      structuredContent",[319,913,406],{"class":329},[319,915,330],{"class":329},[319,917,620],{"class":333},[319,919,494],{"class":329},[319,921,635],{"class":333},[319,923,924],{"class":329}," },\n",[319,926,928],{"class":321,"line":927},36,[319,929,780],{"class":329},[319,931,933],{"class":321,"line":932},37,[319,934,527],{"class":329},[319,936,938,941],{"class":321,"line":937},38,[319,939,940],{"class":329},"}",[319,942,744],{"class":333},[293,944,946],{"id":945},"generate-slug-tool","Generate Slug Tool",[297,948,949],{},"Generate URL-friendly slugs from titles:",[308,951,954],{"className":310,"code":952,"filename":953,"language":313,"meta":314,"style":314},"import { z } from 'zod'\nimport { defineMcpTool } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpTool({\n  description: 'Generate a URL-friendly slug from a title',\n  inputSchema: {\n    title: z.string().describe('Title to convert to slug'),\n    separator: z.enum(['-', '_']).default('-').describe('Word separator'),\n  },\n  outputSchema: {\n    slug: z.string(),\n  },\n  handler: async ({ title, separator }) => {\n    const slug = title\n      .toLowerCase()\n      .normalize('NFD')\n      .replace(\u002F[\\u0300-\\u036F]\u002Fg, '') \u002F\u002F Remove accents\n      .replace(\u002F[^a-z0-9\\s-]\u002Fg, '') \u002F\u002F Remove special chars\n      .trim()\n      .replace(\u002F\\s+\u002Fg, separator) \u002F\u002F Replace spaces\n      .replace(new RegExp(`${separator}+`, 'g'), separator) \u002F\u002F Remove duplicate separators\n\n    return {\n      structuredContent: { slug },\n    }\n  },\n})\n","server\u002Fmcp\u002Ftools\u002Fgenerate-slug.ts",[316,955,956,974,992,996,1008,1023,1031,1063,1128,1132,1140,1157,1161,1185,1198,1209,1227,1260,1287,1296,1324,1373,1377,1383,1395,1399,1403],{"__ignoreMap":314},[319,957,958,960,962,964,966,968,970,972],{"class":321,"line":322},[319,959,326],{"class":325},[319,961,330],{"class":329},[319,963,334],{"class":333},[319,965,337],{"class":329},[319,967,340],{"class":325},[319,969,343],{"class":329},[319,971,347],{"class":346},[319,973,350],{"class":329},[319,975,976,978,980,982,984,986,988,990],{"class":321,"line":353},[319,977,326],{"class":325},[319,979,330],{"class":329},[319,981,360],{"class":333},[319,983,337],{"class":329},[319,985,340],{"class":325},[319,987,343],{"class":329},[319,989,369],{"class":346},[319,991,350],{"class":329},[319,993,994],{"class":321,"line":374},[319,995,378],{"emptyLinePlaceholder":377},[319,997,998,1000,1002,1004,1006],{"class":321,"line":381},[319,999,384],{"class":325},[319,1001,387],{"class":325},[319,1003,360],{"class":390},[319,1005,393],{"class":333},[319,1007,396],{"class":329},[319,1009,1010,1012,1014,1016,1019,1021],{"class":321,"line":399},[319,1011,403],{"class":402},[319,1013,406],{"class":329},[319,1015,343],{"class":329},[319,1017,1018],{"class":346},"Generate a URL-friendly slug from a title",[319,1020,414],{"class":329},[319,1022,417],{"class":329},[319,1024,1025,1027,1029],{"class":321,"line":420},[319,1026,423],{"class":402},[319,1028,406],{"class":329},[319,1030,428],{"class":329},[319,1032,1033,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054,1057,1059,1061],{"class":321,"line":431},[319,1034,1035],{"class":402},"    title",[319,1037,406],{"class":329},[319,1039,334],{"class":333},[319,1041,441],{"class":329},[319,1043,444],{"class":390},[319,1045,447],{"class":333},[319,1047,441],{"class":329},[319,1049,452],{"class":390},[319,1051,393],{"class":333},[319,1053,414],{"class":329},[319,1055,1056],{"class":346},"Title to convert to slug",[319,1058,414],{"class":329},[319,1060,464],{"class":333},[319,1062,417],{"class":329},[319,1064,1065,1068,1070,1072,1074,1076,1078,1080,1083,1085,1087,1089,1092,1094,1096,1098,1101,1103,1105,1107,1109,1111,1113,1115,1117,1119,1122,1124,1126],{"class":321,"line":469},[319,1066,1067],{"class":402},"    separator",[319,1069,406],{"class":329},[319,1071,334],{"class":333},[319,1073,441],{"class":329},[319,1075,481],{"class":390},[319,1077,484],{"class":333},[319,1079,414],{"class":329},[319,1081,1082],{"class":346},"-",[319,1084,414],{"class":329},[319,1086,494],{"class":329},[319,1088,343],{"class":329},[319,1090,1091],{"class":346},"_",[319,1093,414],{"class":329},[319,1095,504],{"class":333},[319,1097,441],{"class":329},[319,1099,1100],{"class":390},"default",[319,1102,393],{"class":333},[319,1104,414],{"class":329},[319,1106,1082],{"class":346},[319,1108,414],{"class":329},[319,1110,464],{"class":333},[319,1112,441],{"class":329},[319,1114,452],{"class":390},[319,1116,393],{"class":333},[319,1118,414],{"class":329},[319,1120,1121],{"class":346},"Word separator",[319,1123,414],{"class":329},[319,1125,464],{"class":333},[319,1127,417],{"class":329},[319,1129,1130],{"class":321,"line":524},[319,1131,527],{"class":329},[319,1133,1134,1136,1138],{"class":321,"line":530},[319,1135,533],{"class":402},[319,1137,406],{"class":329},[319,1139,428],{"class":329},[319,1141,1142,1145,1147,1149,1151,1153,1155],{"class":321,"line":540},[319,1143,1144],{"class":402},"    slug",[319,1146,406],{"class":329},[319,1148,334],{"class":333},[319,1150,441],{"class":329},[319,1152,444],{"class":390},[319,1154,447],{"class":333},[319,1156,417],{"class":329},[319,1158,1159],{"class":321,"line":559},[319,1160,527],{"class":329},[319,1162,1163,1165,1167,1169,1171,1174,1176,1179,1181,1183],{"class":321,"line":577},[319,1164,585],{"class":390},[319,1166,406],{"class":329},[319,1168,591],{"class":590},[319,1170,594],{"class":329},[319,1172,1173],{"class":597}," title",[319,1175,494],{"class":329},[319,1177,1178],{"class":597}," separator",[319,1180,606],{"class":329},[319,1182,609],{"class":590},[319,1184,428],{"class":329},[319,1186,1187,1190,1193,1195],{"class":321,"line":582},[319,1188,1189],{"class":590},"    const",[319,1191,1192],{"class":333}," slug",[319,1194,623],{"class":329},[319,1196,1197],{"class":333}," title\n",[319,1199,1200,1203,1206],{"class":321,"line":614},[319,1201,1202],{"class":329},"      .",[319,1204,1205],{"class":390},"toLowerCase",[319,1207,1208],{"class":402},"()\n",[319,1210,1211,1213,1216,1218,1220,1223,1225],{"class":321,"line":630},[319,1212,1202],{"class":329},[319,1214,1215],{"class":390},"normalize",[319,1217,393],{"class":402},[319,1219,414],{"class":329},[319,1221,1222],{"class":346},"NFD",[319,1224,414],{"class":329},[319,1226,744],{"class":402},[319,1228,1229,1231,1234,1236,1239,1242,1245,1249,1251,1254,1256],{"class":321,"line":643},[319,1230,1202],{"class":329},[319,1232,1233],{"class":390},"replace",[319,1235,393],{"class":402},[319,1237,1238],{"class":329},"\u002F[",[319,1240,1241],{"class":346},"\\u0300-\\u036F",[319,1243,1244],{"class":329},"]\u002F",[319,1246,1248],{"class":1247},"sbssI","g",[319,1250,494],{"class":329},[319,1252,1253],{"class":329}," ''",[319,1255,669],{"class":402},[319,1257,1259],{"class":1258},"sHwdD","\u002F\u002F Remove accents\n",[319,1261,1262,1264,1266,1268,1271,1274,1276,1278,1280,1282,1284],{"class":321,"line":648},[319,1263,1202],{"class":329},[319,1265,1233],{"class":390},[319,1267,393],{"class":402},[319,1269,1270],{"class":329},"\u002F[^",[319,1272,1273],{"class":346},"a-z0-9\\s-",[319,1275,1244],{"class":329},[319,1277,1248],{"class":1247},[319,1279,494],{"class":329},[319,1281,1253],{"class":329},[319,1283,669],{"class":402},[319,1285,1286],{"class":1258},"\u002F\u002F Remove special chars\n",[319,1288,1289,1291,1294],{"class":321,"line":674},[319,1290,1202],{"class":329},[319,1292,1293],{"class":390},"trim",[319,1295,1208],{"class":402},[319,1297,1298,1300,1302,1304,1307,1310,1313,1315,1317,1319,1321],{"class":321,"line":724},[319,1299,1202],{"class":329},[319,1301,1233],{"class":390},[319,1303,393],{"class":402},[319,1305,1306],{"class":329},"\u002F",[319,1308,1309],{"class":346},"\\s",[319,1311,1312],{"class":329},"+\u002F",[319,1314,1248],{"class":1247},[319,1316,494],{"class":329},[319,1318,1178],{"class":333},[319,1320,669],{"class":402},[319,1322,1323],{"class":1258},"\u002F\u002F Replace spaces\n",[319,1325,1326,1328,1330,1332,1335,1338,1340,1343,1346,1348,1351,1354,1356,1358,1360,1362,1364,1366,1368,1370],{"class":321,"line":747},[319,1327,1202],{"class":329},[319,1329,1233],{"class":390},[319,1331,393],{"class":402},[319,1333,1334],{"class":329},"new",[319,1336,1337],{"class":390}," RegExp",[319,1339,393],{"class":402},[319,1341,1342],{"class":329},"`${",[319,1344,1345],{"class":333},"separator",[319,1347,940],{"class":329},[319,1349,1350],{"class":346},"+",[319,1352,1353],{"class":329},"`",[319,1355,494],{"class":329},[319,1357,343],{"class":329},[319,1359,1248],{"class":346},[319,1361,414],{"class":329},[319,1363,464],{"class":402},[319,1365,494],{"class":329},[319,1367,1178],{"class":333},[319,1369,669],{"class":402},[319,1371,1372],{"class":1258},"\u002F\u002F Remove duplicate separators\n",[319,1374,1375],{"class":321,"line":777},[319,1376,378],{"emptyLinePlaceholder":377},[319,1378,1379,1381],{"class":321,"line":783},[319,1380,903],{"class":325},[319,1382,428],{"class":329},[319,1384,1385,1387,1389,1391,1393],{"class":321,"line":808},[319,1386,911],{"class":402},[319,1388,406],{"class":329},[319,1390,330],{"class":329},[319,1392,1192],{"class":333},[319,1394,924],{"class":329},[319,1396,1397],{"class":321,"line":816},[319,1398,780],{"class":329},[319,1400,1401],{"class":321,"line":831},[319,1402,527],{"class":329},[319,1404,1405,1407],{"class":321,"line":842},[319,1406,940],{"class":329},[319,1408,744],{"class":333},[293,1410,1412],{"id":1411},"format-converter-tool","Format Converter Tool",[297,1414,1415],{},"Convert between JSON and YAML formats:",[308,1417,1420],{"className":310,"code":1418,"filename":1419,"language":313,"meta":314,"style":314},"import { z } from 'zod'\nimport { parse as parseYaml, stringify as stringifyYaml } from 'yaml'\nimport { defineMcpTool } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpTool({\n  description: 'Convert between JSON and YAML formats',\n  inputSchema: {\n    content: z.string().describe('Content to convert'),\n    from: z.enum(['json', 'yaml']).describe('Source format'),\n    to: z.enum(['json', 'yaml']).describe('Target format'),\n  },\n  handler: async ({ content, from, to }) => {\n    let data: unknown\n    if (from === 'json') {\n      data = JSON.parse(content)\n    }\n    else {\n      data = parseYaml(content)\n    }\n\n    if (to === 'json') return JSON.stringify(data, null, 2)\n    return stringifyYaml(data)\n  },\n})\n","server\u002Fmcp\u002Ftools\u002Fconvert-format.ts",[316,1421,1422,1440,1476,1494,1498,1510,1525,1533,1565,1614,1662,1666,1694,1707,1728,1750,1754,1760,1774,1778,1782,1826,1838,1842],{"__ignoreMap":314},[319,1423,1424,1426,1428,1430,1432,1434,1436,1438],{"class":321,"line":322},[319,1425,326],{"class":325},[319,1427,330],{"class":329},[319,1429,334],{"class":333},[319,1431,337],{"class":329},[319,1433,340],{"class":325},[319,1435,343],{"class":329},[319,1437,347],{"class":346},[319,1439,350],{"class":329},[319,1441,1442,1444,1446,1449,1452,1455,1457,1460,1462,1465,1467,1469,1471,1474],{"class":321,"line":353},[319,1443,326],{"class":325},[319,1445,330],{"class":329},[319,1447,1448],{"class":333}," parse",[319,1450,1451],{"class":325}," as",[319,1453,1454],{"class":333}," parseYaml",[319,1456,494],{"class":329},[319,1458,1459],{"class":333}," stringify",[319,1461,1451],{"class":325},[319,1463,1464],{"class":333}," stringifyYaml",[319,1466,337],{"class":329},[319,1468,340],{"class":325},[319,1470,343],{"class":329},[319,1472,1473],{"class":346},"yaml",[319,1475,350],{"class":329},[319,1477,1478,1480,1482,1484,1486,1488,1490,1492],{"class":321,"line":374},[319,1479,326],{"class":325},[319,1481,330],{"class":329},[319,1483,360],{"class":333},[319,1485,337],{"class":329},[319,1487,340],{"class":325},[319,1489,343],{"class":329},[319,1491,369],{"class":346},[319,1493,350],{"class":329},[319,1495,1496],{"class":321,"line":381},[319,1497,378],{"emptyLinePlaceholder":377},[319,1499,1500,1502,1504,1506,1508],{"class":321,"line":399},[319,1501,384],{"class":325},[319,1503,387],{"class":325},[319,1505,360],{"class":390},[319,1507,393],{"class":333},[319,1509,396],{"class":329},[319,1511,1512,1514,1516,1518,1521,1523],{"class":321,"line":420},[319,1513,403],{"class":402},[319,1515,406],{"class":329},[319,1517,343],{"class":329},[319,1519,1520],{"class":346},"Convert between JSON and YAML formats",[319,1522,414],{"class":329},[319,1524,417],{"class":329},[319,1526,1527,1529,1531],{"class":321,"line":431},[319,1528,423],{"class":402},[319,1530,406],{"class":329},[319,1532,428],{"class":329},[319,1534,1535,1538,1540,1542,1544,1546,1548,1550,1552,1554,1556,1559,1561,1563],{"class":321,"line":469},[319,1536,1537],{"class":402},"    content",[319,1539,406],{"class":329},[319,1541,334],{"class":333},[319,1543,441],{"class":329},[319,1545,444],{"class":390},[319,1547,447],{"class":333},[319,1549,441],{"class":329},[319,1551,452],{"class":390},[319,1553,393],{"class":333},[319,1555,414],{"class":329},[319,1557,1558],{"class":346},"Content to convert",[319,1560,414],{"class":329},[319,1562,464],{"class":333},[319,1564,417],{"class":329},[319,1566,1567,1570,1572,1574,1576,1578,1580,1582,1585,1587,1589,1591,1593,1595,1597,1599,1601,1603,1605,1608,1610,1612],{"class":321,"line":524},[319,1568,1569],{"class":402},"    from",[319,1571,406],{"class":329},[319,1573,334],{"class":333},[319,1575,441],{"class":329},[319,1577,481],{"class":390},[319,1579,484],{"class":333},[319,1581,414],{"class":329},[319,1583,1584],{"class":346},"json",[319,1586,414],{"class":329},[319,1588,494],{"class":329},[319,1590,343],{"class":329},[319,1592,1473],{"class":346},[319,1594,414],{"class":329},[319,1596,504],{"class":333},[319,1598,441],{"class":329},[319,1600,452],{"class":390},[319,1602,393],{"class":333},[319,1604,414],{"class":329},[319,1606,1607],{"class":346},"Source format",[319,1609,414],{"class":329},[319,1611,464],{"class":333},[319,1613,417],{"class":329},[319,1615,1616,1619,1621,1623,1625,1627,1629,1631,1633,1635,1637,1639,1641,1643,1645,1647,1649,1651,1653,1656,1658,1660],{"class":321,"line":530},[319,1617,1618],{"class":402},"    to",[319,1620,406],{"class":329},[319,1622,334],{"class":333},[319,1624,441],{"class":329},[319,1626,481],{"class":390},[319,1628,484],{"class":333},[319,1630,414],{"class":329},[319,1632,1584],{"class":346},[319,1634,414],{"class":329},[319,1636,494],{"class":329},[319,1638,343],{"class":329},[319,1640,1473],{"class":346},[319,1642,414],{"class":329},[319,1644,504],{"class":333},[319,1646,441],{"class":329},[319,1648,452],{"class":390},[319,1650,393],{"class":333},[319,1652,414],{"class":329},[319,1654,1655],{"class":346},"Target format",[319,1657,414],{"class":329},[319,1659,464],{"class":333},[319,1661,417],{"class":329},[319,1663,1664],{"class":321,"line":540},[319,1665,527],{"class":329},[319,1667,1668,1670,1672,1674,1676,1679,1681,1683,1685,1688,1690,1692],{"class":321,"line":559},[319,1669,585],{"class":390},[319,1671,406],{"class":329},[319,1673,591],{"class":590},[319,1675,594],{"class":329},[319,1677,1678],{"class":597}," content",[319,1680,494],{"class":329},[319,1682,340],{"class":597},[319,1684,494],{"class":329},[319,1686,1687],{"class":597}," to",[319,1689,606],{"class":329},[319,1691,609],{"class":590},[319,1693,428],{"class":329},[319,1695,1696,1698,1701,1703],{"class":321,"line":577},[319,1697,617],{"class":590},[319,1699,1700],{"class":333}," data",[319,1702,406],{"class":329},[319,1704,1706],{"class":1705},"sBMFI"," unknown\n",[319,1708,1709,1711,1713,1716,1718,1720,1722,1724,1726],{"class":321,"line":582},[319,1710,651],{"class":325},[319,1712,654],{"class":402},[319,1714,1715],{"class":333},"from",[319,1717,660],{"class":329},[319,1719,343],{"class":329},[319,1721,1584],{"class":346},[319,1723,414],{"class":329},[319,1725,669],{"class":402},[319,1727,396],{"class":329},[319,1729,1730,1733,1735,1738,1740,1743,1745,1748],{"class":321,"line":614},[319,1731,1732],{"class":333},"      data",[319,1734,623],{"class":329},[319,1736,1737],{"class":333}," JSON",[319,1739,441],{"class":329},[319,1741,1742],{"class":390},"parse",[319,1744,393],{"class":402},[319,1746,1747],{"class":333},"content",[319,1749,744],{"class":402},[319,1751,1752],{"class":321,"line":630},[319,1753,780],{"class":329},[319,1755,1756,1758],{"class":321,"line":643},[319,1757,786],{"class":325},[319,1759,428],{"class":329},[319,1761,1762,1764,1766,1768,1770,1772],{"class":321,"line":648},[319,1763,1732],{"class":333},[319,1765,623],{"class":329},[319,1767,1454],{"class":390},[319,1769,393],{"class":402},[319,1771,1747],{"class":333},[319,1773,744],{"class":402},[319,1775,1776],{"class":321,"line":674},[319,1777,780],{"class":329},[319,1779,1780],{"class":321,"line":724},[319,1781,378],{"emptyLinePlaceholder":377},[319,1783,1784,1786,1788,1791,1793,1795,1797,1799,1801,1804,1806,1808,1811,1813,1816,1818,1821,1824],{"class":321,"line":747},[319,1785,651],{"class":325},[319,1787,654],{"class":402},[319,1789,1790],{"class":333},"to",[319,1792,660],{"class":329},[319,1794,343],{"class":329},[319,1796,1584],{"class":346},[319,1798,414],{"class":329},[319,1800,669],{"class":402},[319,1802,1803],{"class":325},"return",[319,1805,1737],{"class":333},[319,1807,441],{"class":329},[319,1809,1810],{"class":390},"stringify",[319,1812,393],{"class":402},[319,1814,1815],{"class":333},"data",[319,1817,494],{"class":329},[319,1819,1820],{"class":329}," null,",[319,1822,1823],{"class":1247}," 2",[319,1825,744],{"class":402},[319,1827,1828,1830,1832,1834,1836],{"class":321,"line":777},[319,1829,903],{"class":325},[319,1831,1464],{"class":390},[319,1833,393],{"class":402},[319,1835,1815],{"class":333},[319,1837,744],{"class":402},[319,1839,1840],{"class":321,"line":783},[319,1841,527],{"class":329},[319,1843,1844,1846],{"class":321,"line":808},[319,1845,940],{"class":329},[319,1847,744],{"class":333},[293,1849,1851],{"id":1850},"health-check-tool","Health Check Tool",[297,1853,1854],{},"Check if an API or service is available:",[308,1856,1859],{"className":310,"code":1857,"filename":1858,"language":313,"meta":314,"style":314},"import { z } from 'zod'\nimport { defineMcpTool } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpTool({\n  description: 'Check if a URL endpoint is reachable',\n  inputSchema: {\n    url: z.string().url().describe('URL to check'),\n    timeout: z.number().default(5000).describe('Timeout in milliseconds'),\n  },\n  outputSchema: {\n    status: z.enum(['healthy', 'unhealthy']),\n    responseTime: z.number().optional(),\n    statusCode: z.number().optional(),\n  },\n  handler: async ({ url, timeout }) => {\n    const start = Date.now()\n\n    try {\n      const response = await $fetch.raw(url, {\n        timeout,\n        method: 'HEAD',\n      })\n\n      const responseTime = Date.now() - start\n\n      return {\n        structuredContent: {\n          status: 'healthy' as const,\n          responseTime,\n          statusCode: response.status,\n        },\n      }\n    }\n    catch (error) {\n      const responseTime = Date.now() - start\n\n      return {\n        structuredContent: {\n          status: 'unhealthy' as const,\n          responseTime,\n        },\n      }\n    }\n  },\n})\n","server\u002Fmcp\u002Ftools\u002Fhealth-check.ts",[316,1860,1861,1879,1897,1901,1913,1928,1936,1974,2018,2022,2030,2065,2089,2112,2116,2140,2159,2163,2170,2198,2205,2221,2228,2232,2255,2259,2266,2275,2295,2302,2318,2323,2327,2331,2345,2365,2369,2375,2383,2402,2409,2414,2419,2424,2429],{"__ignoreMap":314},[319,1862,1863,1865,1867,1869,1871,1873,1875,1877],{"class":321,"line":322},[319,1864,326],{"class":325},[319,1866,330],{"class":329},[319,1868,334],{"class":333},[319,1870,337],{"class":329},[319,1872,340],{"class":325},[319,1874,343],{"class":329},[319,1876,347],{"class":346},[319,1878,350],{"class":329},[319,1880,1881,1883,1885,1887,1889,1891,1893,1895],{"class":321,"line":353},[319,1882,326],{"class":325},[319,1884,330],{"class":329},[319,1886,360],{"class":333},[319,1888,337],{"class":329},[319,1890,340],{"class":325},[319,1892,343],{"class":329},[319,1894,369],{"class":346},[319,1896,350],{"class":329},[319,1898,1899],{"class":321,"line":374},[319,1900,378],{"emptyLinePlaceholder":377},[319,1902,1903,1905,1907,1909,1911],{"class":321,"line":381},[319,1904,384],{"class":325},[319,1906,387],{"class":325},[319,1908,360],{"class":390},[319,1910,393],{"class":333},[319,1912,396],{"class":329},[319,1914,1915,1917,1919,1921,1924,1926],{"class":321,"line":399},[319,1916,403],{"class":402},[319,1918,406],{"class":329},[319,1920,343],{"class":329},[319,1922,1923],{"class":346},"Check if a URL endpoint is reachable",[319,1925,414],{"class":329},[319,1927,417],{"class":329},[319,1929,1930,1932,1934],{"class":321,"line":420},[319,1931,423],{"class":402},[319,1933,406],{"class":329},[319,1935,428],{"class":329},[319,1937,1938,1941,1943,1945,1947,1949,1951,1953,1955,1957,1959,1961,1963,1965,1968,1970,1972],{"class":321,"line":431},[319,1939,1940],{"class":402},"    url",[319,1942,406],{"class":329},[319,1944,334],{"class":333},[319,1946,441],{"class":329},[319,1948,444],{"class":390},[319,1950,447],{"class":333},[319,1952,441],{"class":329},[319,1954,499],{"class":390},[319,1956,447],{"class":333},[319,1958,441],{"class":329},[319,1960,452],{"class":390},[319,1962,393],{"class":333},[319,1964,414],{"class":329},[319,1966,1967],{"class":346},"URL to check",[319,1969,414],{"class":329},[319,1971,464],{"class":333},[319,1973,417],{"class":329},[319,1975,1976,1979,1981,1983,1985,1988,1990,1992,1994,1996,1999,2001,2003,2005,2007,2009,2012,2014,2016],{"class":321,"line":469},[319,1977,1978],{"class":402},"    timeout",[319,1980,406],{"class":329},[319,1982,334],{"class":333},[319,1984,441],{"class":329},[319,1986,1987],{"class":390},"number",[319,1989,447],{"class":333},[319,1991,441],{"class":329},[319,1993,1100],{"class":390},[319,1995,393],{"class":333},[319,1997,1998],{"class":1247},"5000",[319,2000,464],{"class":333},[319,2002,441],{"class":329},[319,2004,452],{"class":390},[319,2006,393],{"class":333},[319,2008,414],{"class":329},[319,2010,2011],{"class":346},"Timeout in milliseconds",[319,2013,414],{"class":329},[319,2015,464],{"class":333},[319,2017,417],{"class":329},[319,2019,2020],{"class":321,"line":524},[319,2021,527],{"class":329},[319,2023,2024,2026,2028],{"class":321,"line":530},[319,2025,533],{"class":402},[319,2027,406],{"class":329},[319,2029,428],{"class":329},[319,2031,2032,2035,2037,2039,2041,2043,2045,2047,2050,2052,2054,2056,2059,2061,2063],{"class":321,"line":540},[319,2033,2034],{"class":402},"    status",[319,2036,406],{"class":329},[319,2038,334],{"class":333},[319,2040,441],{"class":329},[319,2042,481],{"class":390},[319,2044,484],{"class":333},[319,2046,414],{"class":329},[319,2048,2049],{"class":346},"healthy",[319,2051,414],{"class":329},[319,2053,494],{"class":329},[319,2055,343],{"class":329},[319,2057,2058],{"class":346},"unhealthy",[319,2060,414],{"class":329},[319,2062,504],{"class":333},[319,2064,417],{"class":329},[319,2066,2067,2070,2072,2074,2076,2078,2080,2082,2085,2087],{"class":321,"line":559},[319,2068,2069],{"class":402},"    responseTime",[319,2071,406],{"class":329},[319,2073,334],{"class":333},[319,2075,441],{"class":329},[319,2077,1987],{"class":390},[319,2079,447],{"class":333},[319,2081,441],{"class":329},[319,2083,2084],{"class":390},"optional",[319,2086,447],{"class":333},[319,2088,417],{"class":329},[319,2090,2091,2094,2096,2098,2100,2102,2104,2106,2108,2110],{"class":321,"line":577},[319,2092,2093],{"class":402},"    statusCode",[319,2095,406],{"class":329},[319,2097,334],{"class":333},[319,2099,441],{"class":329},[319,2101,1987],{"class":390},[319,2103,447],{"class":333},[319,2105,441],{"class":329},[319,2107,2084],{"class":390},[319,2109,447],{"class":333},[319,2111,417],{"class":329},[319,2113,2114],{"class":321,"line":582},[319,2115,527],{"class":329},[319,2117,2118,2120,2122,2124,2126,2129,2131,2134,2136,2138],{"class":321,"line":614},[319,2119,585],{"class":390},[319,2121,406],{"class":329},[319,2123,591],{"class":590},[319,2125,594],{"class":329},[319,2127,2128],{"class":597}," url",[319,2130,494],{"class":329},[319,2132,2133],{"class":597}," timeout",[319,2135,606],{"class":329},[319,2137,609],{"class":590},[319,2139,428],{"class":329},[319,2141,2142,2144,2147,2149,2152,2154,2157],{"class":321,"line":630},[319,2143,1189],{"class":590},[319,2145,2146],{"class":333}," start",[319,2148,623],{"class":329},[319,2150,2151],{"class":333}," Date",[319,2153,441],{"class":329},[319,2155,2156],{"class":390},"now",[319,2158,1208],{"class":402},[319,2160,2161],{"class":321,"line":643},[319,2162,378],{"emptyLinePlaceholder":377},[319,2164,2165,2168],{"class":321,"line":648},[319,2166,2167],{"class":325},"    try",[319,2169,428],{"class":329},[319,2171,2172,2174,2177,2179,2182,2185,2187,2190,2192,2194,2196],{"class":321,"line":674},[319,2173,677],{"class":590},[319,2175,2176],{"class":333}," response",[319,2178,623],{"class":329},[319,2180,2181],{"class":325}," await",[319,2183,2184],{"class":333}," $fetch",[319,2186,441],{"class":329},[319,2188,2189],{"class":390},"raw",[319,2191,393],{"class":402},[319,2193,499],{"class":333},[319,2195,494],{"class":329},[319,2197,428],{"class":329},[319,2199,2200,2203],{"class":321,"line":724},[319,2201,2202],{"class":333},"        timeout",[319,2204,417],{"class":329},[319,2206,2207,2210,2212,2214,2217,2219],{"class":321,"line":747},[319,2208,2209],{"class":402},"        method",[319,2211,406],{"class":329},[319,2213,343],{"class":329},[319,2215,2216],{"class":346},"HEAD",[319,2218,414],{"class":329},[319,2220,417],{"class":329},[319,2222,2223,2226],{"class":321,"line":777},[319,2224,2225],{"class":329},"      }",[319,2227,744],{"class":402},[319,2229,2230],{"class":321,"line":783},[319,2231,378],{"emptyLinePlaceholder":377},[319,2233,2234,2236,2239,2241,2243,2245,2247,2250,2252],{"class":321,"line":808},[319,2235,677],{"class":590},[319,2237,2238],{"class":333}," responseTime",[319,2240,623],{"class":329},[319,2242,2151],{"class":333},[319,2244,441],{"class":329},[319,2246,2156],{"class":390},[319,2248,2249],{"class":402},"() ",[319,2251,1082],{"class":329},[319,2253,2254],{"class":333}," start\n",[319,2256,2257],{"class":321,"line":816},[319,2258,378],{"emptyLinePlaceholder":377},[319,2260,2261,2264],{"class":321,"line":831},[319,2262,2263],{"class":325},"      return",[319,2265,428],{"class":329},[319,2267,2268,2271,2273],{"class":321,"line":842},[319,2269,2270],{"class":402},"        structuredContent",[319,2272,406],{"class":329},[319,2274,428],{"class":329},[319,2276,2277,2280,2282,2284,2286,2288,2290,2293],{"class":321,"line":857},[319,2278,2279],{"class":402},"          status",[319,2281,406],{"class":329},[319,2283,343],{"class":329},[319,2285,2049],{"class":346},[319,2287,414],{"class":329},[319,2289,1451],{"class":325},[319,2291,2292],{"class":590}," const",[319,2294,417],{"class":329},[319,2296,2297,2300],{"class":321,"line":863},[319,2298,2299],{"class":333},"          responseTime",[319,2301,417],{"class":329},[319,2303,2304,2307,2309,2311,2313,2316],{"class":321,"line":871},[319,2305,2306],{"class":402},"          statusCode",[319,2308,406],{"class":329},[319,2310,2176],{"class":333},[319,2312,441],{"class":329},[319,2314,2315],{"class":333},"status",[319,2317,417],{"class":329},[319,2319,2320],{"class":321,"line":885},[319,2321,2322],{"class":329},"        },\n",[319,2324,2325],{"class":321,"line":890},[319,2326,860],{"class":329},[319,2328,2329],{"class":321,"line":895},[319,2330,780],{"class":329},[319,2332,2333,2336,2338,2341,2343],{"class":321,"line":900},[319,2334,2335],{"class":325},"    catch",[319,2337,654],{"class":402},[319,2339,2340],{"class":333},"error",[319,2342,669],{"class":402},[319,2344,396],{"class":329},[319,2346,2347,2349,2351,2353,2355,2357,2359,2361,2363],{"class":321,"line":908},[319,2348,677],{"class":590},[319,2350,2238],{"class":333},[319,2352,623],{"class":329},[319,2354,2151],{"class":333},[319,2356,441],{"class":329},[319,2358,2156],{"class":390},[319,2360,2249],{"class":402},[319,2362,1082],{"class":329},[319,2364,2254],{"class":333},[319,2366,2367],{"class":321,"line":927},[319,2368,378],{"emptyLinePlaceholder":377},[319,2370,2371,2373],{"class":321,"line":932},[319,2372,2263],{"class":325},[319,2374,428],{"class":329},[319,2376,2377,2379,2381],{"class":321,"line":937},[319,2378,2270],{"class":402},[319,2380,406],{"class":329},[319,2382,428],{"class":329},[319,2384,2386,2388,2390,2392,2394,2396,2398,2400],{"class":321,"line":2385},39,[319,2387,2279],{"class":402},[319,2389,406],{"class":329},[319,2391,343],{"class":329},[319,2393,2058],{"class":346},[319,2395,414],{"class":329},[319,2397,1451],{"class":325},[319,2399,2292],{"class":590},[319,2401,417],{"class":329},[319,2403,2405,2407],{"class":321,"line":2404},40,[319,2406,2299],{"class":333},[319,2408,417],{"class":329},[319,2410,2412],{"class":321,"line":2411},41,[319,2413,2322],{"class":329},[319,2415,2417],{"class":321,"line":2416},42,[319,2418,860],{"class":329},[319,2420,2422],{"class":321,"line":2421},43,[319,2423,780],{"class":329},[319,2425,2427],{"class":321,"line":2426},44,[319,2428,527],{"class":329},[319,2430,2432,2434],{"class":321,"line":2431},45,[319,2433,940],{"class":329},[319,2435,744],{"class":333},[293,2437,2439],{"id":2438},"next-steps","Next Steps",[2441,2442,2443,2450,2455,2460],"ul",{},[2444,2445,2446,2449],"li",{},[2447,2448,269],"a",{"href":270}," - API integration examples",[2444,2451,2452,2454],{},[2447,2453,279],{"href":280}," - File operation examples",[2444,2456,2457,2459],{},[2447,2458,284],{"href":285}," - Prompt patterns",[2444,2461,2462,2464],{},[2447,2463,41],{"href":47}," - Learn more about tools",[2466,2467,2468],"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 .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);}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":314,"searchDepth":353,"depth":353,"links":2470},[2471,2472,2473,2474,2475,2476],{"id":295,"depth":353,"text":46},{"id":302,"depth":353,"text":303},{"id":945,"depth":353,"text":946},{"id":1411,"depth":353,"text":1412},{"id":1850,"depth":353,"text":1851},{"id":2438,"depth":353,"text":2439},"Real-world examples and patterns for using the Nuxt MCP module.","md",null,{},{"icon":277},{"title":274,"description":2477},"dq1AaOsaR7lxd5Hoq91P_y6eBOCpxqgCivdSv1gGLN4",[2485,2487],{"title":269,"path":270,"stem":271,"description":2486,"icon":272,"children":-1},"Integrate external APIs and use Nuxt server utilities in MCP tools.",{"title":279,"path":280,"stem":281,"description":2488,"icon":282,"children":-1},"Simple example of file operations with MCP resources.",1787670844795]