[{"data":1,"prerenderedAt":1267},["ShallowReactive",2],{"navigation_docs":3,"-advanced-typescript":139,"-advanced-typescript-surround":1262},[4,40,65,110],{"title":5,"path":6,"stem":7,"children":8,"page":39},"入门指南","\u002Fgetting-started","1.getting-started",[9,14,19,24,29,34],{"title":10,"path":11,"stem":12,"icon":13},"简介","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-book-open",{"title":15,"path":16,"stem":17,"icon":18},"安装","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"配置","\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},"连接","\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},"核心概念","\u002Fcore-concepts","2.core-concepts",[45,50,55,60],{"title":46,"path":47,"stem":48,"icon":49},"工具","\u002Fcore-concepts\u002Ftools","2.core-concepts\u002F2.tools","i-lucide-wrench",{"title":51,"path":52,"stem":53,"icon":54},"资源","\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},"进阶主题","\u002Fadvanced","3.advanced",[70,75,80,85,90,95,100,105],{"title":71,"path":72,"stem":73,"icon":74},"自定义路径","\u002Fadvanced\u002Fcustom-paths","3.advanced\u002F1.custom-paths","i-lucide-folder",{"title":76,"path":77,"stem":78,"icon":79},"中间件","\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},"钩子","\u002Fadvanced\u002Fhooks","3.advanced\u002F4.hooks","i-lucide-webhook",{"title":91,"path":92,"stem":93,"icon":94},"MCP 评估","\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},"动态定义","\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},"示例","\u002Fexamples","4.examples",[115,120,125,130,135],{"title":116,"path":117,"stem":118,"icon":119},"身份验证","\u002Fexamples\u002Fauthentication","4.examples\u002F1.authentication","i-lucide-shield-check",{"title":121,"path":122,"stem":123,"icon":124},"API 集成","\u002Fexamples\u002Fapi-integration","4.examples\u002F2.api-integration","i-lucide-globe",{"title":126,"path":127,"stem":128,"icon":129},"常见模式","\u002Fexamples\u002Fcommon-patterns","4.examples\u002F3.common-patterns","i-lucide-lightbulb",{"title":131,"path":132,"stem":133,"icon":134},"文件操作","\u002Fexamples\u002Ffile-operations","4.examples\u002F4.file-operations","i-lucide-file",{"title":136,"path":137,"stem":138,"icon":59},"提示词示例","\u002Fexamples\u002Fprompt-examples","4.examples\u002F5.prompt-examples",{"id":140,"title":81,"body":141,"description":1254,"extension":1255,"links":1256,"meta":1257,"navigation":1258,"path":82,"seo":1259,"stem":83,"__hash__":1261},"docs\u002F3.advanced\u002F3.typescript.md",{"type":142,"value":143,"toc":1243},"minimark",[144,148,152,155,158,164,217,222,242,435,450,453,457,464,673,676,683,945,948,953,1103,1106,1109,1218,1221,1239],[145,146,147],"h2",{"id":147},"类型安全",[149,150,151],"p",{},"Nuxt MCP 模块提供完整的 TypeScript 支持，具备全面的类型推断和类型安全。",[145,153,154],{"id":154},"自动导入",[149,156,157],{},"所有辅助函数和类型都会在你的服务器文件中自动导入：",[149,159,160],{},[161,162,163],"strong",{},"函数：",[165,166,167,184,201,209],"ul",{},[168,169,170,174,175,174,178,174,181],"li",{},[171,172,173],"code",{},"defineMcpTool",", ",[171,176,177],{},"defineMcpResource",[171,179,180],{},"defineMcpPrompt",[171,182,183],{},"defineMcpHandler",[168,185,186,174,189,174,192,174,195,174,198],{},[171,187,188],{},"textResult",[171,190,191],{},"jsonResult",[171,193,194],{},"errorResult",[171,196,197],{},"imageResult",[171,199,200],{},"audioResult",[168,202,203,174,206],{},[171,204,205],{},"completable",[171,207,208],{},"extractToolNames",[168,210,211,174,214],{},[171,212,213],{},"useMcpSession",[171,215,216],{},"useMcpServer",[149,218,219],{},[161,220,221],{},"类型：",[165,223,224,230,236],{},[168,225,226,229],{},[171,227,228],{},"McpToolExtra"," — 传递给工具处理器的额外参数（中止信号、认证信息、会话 ID、元数据）",[168,231,232,235],{},[171,233,234],{},"McpPromptExtra"," — 传递给提示词处理器的额外参数",[168,237,238,241],{},[171,239,240],{},"McpResourceExtra"," — 传递给资源处理器的额外参数",[243,244,249],"pre",{"className":245,"code":246,"language":247,"meta":248,"style":248},"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 的类型为 string\n    \u002F\u002F 可使用 extra.signal、extra.authInfo、extra.sessionId\n  },\n})\n","typescript","",[171,250,251,284,291,310,331,342,363,369,408,415,421,426],{"__ignoreMap":248},[252,253,256,260,264,268,271,274,277,281],"span",{"class":254,"line":255},"line",1,[252,257,259],{"class":258},"s7zQu","import",[252,261,263],{"class":262},"sMK4o"," {",[252,265,267],{"class":266},"sTEyZ"," z",[252,269,270],{"class":262}," }",[252,272,273],{"class":258}," from",[252,275,276],{"class":262}," '",[252,278,280],{"class":279},"sfazB","zod",[252,282,283],{"class":262},"'\n",[252,285,287],{"class":254,"line":286},2,[252,288,290],{"emptyLinePlaceholder":289},true,"\n",[252,292,294,297,300,304,307],{"class":254,"line":293},3,[252,295,296],{"class":258},"export",[252,298,299],{"class":258}," default",[252,301,303],{"class":302},"s2Zo4"," defineMcpTool",[252,305,306],{"class":266},"(",[252,308,309],{"class":262},"{\n",[252,311,313,317,320,322,325,328],{"class":254,"line":312},4,[252,314,316],{"class":315},"swJcz","  name",[252,318,319],{"class":262},":",[252,321,276],{"class":262},[252,323,324],{"class":279},"example",[252,326,327],{"class":262},"'",[252,329,330],{"class":262},",\n",[252,332,334,337,339],{"class":254,"line":333},5,[252,335,336],{"class":315},"  inputSchema",[252,338,319],{"class":262},[252,340,341],{"class":262}," {\n",[252,343,345,348,350,352,355,358,361],{"class":254,"line":344},6,[252,346,347],{"class":315},"    message",[252,349,319],{"class":262},[252,351,267],{"class":266},[252,353,354],{"class":262},".",[252,356,357],{"class":302},"string",[252,359,360],{"class":266},"()",[252,362,330],{"class":262},[252,364,366],{"class":254,"line":365},7,[252,367,368],{"class":262},"  },\n",[252,370,372,375,377,381,384,388,391,394,396,400,403,406],{"class":254,"line":371},8,[252,373,374],{"class":302},"  handler",[252,376,319],{"class":262},[252,378,380],{"class":379},"spNyl"," async",[252,382,383],{"class":262}," ({",[252,385,387],{"class":386},"sHdIc"," message",[252,389,390],{"class":262}," },",[252,392,393],{"class":386}," extra",[252,395,319],{"class":262},[252,397,399],{"class":398},"sBMFI"," McpToolExtra",[252,401,402],{"class":262},")",[252,404,405],{"class":379}," =>",[252,407,341],{"class":262},[252,409,411],{"class":254,"line":410},9,[252,412,414],{"class":413},"sHwdD","    \u002F\u002F message 的类型为 string\n",[252,416,418],{"class":254,"line":417},10,[252,419,420],{"class":413},"    \u002F\u002F 可使用 extra.signal、extra.authInfo、extra.sessionId\n",[252,422,424],{"class":254,"line":423},11,[252,425,368],{"class":262},[252,427,429,432],{"class":254,"line":428},12,[252,430,431],{"class":262},"}",[252,433,434],{"class":266},")\n",[149,436,437,438,441,442,445,446,449],{},"你可以在",[439,440,20],"a",{"href":21},"中设置 ",[171,443,444],{},"autoImports: false"," 来完全禁用自动导入，并改为从 ",[171,447,448],{},"@nuxtjs\u002Fmcp-toolkit\u002Fserver"," 显式导入。",[145,451,452],{"id":452},"类型推断",[454,455,456],"h3",{"id":456},"工具输入类型",[149,458,459,460,463],{},"输入类型会根据你的 ",[171,461,462],{},"inputSchema"," 自动推断：",[243,465,467],{"className":245,"code":466,"language":247,"meta":248,"style":248},"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",[171,468,469,487,505,509,521,535,543,560,578,609,613,644,649,655,661,666],{"__ignoreMap":248},[252,470,471,473,475,477,479,481,483,485],{"class":254,"line":255},[252,472,259],{"class":258},[252,474,263],{"class":262},[252,476,267],{"class":266},[252,478,270],{"class":262},[252,480,273],{"class":258},[252,482,276],{"class":262},[252,484,280],{"class":279},[252,486,283],{"class":262},[252,488,489,491,493,495,497,499,501,503],{"class":254,"line":286},[252,490,259],{"class":258},[252,492,263],{"class":262},[252,494,303],{"class":266},[252,496,270],{"class":262},[252,498,273],{"class":258},[252,500,276],{"class":262},[252,502,448],{"class":279},[252,504,283],{"class":262},[252,506,507],{"class":254,"line":293},[252,508,290],{"emptyLinePlaceholder":289},[252,510,511,513,515,517,519],{"class":254,"line":312},[252,512,296],{"class":258},[252,514,299],{"class":258},[252,516,303],{"class":302},[252,518,306],{"class":266},[252,520,309],{"class":262},[252,522,523,525,527,529,531,533],{"class":254,"line":333},[252,524,316],{"class":315},[252,526,319],{"class":262},[252,528,276],{"class":262},[252,530,324],{"class":279},[252,532,327],{"class":262},[252,534,330],{"class":262},[252,536,537,539,541],{"class":254,"line":344},[252,538,336],{"class":315},[252,540,319],{"class":262},[252,542,341],{"class":262},[252,544,545,548,550,552,554,556,558],{"class":254,"line":365},[252,546,547],{"class":315},"    name",[252,549,319],{"class":262},[252,551,267],{"class":266},[252,553,354],{"class":262},[252,555,357],{"class":302},[252,557,360],{"class":266},[252,559,330],{"class":262},[252,561,562,565,567,569,571,574,576],{"class":254,"line":371},[252,563,564],{"class":315},"    age",[252,566,319],{"class":262},[252,568,267],{"class":266},[252,570,354],{"class":262},[252,572,573],{"class":302},"number",[252,575,360],{"class":266},[252,577,330],{"class":262},[252,579,580,583,585,587,589,591,593,595,598,600,602,605,607],{"class":254,"line":410},[252,581,582],{"class":315},"    email",[252,584,319],{"class":262},[252,586,267],{"class":266},[252,588,354],{"class":262},[252,590,357],{"class":302},[252,592,360],{"class":266},[252,594,354],{"class":262},[252,596,597],{"class":302},"email",[252,599,360],{"class":266},[252,601,354],{"class":262},[252,603,604],{"class":302},"optional",[252,606,360],{"class":266},[252,608,330],{"class":262},[252,610,611],{"class":254,"line":417},[252,612,368],{"class":262},[252,614,615,617,619,621,623,626,629,632,634,637,640,642],{"class":254,"line":423},[252,616,374],{"class":302},[252,618,319],{"class":262},[252,620,380],{"class":379},[252,622,383],{"class":262},[252,624,625],{"class":386}," name",[252,627,628],{"class":262},",",[252,630,631],{"class":386}," age",[252,633,628],{"class":262},[252,635,636],{"class":386}," email",[252,638,639],{"class":262}," })",[252,641,405],{"class":379},[252,643,341],{"class":262},[252,645,646],{"class":254,"line":428},[252,647,648],{"class":413},"    \u002F\u002F name: string\n",[252,650,652],{"class":254,"line":651},13,[252,653,654],{"class":413},"    \u002F\u002F age: number\n",[252,656,658],{"class":254,"line":657},14,[252,659,660],{"class":413},"    \u002F\u002F email: string | undefined\n",[252,662,664],{"class":254,"line":663},15,[252,665,368],{"class":262},[252,667,669,671],{"class":254,"line":668},16,[252,670,431],{"class":262},[252,672,434],{"class":266},[454,674,675],{"id":675},"工具输出类型",[149,677,678,679,682],{},"输出类型会根据 ",[171,680,681],{},"outputSchema"," 进行推断：",[243,684,686],{"className":245,"code":685,"language":247,"meta":248,"style":248},"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 知道这是 number 类型\n        doubled: result * 2, \u002F\u002F TypeScript 知道这是 number 类型\n      },\n    }\n  },\n})\n",[171,687,688,706,724,728,740,754,762,779,783,792,809,826,830,849,869,873,880,890,901,921,927,933,938],{"__ignoreMap":248},[252,689,690,692,694,696,698,700,702,704],{"class":254,"line":255},[252,691,259],{"class":258},[252,693,263],{"class":262},[252,695,267],{"class":266},[252,697,270],{"class":262},[252,699,273],{"class":258},[252,701,276],{"class":262},[252,703,280],{"class":279},[252,705,283],{"class":262},[252,707,708,710,712,714,716,718,720,722],{"class":254,"line":286},[252,709,259],{"class":258},[252,711,263],{"class":262},[252,713,303],{"class":266},[252,715,270],{"class":262},[252,717,273],{"class":258},[252,719,276],{"class":262},[252,721,448],{"class":279},[252,723,283],{"class":262},[252,725,726],{"class":254,"line":293},[252,727,290],{"emptyLinePlaceholder":289},[252,729,730,732,734,736,738],{"class":254,"line":312},[252,731,296],{"class":258},[252,733,299],{"class":258},[252,735,303],{"class":302},[252,737,306],{"class":266},[252,739,309],{"class":262},[252,741,742,744,746,748,750,752],{"class":254,"line":333},[252,743,316],{"class":315},[252,745,319],{"class":262},[252,747,276],{"class":262},[252,749,324],{"class":279},[252,751,327],{"class":262},[252,753,330],{"class":262},[252,755,756,758,760],{"class":254,"line":344},[252,757,336],{"class":315},[252,759,319],{"class":262},[252,761,341],{"class":262},[252,763,764,767,769,771,773,775,777],{"class":254,"line":365},[252,765,766],{"class":315},"    value",[252,768,319],{"class":262},[252,770,267],{"class":266},[252,772,354],{"class":262},[252,774,573],{"class":302},[252,776,360],{"class":266},[252,778,330],{"class":262},[252,780,781],{"class":254,"line":371},[252,782,368],{"class":262},[252,784,785,788,790],{"class":254,"line":410},[252,786,787],{"class":315},"  outputSchema",[252,789,319],{"class":262},[252,791,341],{"class":262},[252,793,794,797,799,801,803,805,807],{"class":254,"line":417},[252,795,796],{"class":315},"    result",[252,798,319],{"class":262},[252,800,267],{"class":266},[252,802,354],{"class":262},[252,804,573],{"class":302},[252,806,360],{"class":266},[252,808,330],{"class":262},[252,810,811,814,816,818,820,822,824],{"class":254,"line":423},[252,812,813],{"class":315},"    doubled",[252,815,319],{"class":262},[252,817,267],{"class":266},[252,819,354],{"class":262},[252,821,573],{"class":302},[252,823,360],{"class":266},[252,825,330],{"class":262},[252,827,828],{"class":254,"line":428},[252,829,368],{"class":262},[252,831,832,834,836,838,840,843,845,847],{"class":254,"line":651},[252,833,374],{"class":302},[252,835,319],{"class":262},[252,837,380],{"class":379},[252,839,383],{"class":262},[252,841,842],{"class":386}," value",[252,844,639],{"class":262},[252,846,405],{"class":379},[252,848,341],{"class":262},[252,850,851,854,857,860,862,865],{"class":254,"line":657},[252,852,853],{"class":379},"    const",[252,855,856],{"class":266}," result",[252,858,859],{"class":262}," =",[252,861,842],{"class":266},[252,863,864],{"class":262}," *",[252,866,868],{"class":867},"sbssI"," 2\n",[252,870,871],{"class":254,"line":663},[252,872,290],{"emptyLinePlaceholder":289},[252,874,875,878],{"class":254,"line":668},[252,876,877],{"class":258},"    return",[252,879,341],{"class":262},[252,881,883,886,888],{"class":254,"line":882},17,[252,884,885],{"class":315},"      structuredContent",[252,887,319],{"class":262},[252,889,341],{"class":262},[252,891,893,896,898],{"class":254,"line":892},18,[252,894,895],{"class":266},"        result",[252,897,628],{"class":262},[252,899,900],{"class":413},"      \u002F\u002F TypeScript 知道这是 number 类型\n",[252,902,904,907,909,911,913,916,918],{"class":254,"line":903},19,[252,905,906],{"class":315},"        doubled",[252,908,319],{"class":262},[252,910,856],{"class":266},[252,912,864],{"class":262},[252,914,915],{"class":867}," 2",[252,917,628],{"class":262},[252,919,920],{"class":413}," \u002F\u002F TypeScript 知道这是 number 类型\n",[252,922,924],{"class":254,"line":923},20,[252,925,926],{"class":262},"      },\n",[252,928,930],{"class":254,"line":929},21,[252,931,932],{"class":262},"    }\n",[252,934,936],{"class":254,"line":935},22,[252,937,368],{"class":262},[252,939,941,943],{"class":254,"line":940},23,[252,942,431],{"class":262},[252,944,434],{"class":266},[454,946,947],{"id":947},"提示词参数类型",[149,949,950,951,682],{},"提示词参数类型会根据 ",[171,952,462],{},[243,954,956],{"className":245,"code":955,"language":247,"meta":248,"style":248},"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",[171,957,958,977,981,993,1007,1015,1032,1055,1059,1083,1088,1093,1097],{"__ignoreMap":248},[252,959,960,962,964,967,969,971,973,975],{"class":254,"line":255},[252,961,259],{"class":258},[252,963,263],{"class":262},[252,965,966],{"class":266}," defineMcpPrompt",[252,968,270],{"class":262},[252,970,273],{"class":258},[252,972,276],{"class":262},[252,974,448],{"class":279},[252,976,283],{"class":262},[252,978,979],{"class":254,"line":286},[252,980,290],{"emptyLinePlaceholder":289},[252,982,983,985,987,989,991],{"class":254,"line":293},[252,984,296],{"class":258},[252,986,299],{"class":258},[252,988,966],{"class":302},[252,990,306],{"class":266},[252,992,309],{"class":262},[252,994,995,997,999,1001,1003,1005],{"class":254,"line":312},[252,996,316],{"class":315},[252,998,319],{"class":262},[252,1000,276],{"class":262},[252,1002,324],{"class":279},[252,1004,327],{"class":262},[252,1006,330],{"class":262},[252,1008,1009,1011,1013],{"class":254,"line":333},[252,1010,336],{"class":315},[252,1012,319],{"class":262},[252,1014,341],{"class":262},[252,1016,1017,1020,1022,1024,1026,1028,1030],{"class":254,"line":344},[252,1018,1019],{"class":315},"    text",[252,1021,319],{"class":262},[252,1023,267],{"class":266},[252,1025,354],{"class":262},[252,1027,357],{"class":302},[252,1029,360],{"class":266},[252,1031,330],{"class":262},[252,1033,1034,1037,1039,1041,1043,1045,1047,1049,1051,1053],{"class":254,"line":365},[252,1035,1036],{"class":315},"    maxLength",[252,1038,319],{"class":262},[252,1040,267],{"class":266},[252,1042,354],{"class":262},[252,1044,357],{"class":302},[252,1046,360],{"class":266},[252,1048,354],{"class":262},[252,1050,604],{"class":302},[252,1052,360],{"class":266},[252,1054,330],{"class":262},[252,1056,1057],{"class":254,"line":371},[252,1058,368],{"class":262},[252,1060,1061,1063,1065,1067,1069,1072,1074,1077,1079,1081],{"class":254,"line":410},[252,1062,374],{"class":302},[252,1064,319],{"class":262},[252,1066,380],{"class":379},[252,1068,383],{"class":262},[252,1070,1071],{"class":386}," text",[252,1073,628],{"class":262},[252,1075,1076],{"class":386}," maxLength",[252,1078,639],{"class":262},[252,1080,405],{"class":379},[252,1082,341],{"class":262},[252,1084,1085],{"class":254,"line":417},[252,1086,1087],{"class":413},"    \u002F\u002F text: string\n",[252,1089,1090],{"class":254,"line":423},[252,1091,1092],{"class":413},"    \u002F\u002F maxLength: string | undefined\n",[252,1094,1095],{"class":254,"line":428},[252,1096,368],{"class":262},[252,1098,1099,1101],{"class":254,"line":651},[252,1100,431],{"class":262},[252,1102,434],{"class":266},[145,1104,1105],{"id":1105},"运行时配置类型",[149,1107,1108],{},"访问具有类型提示的运行时配置：",[243,1110,1113],{"className":245,"code":1111,"filename":1112,"language":247,"meta":248,"style":248},"export default defineEventHandler((event) => {\n  const config = useRuntimeConfig(event).mcp\n\n  \u002F\u002F config 的类型包含：\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",[171,1114,1115,1137,1161,1165,1170,1175,1180,1185,1190,1195,1200,1204,1212],{"__ignoreMap":248},[252,1116,1117,1119,1121,1124,1126,1128,1131,1133,1135],{"class":254,"line":255},[252,1118,296],{"class":258},[252,1120,299],{"class":258},[252,1122,1123],{"class":302}," defineEventHandler",[252,1125,306],{"class":266},[252,1127,306],{"class":262},[252,1129,1130],{"class":386},"event",[252,1132,402],{"class":262},[252,1134,405],{"class":379},[252,1136,341],{"class":262},[252,1138,1139,1142,1145,1147,1150,1152,1154,1156,1158],{"class":254,"line":286},[252,1140,1141],{"class":379},"  const",[252,1143,1144],{"class":266}," config",[252,1146,859],{"class":262},[252,1148,1149],{"class":302}," useRuntimeConfig",[252,1151,306],{"class":315},[252,1153,1130],{"class":266},[252,1155,402],{"class":315},[252,1157,354],{"class":262},[252,1159,1160],{"class":266},"mcp\n",[252,1162,1163],{"class":254,"line":293},[252,1164,290],{"emptyLinePlaceholder":289},[252,1166,1167],{"class":254,"line":312},[252,1168,1169],{"class":413},"  \u002F\u002F config 的类型包含：\n",[252,1171,1172],{"class":254,"line":333},[252,1173,1174],{"class":413},"  \u002F\u002F - enabled: boolean\n",[252,1176,1177],{"class":254,"line":344},[252,1178,1179],{"class":413},"  \u002F\u002F - route: string\n",[252,1181,1182],{"class":254,"line":365},[252,1183,1184],{"class":413},"  \u002F\u002F - browserRedirect: string\n",[252,1186,1187],{"class":254,"line":371},[252,1188,1189],{"class":413},"  \u002F\u002F - name: string\n",[252,1191,1192],{"class":254,"line":410},[252,1193,1194],{"class":413},"  \u002F\u002F - version: string\n",[252,1196,1197],{"class":254,"line":417},[252,1198,1199],{"class":413},"  \u002F\u002F - dir: string\n",[252,1201,1202],{"class":254,"line":423},[252,1203,290],{"emptyLinePlaceholder":289},[252,1205,1206,1209],{"class":254,"line":428},[252,1207,1208],{"class":258},"  return",[252,1210,1211],{"class":266}," config\n",[252,1213,1214,1216],{"class":254,"line":651},[252,1215,431],{"class":262},[252,1217,434],{"class":266},[145,1219,1220],{"id":1220},"下一步",[165,1222,1223,1228,1233],{},[168,1224,1225,1227],{},[439,1226,46],{"href":47}," - 了解如何创建工具",[168,1229,1230,1232],{},[439,1231,51],{"href":52}," - 了解如何创建资源",[168,1234,1235,1238],{},[439,1236,1237],{"href":57},"提示词"," - 了解如何创建提示词",[1240,1241,1242],"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":248,"searchDepth":286,"depth":286,"links":1244},[1245,1246,1247,1252,1253],{"id":147,"depth":286,"text":147},{"id":154,"depth":286,"text":154},{"id":452,"depth":286,"text":452,"children":1248},[1249,1250,1251],{"id":456,"depth":293,"text":456},{"id":675,"depth":293,"text":675},{"id":947,"depth":293,"text":947},{"id":1105,"depth":286,"text":1105},{"id":1220,"depth":286,"text":1220},"Nuxt MCP 模块中的类型安全与 TypeScript 特性。","md",null,{},{"icon":84},{"title":81,"description":1260},"完整的 TypeScript 支持，包含自动导入和类型安全。","hNPv-PygkpZBxxJwwKMHBfIZJJ_ok1fIfuJk5adx_Sg",[1263,1265],{"title":76,"path":77,"stem":78,"description":1264,"icon":79,"children":-1},"拦截 MCP 请求以添加身份验证、日志记录、分析等功能。",{"title":86,"path":87,"stem":88,"description":1266,"icon":89,"children":-1},"使用 Nuxt 钩子来扩展和自定义 MCP 模块。",1775615721143]