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