[{"data":1,"prerenderedAt":1270},["ShallowReactive",2],{"navigation_docs":3,"-advanced-typescript":139,"-advanced-typescript-surround":1265},[4,40,65,110],{"title":5,"path":6,"stem":7,"children":8,"page":39},"Getting Started","\u002Fgetting-started","1.getting-started",[9,14,19,24,29,34],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-book-open",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F3.configuration","i-lucide-settings",{"title":25,"path":26,"stem":27,"icon":28},"MCP Inspector","\u002Fgetting-started\u002Finspector","1.getting-started\u002F4.inspector","i-lucide-circuit-board",{"title":30,"path":31,"stem":32,"icon":33},"Connection","\u002Fgetting-started\u002Fconnection","1.getting-started\u002F5.connection","i-lucide-plug",{"title":35,"path":36,"stem":37,"icon":38},"Agent Skills","\u002Fgetting-started\u002Fagent-skills","1.getting-started\u002F6.agent-skills","i-lucide-sparkles",false,{"title":41,"path":42,"stem":43,"children":44,"page":39},"Core Concepts","\u002Fcore-concepts","2.core-concepts",[45,50,55,60],{"title":46,"path":47,"stem":48,"icon":49},"Tools","\u002Fcore-concepts\u002Ftools","2.core-concepts\u002F2.tools","i-lucide-wrench",{"title":51,"path":52,"stem":53,"icon":54},"Resources","\u002Fcore-concepts\u002Fresources","2.core-concepts\u002F3.resources","i-lucide-package",{"title":56,"path":57,"stem":58,"icon":59},"Prompts","\u002Fcore-concepts\u002Fprompts","2.core-concepts\u002F4.prompts","i-lucide-message-square",{"title":61,"path":62,"stem":63,"icon":64},"Handlers","\u002Fcore-concepts\u002Fhandlers","2.core-concepts\u002F5.handlers","i-lucide-server",{"title":66,"path":67,"stem":68,"children":69,"page":39},"Advanced Topics","\u002Fadvanced","3.advanced",[70,75,80,85,90,95,100,105],{"title":71,"path":72,"stem":73,"icon":74},"Custom Paths","\u002Fadvanced\u002Fcustom-paths","3.advanced\u002F1.custom-paths","i-lucide-folder",{"title":76,"path":77,"stem":78,"icon":79},"Middleware","\u002Fadvanced\u002Fmiddleware","3.advanced\u002F2.middleware","i-lucide-shield",{"title":81,"path":82,"stem":83,"icon":84},"TypeScript","\u002Fadvanced\u002Ftypescript","3.advanced\u002F3.typescript","i-lucide-type",{"title":86,"path":87,"stem":88,"icon":89},"Hooks","\u002Fadvanced\u002Fhooks","3.advanced\u002F4.hooks","i-lucide-webhook",{"title":91,"path":92,"stem":93,"icon":94},"MCP Evals","\u002Fadvanced\u002Fevals","3.advanced\u002F5.evals","i-lucide-flask-conical",{"title":96,"path":97,"stem":98,"icon":99},"Sessions","\u002Fadvanced\u002Fsessions","3.advanced\u002F6.sessions","i-lucide-database",{"title":101,"path":102,"stem":103,"icon":104},"Dynamic Definitions","\u002Fadvanced\u002Fdynamic-definitions","3.advanced\u002F7.dynamic-definitions","i-lucide-toggle-right",{"title":106,"path":107,"stem":108,"icon":109},"Code Mode","\u002Fadvanced\u002Fcode-mode","3.advanced\u002F8.code-mode","i-lucide-code",{"title":111,"path":112,"stem":113,"children":114,"page":39},"Examples","\u002Fexamples","4.examples",[115,120,125,130,135],{"title":116,"path":117,"stem":118,"icon":119},"Authentication","\u002Fexamples\u002Fauthentication","4.examples\u002F1.authentication","i-lucide-shield-check",{"title":121,"path":122,"stem":123,"icon":124},"API Integration","\u002Fexamples\u002Fapi-integration","4.examples\u002F2.api-integration","i-lucide-globe",{"title":126,"path":127,"stem":128,"icon":129},"Common Patterns","\u002Fexamples\u002Fcommon-patterns","4.examples\u002F3.common-patterns","i-lucide-lightbulb",{"title":131,"path":132,"stem":133,"icon":134},"File Operations","\u002Fexamples\u002Ffile-operations","4.examples\u002F4.file-operations","i-lucide-file",{"title":136,"path":137,"stem":138,"icon":59},"Prompt Examples","\u002Fexamples\u002Fprompt-examples","4.examples\u002F5.prompt-examples",{"id":140,"title":81,"body":141,"description":1257,"extension":1258,"links":1259,"meta":1260,"navigation":1261,"path":82,"seo":1262,"stem":83,"__hash__":1264},"docs\u002F3.advanced\u002F3.typescript.md",{"type":142,"value":143,"toc":1246},"minimark",[144,149,153,157,160,166,216,221,241,434,450,454,459,465,674,678,684,946,950,955,1105,1109,1112,1221,1225,1242],[145,146,148],"h2",{"id":147},"type-safety","Type Safety",[150,151,152],"p",{},"The Nuxt MCP module provides full TypeScript support with complete type inference and type safety.",[145,154,156],{"id":155},"auto-imports","Auto-Imports",[150,158,159],{},"All helper functions and types are auto-imported in your server files:",[150,161,162],{},[163,164,165],"strong",{},"Functions:",[167,168,169,186,200,208],"ul",{},[170,171,172,176,177,176,180,176,183],"li",{},[173,174,175],"code",{},"defineMcpTool",", ",[173,178,179],{},"defineMcpResource",[173,181,182],{},"defineMcpPrompt",[173,184,185],{},"defineMcpHandler",[170,187,188,176,191,176,194,176,197],{},[173,189,190],{},"textResult",[173,192,193],{},"jsonResult",[173,195,196],{},"errorResult",[173,198,199],{},"imageResult",[170,201,202,176,205],{},[173,203,204],{},"completable",[173,206,207],{},"extractToolNames",[170,209,210,176,213],{},[173,211,212],{},"useMcpSession",[173,214,215],{},"useMcpServer",[150,217,218],{},[163,219,220],{},"Types:",[167,222,223,229,235],{},[170,224,225,228],{},[173,226,227],{},"McpToolExtra"," — extra arguments passed to tool handlers (abort signal, auth info, session ID, metadata)",[170,230,231,234],{},[173,232,233],{},"McpPromptExtra"," — extra arguments passed to prompt handlers",[170,236,237,240],{},[173,238,239],{},"McpResourceExtra"," — extra arguments passed to resource handlers",[242,243,248],"pre",{"className":244,"code":245,"language":246,"meta":247,"style":247},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { z } from 'zod'\n\nexport default defineMcpTool({\n  name: 'example',\n  inputSchema: {\n    message: z.string(),\n  },\n  handler: async ({ message }, extra: McpToolExtra) => {\n    \u002F\u002F message is typed as string\n    \u002F\u002F extra.signal, extra.authInfo, extra.sessionId are available\n  },\n})\n","typescript","",[173,249,250,283,290,309,330,341,362,368,407,414,420,425],{"__ignoreMap":247},[251,252,255,259,263,267,270,273,276,280],"span",{"class":253,"line":254},"line",1,[251,256,258],{"class":257},"s7zQu","import",[251,260,262],{"class":261},"sMK4o"," {",[251,264,266],{"class":265},"sTEyZ"," z",[251,268,269],{"class":261}," }",[251,271,272],{"class":257}," from",[251,274,275],{"class":261}," '",[251,277,279],{"class":278},"sfazB","zod",[251,281,282],{"class":261},"'\n",[251,284,286],{"class":253,"line":285},2,[251,287,289],{"emptyLinePlaceholder":288},true,"\n",[251,291,293,296,299,303,306],{"class":253,"line":292},3,[251,294,295],{"class":257},"export",[251,297,298],{"class":257}," default",[251,300,302],{"class":301},"s2Zo4"," defineMcpTool",[251,304,305],{"class":265},"(",[251,307,308],{"class":261},"{\n",[251,310,312,316,319,321,324,327],{"class":253,"line":311},4,[251,313,315],{"class":314},"swJcz","  name",[251,317,318],{"class":261},":",[251,320,275],{"class":261},[251,322,323],{"class":278},"example",[251,325,326],{"class":261},"'",[251,328,329],{"class":261},",\n",[251,331,333,336,338],{"class":253,"line":332},5,[251,334,335],{"class":314},"  inputSchema",[251,337,318],{"class":261},[251,339,340],{"class":261}," {\n",[251,342,344,347,349,351,354,357,360],{"class":253,"line":343},6,[251,345,346],{"class":314},"    message",[251,348,318],{"class":261},[251,350,266],{"class":265},[251,352,353],{"class":261},".",[251,355,356],{"class":301},"string",[251,358,359],{"class":265},"()",[251,361,329],{"class":261},[251,363,365],{"class":253,"line":364},7,[251,366,367],{"class":261},"  },\n",[251,369,371,374,376,380,383,387,390,393,395,399,402,405],{"class":253,"line":370},8,[251,372,373],{"class":301},"  handler",[251,375,318],{"class":261},[251,377,379],{"class":378},"spNyl"," async",[251,381,382],{"class":261}," ({",[251,384,386],{"class":385},"sHdIc"," message",[251,388,389],{"class":261}," },",[251,391,392],{"class":385}," extra",[251,394,318],{"class":261},[251,396,398],{"class":397},"sBMFI"," McpToolExtra",[251,400,401],{"class":261},")",[251,403,404],{"class":378}," =>",[251,406,340],{"class":261},[251,408,410],{"class":253,"line":409},9,[251,411,413],{"class":412},"sHwdD","    \u002F\u002F message is typed as string\n",[251,415,417],{"class":253,"line":416},10,[251,418,419],{"class":412},"    \u002F\u002F extra.signal, extra.authInfo, extra.sessionId are available\n",[251,421,423],{"class":253,"line":422},11,[251,424,367],{"class":261},[251,426,428,431],{"class":253,"line":427},12,[251,429,430],{"class":261},"}",[251,432,433],{"class":265},")\n",[150,435,436,437,440,441,445,446,449],{},"You can disable auto-imports entirely with ",[173,438,439],{},"autoImports: false"," in your ",[442,443,444],"a",{"href":21},"configuration"," and import explicitly from ",[173,447,448],{},"@nuxtjs\u002Fmcp-toolkit\u002Fserver"," instead.",[145,451,453],{"id":452},"type-inference","Type Inference",[455,456,458],"h3",{"id":457},"tool-input-types","Tool Input Types",[150,460,461,462,318],{},"Input types are automatically inferred from your ",[173,463,464],{},"inputSchema",[242,466,468],{"className":244,"code":467,"language":246,"meta":247,"style":247},"import { z } from 'zod'\nimport { defineMcpTool } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpTool({\n  name: 'example',\n  inputSchema: {\n    name: z.string(),\n    age: z.number(),\n    email: z.string().email().optional(),\n  },\n  handler: async ({ name, age, email }) => {\n    \u002F\u002F name: string\n    \u002F\u002F age: number\n    \u002F\u002F email: string | undefined\n  },\n})\n",[173,469,470,488,506,510,522,536,544,561,579,610,614,645,650,656,662,667],{"__ignoreMap":247},[251,471,472,474,476,478,480,482,484,486],{"class":253,"line":254},[251,473,258],{"class":257},[251,475,262],{"class":261},[251,477,266],{"class":265},[251,479,269],{"class":261},[251,481,272],{"class":257},[251,483,275],{"class":261},[251,485,279],{"class":278},[251,487,282],{"class":261},[251,489,490,492,494,496,498,500,502,504],{"class":253,"line":285},[251,491,258],{"class":257},[251,493,262],{"class":261},[251,495,302],{"class":265},[251,497,269],{"class":261},[251,499,272],{"class":257},[251,501,275],{"class":261},[251,503,448],{"class":278},[251,505,282],{"class":261},[251,507,508],{"class":253,"line":292},[251,509,289],{"emptyLinePlaceholder":288},[251,511,512,514,516,518,520],{"class":253,"line":311},[251,513,295],{"class":257},[251,515,298],{"class":257},[251,517,302],{"class":301},[251,519,305],{"class":265},[251,521,308],{"class":261},[251,523,524,526,528,530,532,534],{"class":253,"line":332},[251,525,315],{"class":314},[251,527,318],{"class":261},[251,529,275],{"class":261},[251,531,323],{"class":278},[251,533,326],{"class":261},[251,535,329],{"class":261},[251,537,538,540,542],{"class":253,"line":343},[251,539,335],{"class":314},[251,541,318],{"class":261},[251,543,340],{"class":261},[251,545,546,549,551,553,555,557,559],{"class":253,"line":364},[251,547,548],{"class":314},"    name",[251,550,318],{"class":261},[251,552,266],{"class":265},[251,554,353],{"class":261},[251,556,356],{"class":301},[251,558,359],{"class":265},[251,560,329],{"class":261},[251,562,563,566,568,570,572,575,577],{"class":253,"line":370},[251,564,565],{"class":314},"    age",[251,567,318],{"class":261},[251,569,266],{"class":265},[251,571,353],{"class":261},[251,573,574],{"class":301},"number",[251,576,359],{"class":265},[251,578,329],{"class":261},[251,580,581,584,586,588,590,592,594,596,599,601,603,606,608],{"class":253,"line":409},[251,582,583],{"class":314},"    email",[251,585,318],{"class":261},[251,587,266],{"class":265},[251,589,353],{"class":261},[251,591,356],{"class":301},[251,593,359],{"class":265},[251,595,353],{"class":261},[251,597,598],{"class":301},"email",[251,600,359],{"class":265},[251,602,353],{"class":261},[251,604,605],{"class":301},"optional",[251,607,359],{"class":265},[251,609,329],{"class":261},[251,611,612],{"class":253,"line":416},[251,613,367],{"class":261},[251,615,616,618,620,622,624,627,630,633,635,638,641,643],{"class":253,"line":422},[251,617,373],{"class":301},[251,619,318],{"class":261},[251,621,379],{"class":378},[251,623,382],{"class":261},[251,625,626],{"class":385}," name",[251,628,629],{"class":261},",",[251,631,632],{"class":385}," age",[251,634,629],{"class":261},[251,636,637],{"class":385}," email",[251,639,640],{"class":261}," })",[251,642,404],{"class":378},[251,644,340],{"class":261},[251,646,647],{"class":253,"line":427},[251,648,649],{"class":412},"    \u002F\u002F name: string\n",[251,651,653],{"class":253,"line":652},13,[251,654,655],{"class":412},"    \u002F\u002F age: number\n",[251,657,659],{"class":253,"line":658},14,[251,660,661],{"class":412},"    \u002F\u002F email: string | undefined\n",[251,663,665],{"class":253,"line":664},15,[251,666,367],{"class":261},[251,668,670,672],{"class":253,"line":669},16,[251,671,430],{"class":261},[251,673,433],{"class":265},[455,675,677],{"id":676},"tool-output-types","Tool Output Types",[150,679,680,681,318],{},"Output types are inferred from ",[173,682,683],{},"outputSchema",[242,685,687],{"className":244,"code":686,"language":246,"meta":247,"style":247},"import { z } from 'zod'\nimport { defineMcpTool } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpTool({\n  name: 'example',\n  inputSchema: {\n    value: z.number(),\n  },\n  outputSchema: {\n    result: z.number(),\n    doubled: z.number(),\n  },\n  handler: async ({ value }) => {\n    const result = value * 2\n\n    return {\n      structuredContent: {\n        result,      \u002F\u002F TypeScript knows this is number\n        doubled: result * 2, \u002F\u002F TypeScript knows this is number\n      },\n    }\n  },\n})\n",[173,688,689,707,725,729,741,755,763,780,784,793,810,827,831,850,870,874,881,891,902,922,928,934,939],{"__ignoreMap":247},[251,690,691,693,695,697,699,701,703,705],{"class":253,"line":254},[251,692,258],{"class":257},[251,694,262],{"class":261},[251,696,266],{"class":265},[251,698,269],{"class":261},[251,700,272],{"class":257},[251,702,275],{"class":261},[251,704,279],{"class":278},[251,706,282],{"class":261},[251,708,709,711,713,715,717,719,721,723],{"class":253,"line":285},[251,710,258],{"class":257},[251,712,262],{"class":261},[251,714,302],{"class":265},[251,716,269],{"class":261},[251,718,272],{"class":257},[251,720,275],{"class":261},[251,722,448],{"class":278},[251,724,282],{"class":261},[251,726,727],{"class":253,"line":292},[251,728,289],{"emptyLinePlaceholder":288},[251,730,731,733,735,737,739],{"class":253,"line":311},[251,732,295],{"class":257},[251,734,298],{"class":257},[251,736,302],{"class":301},[251,738,305],{"class":265},[251,740,308],{"class":261},[251,742,743,745,747,749,751,753],{"class":253,"line":332},[251,744,315],{"class":314},[251,746,318],{"class":261},[251,748,275],{"class":261},[251,750,323],{"class":278},[251,752,326],{"class":261},[251,754,329],{"class":261},[251,756,757,759,761],{"class":253,"line":343},[251,758,335],{"class":314},[251,760,318],{"class":261},[251,762,340],{"class":261},[251,764,765,768,770,772,774,776,778],{"class":253,"line":364},[251,766,767],{"class":314},"    value",[251,769,318],{"class":261},[251,771,266],{"class":265},[251,773,353],{"class":261},[251,775,574],{"class":301},[251,777,359],{"class":265},[251,779,329],{"class":261},[251,781,782],{"class":253,"line":370},[251,783,367],{"class":261},[251,785,786,789,791],{"class":253,"line":409},[251,787,788],{"class":314},"  outputSchema",[251,790,318],{"class":261},[251,792,340],{"class":261},[251,794,795,798,800,802,804,806,808],{"class":253,"line":416},[251,796,797],{"class":314},"    result",[251,799,318],{"class":261},[251,801,266],{"class":265},[251,803,353],{"class":261},[251,805,574],{"class":301},[251,807,359],{"class":265},[251,809,329],{"class":261},[251,811,812,815,817,819,821,823,825],{"class":253,"line":422},[251,813,814],{"class":314},"    doubled",[251,816,318],{"class":261},[251,818,266],{"class":265},[251,820,353],{"class":261},[251,822,574],{"class":301},[251,824,359],{"class":265},[251,826,329],{"class":261},[251,828,829],{"class":253,"line":427},[251,830,367],{"class":261},[251,832,833,835,837,839,841,844,846,848],{"class":253,"line":652},[251,834,373],{"class":301},[251,836,318],{"class":261},[251,838,379],{"class":378},[251,840,382],{"class":261},[251,842,843],{"class":385}," value",[251,845,640],{"class":261},[251,847,404],{"class":378},[251,849,340],{"class":261},[251,851,852,855,858,861,863,866],{"class":253,"line":658},[251,853,854],{"class":378},"    const",[251,856,857],{"class":265}," result",[251,859,860],{"class":261}," =",[251,862,843],{"class":265},[251,864,865],{"class":261}," *",[251,867,869],{"class":868},"sbssI"," 2\n",[251,871,872],{"class":253,"line":664},[251,873,289],{"emptyLinePlaceholder":288},[251,875,876,879],{"class":253,"line":669},[251,877,878],{"class":257},"    return",[251,880,340],{"class":261},[251,882,884,887,889],{"class":253,"line":883},17,[251,885,886],{"class":314},"      structuredContent",[251,888,318],{"class":261},[251,890,340],{"class":261},[251,892,894,897,899],{"class":253,"line":893},18,[251,895,896],{"class":265},"        result",[251,898,629],{"class":261},[251,900,901],{"class":412},"      \u002F\u002F TypeScript knows this is number\n",[251,903,905,908,910,912,914,917,919],{"class":253,"line":904},19,[251,906,907],{"class":314},"        doubled",[251,909,318],{"class":261},[251,911,857],{"class":265},[251,913,865],{"class":261},[251,915,916],{"class":868}," 2",[251,918,629],{"class":261},[251,920,921],{"class":412}," \u002F\u002F TypeScript knows this is number\n",[251,923,925],{"class":253,"line":924},20,[251,926,927],{"class":261},"      },\n",[251,929,931],{"class":253,"line":930},21,[251,932,933],{"class":261},"    }\n",[251,935,937],{"class":253,"line":936},22,[251,938,367],{"class":261},[251,940,942,944],{"class":253,"line":941},23,[251,943,430],{"class":261},[251,945,433],{"class":265},[455,947,949],{"id":948},"prompt-argument-types","Prompt Argument Types",[150,951,952,953,318],{},"Prompt argument types are inferred from ",[173,954,464],{},[242,956,958],{"className":244,"code":957,"language":246,"meta":247,"style":247},"import { defineMcpPrompt } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpPrompt({\n  name: 'example',\n  inputSchema: {\n    text: z.string(),\n    maxLength: z.string().optional(),\n  },\n  handler: async ({ text, maxLength }) => {\n    \u002F\u002F text: string\n    \u002F\u002F maxLength: string | undefined\n  },\n})\n",[173,959,960,979,983,995,1009,1017,1034,1057,1061,1085,1090,1095,1099],{"__ignoreMap":247},[251,961,962,964,966,969,971,973,975,977],{"class":253,"line":254},[251,963,258],{"class":257},[251,965,262],{"class":261},[251,967,968],{"class":265}," defineMcpPrompt",[251,970,269],{"class":261},[251,972,272],{"class":257},[251,974,275],{"class":261},[251,976,448],{"class":278},[251,978,282],{"class":261},[251,980,981],{"class":253,"line":285},[251,982,289],{"emptyLinePlaceholder":288},[251,984,985,987,989,991,993],{"class":253,"line":292},[251,986,295],{"class":257},[251,988,298],{"class":257},[251,990,968],{"class":301},[251,992,305],{"class":265},[251,994,308],{"class":261},[251,996,997,999,1001,1003,1005,1007],{"class":253,"line":311},[251,998,315],{"class":314},[251,1000,318],{"class":261},[251,1002,275],{"class":261},[251,1004,323],{"class":278},[251,1006,326],{"class":261},[251,1008,329],{"class":261},[251,1010,1011,1013,1015],{"class":253,"line":332},[251,1012,335],{"class":314},[251,1014,318],{"class":261},[251,1016,340],{"class":261},[251,1018,1019,1022,1024,1026,1028,1030,1032],{"class":253,"line":343},[251,1020,1021],{"class":314},"    text",[251,1023,318],{"class":261},[251,1025,266],{"class":265},[251,1027,353],{"class":261},[251,1029,356],{"class":301},[251,1031,359],{"class":265},[251,1033,329],{"class":261},[251,1035,1036,1039,1041,1043,1045,1047,1049,1051,1053,1055],{"class":253,"line":364},[251,1037,1038],{"class":314},"    maxLength",[251,1040,318],{"class":261},[251,1042,266],{"class":265},[251,1044,353],{"class":261},[251,1046,356],{"class":301},[251,1048,359],{"class":265},[251,1050,353],{"class":261},[251,1052,605],{"class":301},[251,1054,359],{"class":265},[251,1056,329],{"class":261},[251,1058,1059],{"class":253,"line":370},[251,1060,367],{"class":261},[251,1062,1063,1065,1067,1069,1071,1074,1076,1079,1081,1083],{"class":253,"line":409},[251,1064,373],{"class":301},[251,1066,318],{"class":261},[251,1068,379],{"class":378},[251,1070,382],{"class":261},[251,1072,1073],{"class":385}," text",[251,1075,629],{"class":261},[251,1077,1078],{"class":385}," maxLength",[251,1080,640],{"class":261},[251,1082,404],{"class":378},[251,1084,340],{"class":261},[251,1086,1087],{"class":253,"line":416},[251,1088,1089],{"class":412},"    \u002F\u002F text: string\n",[251,1091,1092],{"class":253,"line":422},[251,1093,1094],{"class":412},"    \u002F\u002F maxLength: string | undefined\n",[251,1096,1097],{"class":253,"line":427},[251,1098,367],{"class":261},[251,1100,1101,1103],{"class":253,"line":652},[251,1102,430],{"class":261},[251,1104,433],{"class":265},[145,1106,1108],{"id":1107},"runtime-config-types","Runtime Config Types",[150,1110,1111],{},"Access typed runtime configuration:",[242,1113,1116],{"className":244,"code":1114,"filename":1115,"language":246,"meta":247,"style":247},"export default defineEventHandler((event) => {\n  const config = useRuntimeConfig(event).mcp\n\n  \u002F\u002F config is typed with:\n  \u002F\u002F - enabled: boolean\n  \u002F\u002F - route: string\n  \u002F\u002F - browserRedirect: string\n  \u002F\u002F - name: string\n  \u002F\u002F - version: string\n  \u002F\u002F - dir: string\n\n  return config\n})\n","server\u002Fapi\u002Fconfig.ts",[173,1117,1118,1140,1164,1168,1173,1178,1183,1188,1193,1198,1203,1207,1215],{"__ignoreMap":247},[251,1119,1120,1122,1124,1127,1129,1131,1134,1136,1138],{"class":253,"line":254},[251,1121,295],{"class":257},[251,1123,298],{"class":257},[251,1125,1126],{"class":301}," defineEventHandler",[251,1128,305],{"class":265},[251,1130,305],{"class":261},[251,1132,1133],{"class":385},"event",[251,1135,401],{"class":261},[251,1137,404],{"class":378},[251,1139,340],{"class":261},[251,1141,1142,1145,1148,1150,1153,1155,1157,1159,1161],{"class":253,"line":285},[251,1143,1144],{"class":378},"  const",[251,1146,1147],{"class":265}," config",[251,1149,860],{"class":261},[251,1151,1152],{"class":301}," useRuntimeConfig",[251,1154,305],{"class":314},[251,1156,1133],{"class":265},[251,1158,401],{"class":314},[251,1160,353],{"class":261},[251,1162,1163],{"class":265},"mcp\n",[251,1165,1166],{"class":253,"line":292},[251,1167,289],{"emptyLinePlaceholder":288},[251,1169,1170],{"class":253,"line":311},[251,1171,1172],{"class":412},"  \u002F\u002F config is typed with:\n",[251,1174,1175],{"class":253,"line":332},[251,1176,1177],{"class":412},"  \u002F\u002F - enabled: boolean\n",[251,1179,1180],{"class":253,"line":343},[251,1181,1182],{"class":412},"  \u002F\u002F - route: string\n",[251,1184,1185],{"class":253,"line":364},[251,1186,1187],{"class":412},"  \u002F\u002F - browserRedirect: string\n",[251,1189,1190],{"class":253,"line":370},[251,1191,1192],{"class":412},"  \u002F\u002F - name: string\n",[251,1194,1195],{"class":253,"line":409},[251,1196,1197],{"class":412},"  \u002F\u002F - version: string\n",[251,1199,1200],{"class":253,"line":416},[251,1201,1202],{"class":412},"  \u002F\u002F - dir: string\n",[251,1204,1205],{"class":253,"line":422},[251,1206,289],{"emptyLinePlaceholder":288},[251,1208,1209,1212],{"class":253,"line":427},[251,1210,1211],{"class":257},"  return",[251,1213,1214],{"class":265}," config\n",[251,1216,1217,1219],{"class":253,"line":652},[251,1218,430],{"class":261},[251,1220,433],{"class":265},[145,1222,1224],{"id":1223},"next-steps","Next Steps",[167,1226,1227,1232,1237],{},[170,1228,1229,1231],{},[442,1230,46],{"href":47}," - Learn about creating tools",[170,1233,1234,1236],{},[442,1235,51],{"href":52}," - Learn about creating resources",[170,1238,1239,1241],{},[442,1240,56],{"href":57}," - Learn about creating prompts",[1243,1244,1245],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .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 .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}",{"title":247,"searchDepth":285,"depth":285,"links":1247},[1248,1249,1250,1255,1256],{"id":147,"depth":285,"text":148},{"id":155,"depth":285,"text":156},{"id":452,"depth":285,"text":453,"children":1251},[1252,1253,1254],{"id":457,"depth":292,"text":458},{"id":676,"depth":292,"text":677},{"id":948,"depth":292,"text":949},{"id":1107,"depth":285,"text":1108},{"id":1223,"depth":285,"text":1224},"Type safety and TypeScript features in the Nuxt MCP module.","md",null,{},{"icon":84},{"title":81,"description":1263},"Full TypeScript support with auto-imports and type safety.","ohkKHxAlkWwyzhNl0uVWAdVfRbQpTcOII1mbLhfOXFU",[1266,1268],{"title":76,"path":77,"stem":78,"description":1267,"icon":79,"children":-1},"Intercept MCP requests to add authentication, logging, analytics, and more.",{"title":86,"path":87,"stem":88,"description":1269,"icon":89,"children":-1},"Use Nuxt hooks to extend and customize the MCP module.",1774911201943]