[{"data":1,"prerenderedAt":2339},["ShallowReactive",2],{"navigation_docs":3,"-handlers-structure-and-options":282,"-handlers-structure-and-options-surround":2334},[4,40,70,99,122,156,189,253],{"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},"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},"工具","\u002Ftools","2.tools",[45,50,55,60,65],{"title":46,"path":47,"stem":48,"icon":49},"概览","\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},"注释与输入示例","\u002Ftools\u002Fannotations","2.tools\u002F2.annotations","i-lucide-badge-info",{"title":61,"path":62,"stem":63,"icon":64},"错误与缓存","\u002Ftools\u002Ferrors-caching","2.tools\u002F3.errors-caching","i-lucide-shield",{"title":66,"path":67,"stem":68,"icon":69},"分组、文件与动态注册","\u002Ftools\u002Fgroups-organization","2.tools\u002F4.groups-organization","i-lucide-tags",{"title":71,"path":72,"stem":73,"children":74,"page":39},"资源","\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},"静态资源与结构","\u002Fresources\u002Fstatic-and-structure","3.resources\u002F1.static-and-structure","i-lucide-file-stack",{"title":85,"path":86,"stem":87,"icon":88},"模板与处理程序","\u002Fresources\u002Ftemplates-and-handlers","3.resources\u002F2.templates-and-handlers","i-lucide-git-branch",{"title":90,"path":91,"stem":92,"icon":93},"元数据、内容与错误","\u002Fresources\u002Fcontent-metadata-errors","3.resources\u002F3.content-metadata-errors","i-lucide-layers",{"title":95,"path":96,"stem":97,"icon":98},"分组与组织","\u002Fresources\u002Forganization","3.resources\u002F4.organization","i-lucide-folder-tree",{"title":100,"path":101,"stem":102,"children":103,"page":39},"提示词","\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},"编写与结构","\u002Fprompts\u002Fauthoring","4.prompts\u002F1.authoring","i-lucide-pen-line",{"title":114,"path":115,"stem":116,"icon":93},"输入、处理器与消息","\u002Fprompts\u002Finput-handler-messages","4.prompts\u002F2.input-handler-messages",{"title":118,"path":119,"stem":120,"icon":121},"模式与高级用法","\u002Fprompts\u002Fpatterns-advanced","4.prompts\u002F3.patterns-advanced","i-lucide-line-chart",{"title":123,"path":124,"stem":125,"children":126,"page":39},"处理器","\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},"默认与自定义处理器","\u002Fhandlers\u002Fdefault-and-custom","5.handlers\u002F1.default-and-custom","i-lucide-toggle-left",{"title":137,"path":138,"stem":139,"icon":140},"结构与选项","\u002Fhandlers\u002Fstructure-and-options","5.handlers\u002F2.structure-and-options","i-lucide-sliders-horizontal",{"title":142,"path":143,"stem":144,"icon":145},"示例与路由","\u002Fhandlers\u002Fexamples-routing","5.handlers\u002F3.examples-routing","i-lucide-route",{"title":147,"path":148,"stem":149,"icon":150},"分享与实践","\u002Fhandlers\u002Fsharing-practices","5.handlers\u002F4.sharing-practices","i-lucide-share-2",{"title":152,"path":153,"stem":154,"icon":155},"多处理器组织","\u002Fhandlers\u002Forganization","5.handlers\u002F5.organization","i-lucide-network",{"title":157,"path":158,"stem":159,"children":160,"page":39},"应用","\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},"编写与 defineMcpApp","\u002Fapps\u002Fauthoring","6.apps\u002F1.authoring","i-lucide-code-2",{"title":171,"path":172,"stem":173,"icon":174},"useMcpApp() 桥接","\u002Fapps\u002Fuse-mcp-app","6.apps\u002F2.use-mcp-app","i-lucide-message-circle",{"title":176,"path":177,"stem":178,"icon":64},"CSP 与构建流水线","\u002Fapps\u002Fcsp-and-wiring","6.apps\u002F3.csp-and-wiring",{"title":180,"path":181,"stem":182,"icon":183},"测试与发布","\u002Fapps\u002Ftesting-publishing","6.apps\u002F4.testing-publishing","i-lucide-rocket",{"title":185,"path":186,"stem":187,"icon":188},"模式与限制","\u002Fapps\u002Fpatterns-reference","6.apps\u002F5.patterns-reference","i-lucide-book-marked",{"title":190,"path":191,"stem":192,"children":193,"page":39},"进阶主题","\u002Fadvanced","7.advanced",[194,199,204,209,214,218,223,228,233,238,243,248],{"title":195,"path":196,"stem":197,"icon":198},"自定义路径","\u002Fadvanced\u002Fcustom-paths","7.advanced\u002F1.custom-paths","i-lucide-folder",{"title":200,"path":201,"stem":202,"icon":203},"日志","\u002Fadvanced\u002Flogging","7.advanced\u002F10.logging","i-lucide-scroll-text",{"title":205,"path":206,"stem":207,"icon":208},"MCP Apps 内部机制","\u002Fadvanced\u002Fmcp-apps-internals","7.advanced\u002F11.mcp-apps-internals","i-lucide-cog",{"title":210,"path":211,"stem":212,"icon":213},"列出定义","\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 评估","\u002Fadvanced\u002Fevals","7.advanced\u002F5.evals","i-lucide-flask-conical",{"title":234,"path":235,"stem":236,"icon":237},"会话","\u002Fadvanced\u002Fsessions","7.advanced\u002F6.sessions","i-lucide-database",{"title":239,"path":240,"stem":241,"icon":242},"动态定义","\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},"启发式询问","\u002Fadvanced\u002Felicitation","7.advanced\u002F9.elicitation","i-lucide-message-square-quote",{"title":254,"path":255,"stem":256,"children":257,"page":39},"示例","\u002Fexamples","8.examples",[258,263,268,273,278],{"title":259,"path":260,"stem":261,"icon":262},"身份验证","\u002Fexamples\u002Fauthentication","8.examples\u002F1.authentication","i-lucide-shield-check",{"title":264,"path":265,"stem":266,"icon":267},"API 集成","\u002Fexamples\u002Fapi-integration","8.examples\u002F2.api-integration","i-lucide-globe",{"title":269,"path":270,"stem":271,"icon":272},"常见模式","\u002Fexamples\u002Fcommon-patterns","8.examples\u002F3.common-patterns","i-lucide-lightbulb",{"title":274,"path":275,"stem":276,"icon":277},"文件操作","\u002Fexamples\u002Ffile-operations","8.examples\u002F4.file-operations","i-lucide-file",{"title":279,"path":280,"stem":281,"icon":107},"提示词示例","\u002Fexamples\u002Fprompt-examples","8.examples\u002F5.prompt-examples",{"id":283,"title":137,"body":284,"description":2325,"extension":2326,"links":2327,"meta":2328,"navigation":2329,"path":138,"seo":2330,"stem":139,"__hash__":2333},"docs\u002F5.handlers\u002F2.structure-and-options.md",{"type":285,"value":286,"toc":2296},"minimark",[287,291,295,694,697,705,715,778,785,788,862,868,883,958,964,975,1049,1055,1082,1211,1232,1238,1243,1260,1337,1343,1348,1422,1428,1431,1542,1549,1555,1566,1661,1671,1677,1683,1686,1989,2007,2013,2025,2151,2157,2166,2292],[288,289,290],"h2",{"id":290},"处理器结构",[292,293,294],"p",{},"一个处理器定义由以下内容组成：",[296,297,298,401],"code-group",{},[299,300,306],"pre",{"className":301,"code":302,"filename":303,"language":304,"meta":305,"style":305},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'handler-name',  \u002F\u002F 唯一标识符\n})\n","必填字段","typescript","",[307,308,309,342,349,367,392],"code",{"__ignoreMap":305},[310,311,314,318,322,326,329,332,335,339],"span",{"class":312,"line":313},"line",1,[310,315,317],{"class":316},"s7zQu","import",[310,319,321],{"class":320},"sMK4o"," {",[310,323,325],{"class":324},"sTEyZ"," defineMcpHandler",[310,327,328],{"class":320}," }",[310,330,331],{"class":316}," from",[310,333,334],{"class":320}," '",[310,336,338],{"class":337},"sfazB","@nuxtjs\u002Fmcp-toolkit\u002Fserver",[310,340,341],{"class":320},"'\n",[310,343,345],{"class":312,"line":344},2,[310,346,348],{"emptyLinePlaceholder":347},true,"\n",[310,350,352,355,358,361,364],{"class":312,"line":351},3,[310,353,354],{"class":316},"export",[310,356,357],{"class":316}," default",[310,359,325],{"class":360},"s2Zo4",[310,362,363],{"class":324},"(",[310,365,366],{"class":320},"{\n",[310,368,370,374,377,379,382,385,388],{"class":312,"line":369},4,[310,371,373],{"class":372},"swJcz","  name",[310,375,376],{"class":320},":",[310,378,334],{"class":320},[310,380,381],{"class":337},"handler-name",[310,383,384],{"class":320},"'",[310,386,387],{"class":320},",",[310,389,391],{"class":390},"sHwdD","  \u002F\u002F 唯一标识符\n",[310,393,395,398],{"class":312,"line":394},5,[310,396,397],{"class":320},"}",[310,399,400],{"class":324},")\n",[299,402,405],{"className":301,"code":403,"filename":404,"language":304,"meta":305,"style":305},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'handler-name',\n  version: '1.0.0',              \u002F\u002F 处理器版本\n  description: 'Admin tools',    \u002F\u002F 客户端显示的 serverInfo 描述\n  instructions: 'Always …',      \u002F\u002F 面向 LLM 的系统提示指导\n  icons: [ ... ],                 \u002F\u002F 客户端 UI 中显示的服务器图标\n  route: '\u002Fmcp\u002Fcustom',          \u002F\u002F 自定义路由\n  browserRedirect: '\u002F',          \u002F\u002F 浏览器重定向 URL\n  middleware: async (event) => { ... }, \u002F\u002F 请求拦截\n  tools: [ ... ],                 \u002F\u002F 工具数组\n  resources: [ ... ],            \u002F\u002F 资源数组\n  prompts: [ ... ],             \u002F\u002F 提示数组\n  experimental_codeMode: true,    \u002F\u002F 启用代码模式（实验性）\n})\n","可选字段",[307,406,407,425,429,441,456,475,495,515,537,557,577,613,632,651,670,687],{"__ignoreMap":305},[310,408,409,411,413,415,417,419,421,423],{"class":312,"line":313},[310,410,317],{"class":316},[310,412,321],{"class":320},[310,414,325],{"class":324},[310,416,328],{"class":320},[310,418,331],{"class":316},[310,420,334],{"class":320},[310,422,338],{"class":337},[310,424,341],{"class":320},[310,426,427],{"class":312,"line":344},[310,428,348],{"emptyLinePlaceholder":347},[310,430,431,433,435,437,439],{"class":312,"line":351},[310,432,354],{"class":316},[310,434,357],{"class":316},[310,436,325],{"class":360},[310,438,363],{"class":324},[310,440,366],{"class":320},[310,442,443,445,447,449,451,453],{"class":312,"line":369},[310,444,373],{"class":372},[310,446,376],{"class":320},[310,448,334],{"class":320},[310,450,381],{"class":337},[310,452,384],{"class":320},[310,454,455],{"class":320},",\n",[310,457,458,461,463,465,468,470,472],{"class":312,"line":394},[310,459,460],{"class":372},"  version",[310,462,376],{"class":320},[310,464,334],{"class":320},[310,466,467],{"class":337},"1.0.0",[310,469,384],{"class":320},[310,471,387],{"class":320},[310,473,474],{"class":390},"              \u002F\u002F 处理器版本\n",[310,476,478,481,483,485,488,490,492],{"class":312,"line":477},6,[310,479,480],{"class":372},"  description",[310,482,376],{"class":320},[310,484,334],{"class":320},[310,486,487],{"class":337},"Admin tools",[310,489,384],{"class":320},[310,491,387],{"class":320},[310,493,494],{"class":390},"    \u002F\u002F 客户端显示的 serverInfo 描述\n",[310,496,498,501,503,505,508,510,512],{"class":312,"line":497},7,[310,499,500],{"class":372},"  instructions",[310,502,376],{"class":320},[310,504,334],{"class":320},[310,506,507],{"class":337},"Always …",[310,509,384],{"class":320},[310,511,387],{"class":320},[310,513,514],{"class":390},"      \u002F\u002F 面向 LLM 的系统提示指导\n",[310,516,518,521,523,526,529,532,534],{"class":312,"line":517},8,[310,519,520],{"class":372},"  icons",[310,522,376],{"class":320},[310,524,525],{"class":324}," [ ",[310,527,528],{"class":320},"...",[310,530,531],{"class":324}," ]",[310,533,387],{"class":320},[310,535,536],{"class":390},"                 \u002F\u002F 客户端 UI 中显示的服务器图标\n",[310,538,540,543,545,547,550,552,554],{"class":312,"line":539},9,[310,541,542],{"class":372},"  route",[310,544,376],{"class":320},[310,546,334],{"class":320},[310,548,549],{"class":337},"\u002Fmcp\u002Fcustom",[310,551,384],{"class":320},[310,553,387],{"class":320},[310,555,556],{"class":390},"          \u002F\u002F 自定义路由\n",[310,558,560,563,565,567,570,572,574],{"class":312,"line":559},10,[310,561,562],{"class":372},"  browserRedirect",[310,564,376],{"class":320},[310,566,334],{"class":320},[310,568,569],{"class":337},"\u002F",[310,571,384],{"class":320},[310,573,387],{"class":320},[310,575,576],{"class":390},"          \u002F\u002F 浏览器重定向 URL\n",[310,578,580,583,585,589,592,596,599,602,604,607,610],{"class":312,"line":579},11,[310,581,582],{"class":360},"  middleware",[310,584,376],{"class":320},[310,586,588],{"class":587},"spNyl"," async",[310,590,591],{"class":320}," (",[310,593,595],{"class":594},"sHdIc","event",[310,597,598],{"class":320},")",[310,600,601],{"class":587}," =>",[310,603,321],{"class":320},[310,605,606],{"class":320}," ...",[310,608,609],{"class":320}," },",[310,611,612],{"class":390}," \u002F\u002F 请求拦截\n",[310,614,616,619,621,623,625,627,629],{"class":312,"line":615},12,[310,617,618],{"class":372},"  tools",[310,620,376],{"class":320},[310,622,525],{"class":324},[310,624,528],{"class":320},[310,626,531],{"class":324},[310,628,387],{"class":320},[310,630,631],{"class":390},"                 \u002F\u002F 工具数组\n",[310,633,635,638,640,642,644,646,648],{"class":312,"line":634},13,[310,636,637],{"class":372},"  resources",[310,639,376],{"class":320},[310,641,525],{"class":324},[310,643,528],{"class":320},[310,645,531],{"class":324},[310,647,387],{"class":320},[310,649,650],{"class":390},"            \u002F\u002F 资源数组\n",[310,652,654,657,659,661,663,665,667],{"class":312,"line":653},14,[310,655,656],{"class":372},"  prompts",[310,658,376],{"class":320},[310,660,525],{"class":324},[310,662,528],{"class":320},[310,664,531],{"class":324},[310,666,387],{"class":320},[310,668,669],{"class":390},"             \u002F\u002F 提示数组\n",[310,671,673,676,678,682,684],{"class":312,"line":672},15,[310,674,675],{"class":372},"  experimental_codeMode",[310,677,376],{"class":320},[310,679,681],{"class":680},"sfNiH"," true",[310,683,387],{"class":320},[310,685,686],{"class":390},"    \u002F\u002F 启用代码模式（实验性）\n",[310,688,690,692],{"class":312,"line":689},16,[310,691,397],{"class":320},[310,693,400],{"class":324},[288,695,696],{"id":696},"处理器选项",[698,699,701,704],"h3",{"id":700},"name必需",[307,702,703],{},"name","（必需）",[292,706,707,708,710,711,714],{},"处理器的唯一标识符。",[307,709,703],{}," 决定处理器将挂载到哪里。默认情况下，处理器可通过 ",[307,712,713],{},"\u002Fmcp\u002F:name"," 访问。",[299,716,718],{"className":301,"code":717,"language":304,"meta":305,"style":305},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'migration', \u002F\u002F 处理器挂载在 \u002Fmcp\u002Fmigration\n})\n",[307,719,720,738,742,754,772],{"__ignoreMap":305},[310,721,722,724,726,728,730,732,734,736],{"class":312,"line":313},[310,723,317],{"class":316},[310,725,321],{"class":320},[310,727,325],{"class":324},[310,729,328],{"class":320},[310,731,331],{"class":316},[310,733,334],{"class":320},[310,735,338],{"class":337},[310,737,341],{"class":320},[310,739,740],{"class":312,"line":344},[310,741,348],{"emptyLinePlaceholder":347},[310,743,744,746,748,750,752],{"class":312,"line":351},[310,745,354],{"class":316},[310,747,357],{"class":316},[310,749,325],{"class":360},[310,751,363],{"class":324},[310,753,366],{"class":320},[310,755,756,758,760,762,765,767,769],{"class":312,"line":369},[310,757,373],{"class":372},[310,759,376],{"class":320},[310,761,334],{"class":320},[310,763,764],{"class":337},"migration",[310,766,384],{"class":320},[310,768,387],{"class":320},[310,770,771],{"class":390}," \u002F\u002F 处理器挂载在 \u002Fmcp\u002Fmigration\n",[310,773,774,776],{"class":312,"line":394},[310,775,397],{"class":320},[310,777,400],{"class":324},[698,779,781,784],{"id":780},"version可选",[307,782,783],{},"version","（可选）",[292,786,787],{},"处理器的版本。默认为模块配置的版本。",[299,789,791],{"className":301,"code":790,"language":304,"meta":305,"style":305},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'migration',\n  version: '2.0.0',\n})\n",[307,792,793,811,815,827,841,856],{"__ignoreMap":305},[310,794,795,797,799,801,803,805,807,809],{"class":312,"line":313},[310,796,317],{"class":316},[310,798,321],{"class":320},[310,800,325],{"class":324},[310,802,328],{"class":320},[310,804,331],{"class":316},[310,806,334],{"class":320},[310,808,338],{"class":337},[310,810,341],{"class":320},[310,812,813],{"class":312,"line":344},[310,814,348],{"emptyLinePlaceholder":347},[310,816,817,819,821,823,825],{"class":312,"line":351},[310,818,354],{"class":316},[310,820,357],{"class":316},[310,822,325],{"class":360},[310,824,363],{"class":324},[310,826,366],{"class":320},[310,828,829,831,833,835,837,839],{"class":312,"line":369},[310,830,373],{"class":372},[310,832,376],{"class":320},[310,834,334],{"class":320},[310,836,764],{"class":337},[310,838,384],{"class":320},[310,840,455],{"class":320},[310,842,843,845,847,849,852,854],{"class":312,"line":394},[310,844,460],{"class":372},[310,846,376],{"class":320},[310,848,334],{"class":320},[310,850,851],{"class":337},"2.0.0",[310,853,384],{"class":320},[310,855,455],{"class":320},[310,857,858,860],{"class":312,"line":477},[310,859,397],{"class":320},[310,861,400],{"class":324},[698,863,865,784],{"id":864},"description可选",[307,866,867],{},"description",[292,869,870,871,874,875,878,879,882],{},"在 MCP 初始化期间作为 ",[307,872,873],{},"serverInfo"," 的一部分发送的、人类可读的描述。客户端使用它在 UI 中识别该处理器（服务器列表、安装提示、工具提示）。若未设置，则回退到 ",[307,876,877],{},"nuxt.config.ts"," 中的 ",[307,880,881],{},"mcp.description","。",[299,884,886],{"className":301,"code":885,"language":304,"meta":305,"style":305},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'admin',\n  description: 'Admin tools — destructive operations gated by Bearer auth.',\n})\n",[307,887,888,906,910,922,937,952],{"__ignoreMap":305},[310,889,890,892,894,896,898,900,902,904],{"class":312,"line":313},[310,891,317],{"class":316},[310,893,321],{"class":320},[310,895,325],{"class":324},[310,897,328],{"class":320},[310,899,331],{"class":316},[310,901,334],{"class":320},[310,903,338],{"class":337},[310,905,341],{"class":320},[310,907,908],{"class":312,"line":344},[310,909,348],{"emptyLinePlaceholder":347},[310,911,912,914,916,918,920],{"class":312,"line":351},[310,913,354],{"class":316},[310,915,357],{"class":316},[310,917,325],{"class":360},[310,919,363],{"class":324},[310,921,366],{"class":320},[310,923,924,926,928,930,933,935],{"class":312,"line":369},[310,925,373],{"class":372},[310,927,376],{"class":320},[310,929,334],{"class":320},[310,931,932],{"class":337},"admin",[310,934,384],{"class":320},[310,936,455],{"class":320},[310,938,939,941,943,945,948,950],{"class":312,"line":394},[310,940,480],{"class":372},[310,942,376],{"class":320},[310,944,334],{"class":320},[310,946,947],{"class":337},"Admin tools — destructive operations gated by Bearer auth.",[310,949,384],{"class":320},[310,951,455],{"class":320},[310,953,954,956],{"class":312,"line":477},[310,955,397],{"class":320},[310,957,400],{"class":324},[698,959,961,784],{"id":960},"instructions可选",[307,962,963],{},"instructions",[292,965,966,967,969,970,878,972,882],{},"面向 AI 代理的操作指导——通常由客户端注入到模型的系统提示中。可用于描述工作流、约束或工具之间的关系（使用 ",[307,968,867],{}," 来标识处理器）。若未设置，则回退到 ",[307,971,877],{},[307,973,974],{},"mcp.instructions",[299,976,978],{"className":301,"code":977,"language":304,"meta":305,"style":305},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'admin',\n  instructions: 'Always call list-users before delete-user. Confirm with the operator before any destructive action.',\n})\n",[307,979,980,998,1002,1014,1028,1043],{"__ignoreMap":305},[310,981,982,984,986,988,990,992,994,996],{"class":312,"line":313},[310,983,317],{"class":316},[310,985,321],{"class":320},[310,987,325],{"class":324},[310,989,328],{"class":320},[310,991,331],{"class":316},[310,993,334],{"class":320},[310,995,338],{"class":337},[310,997,341],{"class":320},[310,999,1000],{"class":312,"line":344},[310,1001,348],{"emptyLinePlaceholder":347},[310,1003,1004,1006,1008,1010,1012],{"class":312,"line":351},[310,1005,354],{"class":316},[310,1007,357],{"class":316},[310,1009,325],{"class":360},[310,1011,363],{"class":324},[310,1013,366],{"class":320},[310,1015,1016,1018,1020,1022,1024,1026],{"class":312,"line":369},[310,1017,373],{"class":372},[310,1019,376],{"class":320},[310,1021,334],{"class":320},[310,1023,932],{"class":337},[310,1025,384],{"class":320},[310,1027,455],{"class":320},[310,1029,1030,1032,1034,1036,1039,1041],{"class":312,"line":394},[310,1031,500],{"class":372},[310,1033,376],{"class":320},[310,1035,334],{"class":320},[310,1037,1038],{"class":337},"Always call list-users before delete-user. Confirm with the operator before any destructive action.",[310,1040,384],{"class":320},[310,1042,455],{"class":320},[310,1044,1045,1047],{"class":312,"line":477},[310,1046,397],{"class":320},[310,1048,400],{"class":324},[698,1050,1052,784],{"id":1051},"icons可选",[307,1053,1054],{},"icons",[292,1056,1057,1058,1061,1062,1065,1066,1061,1069,1072,1073,1076,1077,878,1079,882],{},"客户端在其 UI 中显示的图标。每个条目需要 ",[307,1059,1060],{},"src"," 和 ",[307,1063,1064],{},"mimeType","，可选 ",[307,1067,1068],{},"sizes",[307,1070,1071],{},"theme","（",[307,1074,1075],{},"'light' | 'dark'","）。若未设置，则回退到 ",[307,1078,877],{},[307,1080,1081],{},"mcp.icons",[299,1083,1085],{"className":301,"code":1084,"language":304,"meta":305,"style":305},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'admin',\n  icons: [\n    { src: 'https:\u002F\u002Fexample.com\u002Fadmin.png', mimeType: 'image\u002Fpng', sizes: ['64x64'] },\n  ],\n})\n",[307,1086,1087,1105,1109,1121,1135,1144,1198,1205],{"__ignoreMap":305},[310,1088,1089,1091,1093,1095,1097,1099,1101,1103],{"class":312,"line":313},[310,1090,317],{"class":316},[310,1092,321],{"class":320},[310,1094,325],{"class":324},[310,1096,328],{"class":320},[310,1098,331],{"class":316},[310,1100,334],{"class":320},[310,1102,338],{"class":337},[310,1104,341],{"class":320},[310,1106,1107],{"class":312,"line":344},[310,1108,348],{"emptyLinePlaceholder":347},[310,1110,1111,1113,1115,1117,1119],{"class":312,"line":351},[310,1112,354],{"class":316},[310,1114,357],{"class":316},[310,1116,325],{"class":360},[310,1118,363],{"class":324},[310,1120,366],{"class":320},[310,1122,1123,1125,1127,1129,1131,1133],{"class":312,"line":369},[310,1124,373],{"class":372},[310,1126,376],{"class":320},[310,1128,334],{"class":320},[310,1130,932],{"class":337},[310,1132,384],{"class":320},[310,1134,455],{"class":320},[310,1136,1137,1139,1141],{"class":312,"line":394},[310,1138,520],{"class":372},[310,1140,376],{"class":320},[310,1142,1143],{"class":324}," [\n",[310,1145,1146,1149,1152,1154,1156,1159,1161,1163,1166,1168,1170,1173,1175,1177,1180,1182,1185,1187,1190,1192,1195],{"class":312,"line":477},[310,1147,1148],{"class":320},"    {",[310,1150,1151],{"class":372}," src",[310,1153,376],{"class":320},[310,1155,334],{"class":320},[310,1157,1158],{"class":337},"https:\u002F\u002Fexample.com\u002Fadmin.png",[310,1160,384],{"class":320},[310,1162,387],{"class":320},[310,1164,1165],{"class":372}," mimeType",[310,1167,376],{"class":320},[310,1169,334],{"class":320},[310,1171,1172],{"class":337},"image\u002Fpng",[310,1174,384],{"class":320},[310,1176,387],{"class":320},[310,1178,1179],{"class":372}," sizes",[310,1181,376],{"class":320},[310,1183,1184],{"class":324}," [",[310,1186,384],{"class":320},[310,1188,1189],{"class":337},"64x64",[310,1191,384],{"class":320},[310,1193,1194],{"class":324},"] ",[310,1196,1197],{"class":320},"},\n",[310,1199,1200,1203],{"class":312,"line":497},[310,1201,1202],{"class":324},"  ]",[310,1204,455],{"class":320},[310,1206,1207,1209],{"class":312,"line":517},[310,1208,397],{"class":320},[310,1210,400],{"class":324},[1212,1213,1216,1218,1219,1061,1221,1223,1224,1231],"callout",{"color":1214,"icon":1215},"info","i-lucide-info",[307,1217,867],{},"、",[307,1220,963],{},[307,1222,1054],{}," 是 ",[1225,1226,1230],"a",{"href":1227,"rel":1228},"https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-11-25\u002Fbasic\u002Flifecycle#initialization",[1229],"nofollow","MCP 生命周期规范"," 的一部分。请在模块级别设置它们以共享元数据；当某个特定端点需要不同身份时，可按处理器覆盖。",[698,1233,1235,784],{"id":1234},"route可选",[307,1236,1237],{},"route",[292,1239,1240,1241,882],{},"处理器的自定义路由。默认为 ",[307,1242,713],{},[1212,1244,1245,1246,1250,1251,1254,1255,878,1257,882],{"color":1214,"icon":1215},"此选项仅用于",[1247,1248,1249],"strong",{},"自定义处理器","。对于默认处理器覆盖（",[307,1252,1253],{},"index.ts","），请改用 ",[307,1256,877],{},[307,1258,1259],{},"mcp.route",[299,1261,1263],{"className":301,"code":1262,"language":304,"meta":305,"style":305},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'migration',\n  route: '\u002Fapi\u002Fmcp\u002Fmigration', \u002F\u002F 自定义路由\n})\n",[307,1264,1265,1283,1287,1299,1313,1331],{"__ignoreMap":305},[310,1266,1267,1269,1271,1273,1275,1277,1279,1281],{"class":312,"line":313},[310,1268,317],{"class":316},[310,1270,321],{"class":320},[310,1272,325],{"class":324},[310,1274,328],{"class":320},[310,1276,331],{"class":316},[310,1278,334],{"class":320},[310,1280,338],{"class":337},[310,1282,341],{"class":320},[310,1284,1285],{"class":312,"line":344},[310,1286,348],{"emptyLinePlaceholder":347},[310,1288,1289,1291,1293,1295,1297],{"class":312,"line":351},[310,1290,354],{"class":316},[310,1292,357],{"class":316},[310,1294,325],{"class":360},[310,1296,363],{"class":324},[310,1298,366],{"class":320},[310,1300,1301,1303,1305,1307,1309,1311],{"class":312,"line":369},[310,1302,373],{"class":372},[310,1304,376],{"class":320},[310,1306,334],{"class":320},[310,1308,764],{"class":337},[310,1310,384],{"class":320},[310,1312,455],{"class":320},[310,1314,1315,1317,1319,1321,1324,1326,1328],{"class":312,"line":394},[310,1316,542],{"class":372},[310,1318,376],{"class":320},[310,1320,334],{"class":320},[310,1322,1323],{"class":337},"\u002Fapi\u002Fmcp\u002Fmigration",[310,1325,384],{"class":320},[310,1327,387],{"class":320},[310,1329,1330],{"class":390}," \u002F\u002F 自定义路由\n",[310,1332,1333,1335],{"class":312,"line":477},[310,1334,397],{"class":320},[310,1336,400],{"class":324},[698,1338,1340,784],{"id":1339},"browserredirect可选",[307,1341,1342],{},"browserRedirect",[292,1344,1345,1346,882],{},"当浏览器访问处理器端点时重定向到的 URL。默认为模块配置的 ",[307,1347,1342],{},[299,1349,1351],{"className":301,"code":1350,"language":304,"meta":305,"style":305},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'migration',\n  browserRedirect: '\u002Fdocs\u002Fmigration',\n})\n",[307,1352,1353,1371,1375,1387,1401,1416],{"__ignoreMap":305},[310,1354,1355,1357,1359,1361,1363,1365,1367,1369],{"class":312,"line":313},[310,1356,317],{"class":316},[310,1358,321],{"class":320},[310,1360,325],{"class":324},[310,1362,328],{"class":320},[310,1364,331],{"class":316},[310,1366,334],{"class":320},[310,1368,338],{"class":337},[310,1370,341],{"class":320},[310,1372,1373],{"class":312,"line":344},[310,1374,348],{"emptyLinePlaceholder":347},[310,1376,1377,1379,1381,1383,1385],{"class":312,"line":351},[310,1378,354],{"class":316},[310,1380,357],{"class":316},[310,1382,325],{"class":360},[310,1384,363],{"class":324},[310,1386,366],{"class":320},[310,1388,1389,1391,1393,1395,1397,1399],{"class":312,"line":369},[310,1390,373],{"class":372},[310,1392,376],{"class":320},[310,1394,334],{"class":320},[310,1396,764],{"class":337},[310,1398,384],{"class":320},[310,1400,455],{"class":320},[310,1402,1403,1405,1407,1409,1412,1414],{"class":312,"line":394},[310,1404,562],{"class":372},[310,1406,376],{"class":320},[310,1408,334],{"class":320},[310,1410,1411],{"class":337},"\u002Fdocs\u002Fmigration",[310,1413,384],{"class":320},[310,1415,455],{"class":320},[310,1417,1418,1420],{"class":312,"line":477},[310,1419,397],{"class":320},[310,1421,400],{"class":324},[698,1423,1425,784],{"id":1424},"middleware可选",[307,1426,1427],{},"middleware",[292,1429,1430],{},"在请求处理前后拦截请求的函数。适用于身份验证、日志记录和设置上下文。",[299,1432,1435],{"className":301,"code":1433,"filename":1434,"language":304,"meta":305,"style":305},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'custom',\n  middleware: async (event) => {\n    event.context.userId = 'user-123'\n  },\n})\n","server\u002Fmcp\u002Fcustom.ts",[307,1436,1437,1455,1459,1471,1486,1505,1531,1536],{"__ignoreMap":305},[310,1438,1439,1441,1443,1445,1447,1449,1451,1453],{"class":312,"line":313},[310,1440,317],{"class":316},[310,1442,321],{"class":320},[310,1444,325],{"class":324},[310,1446,328],{"class":320},[310,1448,331],{"class":316},[310,1450,334],{"class":320},[310,1452,338],{"class":337},[310,1454,341],{"class":320},[310,1456,1457],{"class":312,"line":344},[310,1458,348],{"emptyLinePlaceholder":347},[310,1460,1461,1463,1465,1467,1469],{"class":312,"line":351},[310,1462,354],{"class":316},[310,1464,357],{"class":316},[310,1466,325],{"class":360},[310,1468,363],{"class":324},[310,1470,366],{"class":320},[310,1472,1473,1475,1477,1479,1482,1484],{"class":312,"line":369},[310,1474,373],{"class":372},[310,1476,376],{"class":320},[310,1478,334],{"class":320},[310,1480,1481],{"class":337},"custom",[310,1483,384],{"class":320},[310,1485,455],{"class":320},[310,1487,1488,1490,1492,1494,1496,1498,1500,1502],{"class":312,"line":394},[310,1489,582],{"class":360},[310,1491,376],{"class":320},[310,1493,588],{"class":587},[310,1495,591],{"class":320},[310,1497,595],{"class":594},[310,1499,598],{"class":320},[310,1501,601],{"class":587},[310,1503,1504],{"class":320}," {\n",[310,1506,1507,1510,1513,1516,1518,1521,1524,1526,1529],{"class":312,"line":477},[310,1508,1509],{"class":324},"    event",[310,1511,1512],{"class":320},".",[310,1514,1515],{"class":324},"context",[310,1517,1512],{"class":320},[310,1519,1520],{"class":324},"userId",[310,1522,1523],{"class":320}," =",[310,1525,334],{"class":320},[310,1527,1528],{"class":337},"user-123",[310,1530,341],{"class":320},[310,1532,1533],{"class":312,"line":497},[310,1534,1535],{"class":320},"  },\n",[310,1537,1538,1540],{"class":312,"line":517},[310,1539,397],{"class":320},[310,1541,400],{"class":324},[1212,1543,1545,1546,882],{"color":1544,"icon":13},"primary","有关详细文档和示例，请参阅",[1225,1547,1548],{"href":216},"中间件指南",[698,1550,1552,784],{"id":1551},"experimental_codemode可选",[307,1553,1554],{},"experimental_codeMode",[292,1556,1557,1558,1561,1562,1565],{},"启用",[1225,1559,1560],{"href":245},"代码模式","，让 LLM 在一次 JavaScript 执行中编排多个工具调用。传入 ",[307,1563,1564],{},"true"," 使用默认值，或传入一个选项对象：",[299,1567,1569],{"className":301,"code":1568,"language":304,"meta":305,"style":305},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'custom',\n  experimental_codeMode: {\n    progressive: true,\n    memoryLimit: 128,\n  },\n})\n",[307,1570,1571,1589,1593,1605,1619,1627,1638,1651,1655],{"__ignoreMap":305},[310,1572,1573,1575,1577,1579,1581,1583,1585,1587],{"class":312,"line":313},[310,1574,317],{"class":316},[310,1576,321],{"class":320},[310,1578,325],{"class":324},[310,1580,328],{"class":320},[310,1582,331],{"class":316},[310,1584,334],{"class":320},[310,1586,338],{"class":337},[310,1588,341],{"class":320},[310,1590,1591],{"class":312,"line":344},[310,1592,348],{"emptyLinePlaceholder":347},[310,1594,1595,1597,1599,1601,1603],{"class":312,"line":351},[310,1596,354],{"class":316},[310,1598,357],{"class":316},[310,1600,325],{"class":360},[310,1602,363],{"class":324},[310,1604,366],{"class":320},[310,1606,1607,1609,1611,1613,1615,1617],{"class":312,"line":369},[310,1608,373],{"class":372},[310,1610,376],{"class":320},[310,1612,334],{"class":320},[310,1614,1481],{"class":337},[310,1616,384],{"class":320},[310,1618,455],{"class":320},[310,1620,1621,1623,1625],{"class":312,"line":394},[310,1622,675],{"class":372},[310,1624,376],{"class":320},[310,1626,1504],{"class":320},[310,1628,1629,1632,1634,1636],{"class":312,"line":477},[310,1630,1631],{"class":372},"    progressive",[310,1633,376],{"class":320},[310,1635,681],{"class":680},[310,1637,455],{"class":320},[310,1639,1640,1643,1645,1649],{"class":312,"line":497},[310,1641,1642],{"class":372},"    memoryLimit",[310,1644,376],{"class":320},[310,1646,1648],{"class":1647},"sbssI"," 128",[310,1650,455],{"class":320},[310,1652,1653],{"class":312,"line":517},[310,1654,1535],{"class":320},[310,1656,1657,1659],{"class":312,"line":539},[310,1658,397],{"class":320},[310,1660,400],{"class":324},[292,1662,1663,1664,1667,1668,882],{},"代码模式需要 ",[307,1665,1666],{},"secure-exec"," 和 Node.js ",[307,1669,1670],{},">=18.16.0",[1212,1672,1673,1674,882],{"color":1544,"icon":13},"有关完整文档、安全细节和配置选项，请参阅",[1225,1675,1676],{"href":245},"代码模式指南",[698,1678,1680,784],{"id":1679},"tools可选",[307,1681,1682],{},"tools",[292,1684,1685],{},"支持三种形式——请选择最符合你使用场景的一种：",[296,1687,1688,1760,1890],{},[299,1689,1692],{"className":301,"code":1690,"filename":1691,"language":304,"meta":305,"style":305},"\u002F\u002F server\u002Fmcp\u002Fhandlers\u002Fadmin\u002Findex.ts\nimport { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\n\u002F\u002F `tools` 省略 → handlers\u002Fadmin\u002Ftools\u002F 下的每个工具\n\u002F\u002F 都会自动注册（文件夹约定）。\nexport default defineMcpHandler({\n  middleware: requireAdmin,\n})\n","自动（默认）",[307,1693,1694,1699,1717,1721,1726,1731,1743,1754],{"__ignoreMap":305},[310,1695,1696],{"class":312,"line":313},[310,1697,1698],{"class":390},"\u002F\u002F server\u002Fmcp\u002Fhandlers\u002Fadmin\u002Findex.ts\n",[310,1700,1701,1703,1705,1707,1709,1711,1713,1715],{"class":312,"line":344},[310,1702,317],{"class":316},[310,1704,321],{"class":320},[310,1706,325],{"class":324},[310,1708,328],{"class":320},[310,1710,331],{"class":316},[310,1712,334],{"class":320},[310,1714,338],{"class":337},[310,1716,341],{"class":320},[310,1718,1719],{"class":312,"line":351},[310,1720,348],{"emptyLinePlaceholder":347},[310,1722,1723],{"class":312,"line":369},[310,1724,1725],{"class":390},"\u002F\u002F `tools` 省略 → handlers\u002Fadmin\u002Ftools\u002F 下的每个工具\n",[310,1727,1728],{"class":312,"line":394},[310,1729,1730],{"class":390},"\u002F\u002F 都会自动注册（文件夹约定）。\n",[310,1732,1733,1735,1737,1739,1741],{"class":312,"line":477},[310,1734,354],{"class":316},[310,1736,357],{"class":316},[310,1738,325],{"class":360},[310,1740,363],{"class":324},[310,1742,366],{"class":320},[310,1744,1745,1747,1749,1752],{"class":312,"line":497},[310,1746,582],{"class":372},[310,1748,376],{"class":320},[310,1750,1751],{"class":324}," requireAdmin",[310,1753,455],{"class":320},[310,1755,1756,1758],{"class":312,"line":517},[310,1757,397],{"class":320},[310,1759,400],{"class":324},[299,1761,1764],{"className":301,"code":1762,"filename":1763,"language":304,"meta":305,"style":305},"import { defineMcpTool, defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nconst tool1 = defineMcpTool({ ... })\nconst tool2 = defineMcpTool({ ... })\n\nexport default defineMcpHandler({\n  name: 'custom',\n  tools: [tool1, tool2],\n})\n","静态数组",[307,1765,1766,1789,1793,1817,1838,1842,1854,1868,1884],{"__ignoreMap":305},[310,1767,1768,1770,1772,1775,1777,1779,1781,1783,1785,1787],{"class":312,"line":313},[310,1769,317],{"class":316},[310,1771,321],{"class":320},[310,1773,1774],{"class":324}," defineMcpTool",[310,1776,387],{"class":320},[310,1778,325],{"class":324},[310,1780,328],{"class":320},[310,1782,331],{"class":316},[310,1784,334],{"class":320},[310,1786,338],{"class":337},[310,1788,341],{"class":320},[310,1790,1791],{"class":312,"line":344},[310,1792,348],{"emptyLinePlaceholder":347},[310,1794,1795,1798,1801,1804,1806,1808,1811,1813,1815],{"class":312,"line":351},[310,1796,1797],{"class":587},"const",[310,1799,1800],{"class":324}," tool1 ",[310,1802,1803],{"class":320},"=",[310,1805,1774],{"class":360},[310,1807,363],{"class":324},[310,1809,1810],{"class":320},"{",[310,1812,606],{"class":320},[310,1814,328],{"class":320},[310,1816,400],{"class":324},[310,1818,1819,1821,1824,1826,1828,1830,1832,1834,1836],{"class":312,"line":369},[310,1820,1797],{"class":587},[310,1822,1823],{"class":324}," tool2 ",[310,1825,1803],{"class":320},[310,1827,1774],{"class":360},[310,1829,363],{"class":324},[310,1831,1810],{"class":320},[310,1833,606],{"class":320},[310,1835,328],{"class":320},[310,1837,400],{"class":324},[310,1839,1840],{"class":312,"line":394},[310,1841,348],{"emptyLinePlaceholder":347},[310,1843,1844,1846,1848,1850,1852],{"class":312,"line":477},[310,1845,354],{"class":316},[310,1847,357],{"class":316},[310,1849,325],{"class":360},[310,1851,363],{"class":324},[310,1853,366],{"class":320},[310,1855,1856,1858,1860,1862,1864,1866],{"class":312,"line":497},[310,1857,373],{"class":372},[310,1859,376],{"class":320},[310,1861,334],{"class":320},[310,1863,1481],{"class":337},[310,1865,384],{"class":320},[310,1867,455],{"class":320},[310,1869,1870,1872,1874,1877,1879,1882],{"class":312,"line":517},[310,1871,618],{"class":372},[310,1873,376],{"class":320},[310,1875,1876],{"class":324}," [tool1",[310,1878,387],{"class":320},[310,1880,1881],{"class":324}," tool2]",[310,1883,455],{"class":320},[310,1885,1886,1888],{"class":312,"line":539},[310,1887,397],{"class":320},[310,1889,400],{"class":324},[299,1891,1894],{"className":301,"code":1892,"filename":1893,"language":304,"meta":305,"style":305},"import { defineMcpHandler, getMcpTools } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  \u002F\u002F 每个标记为 'searchable' 的工具，不受文件夹影响。\n  tools: event => getMcpTools({ event, tags: ['searchable'] }),\n})\n","动态函数",[307,1895,1896,1919,1923,1935,1940,1983],{"__ignoreMap":305},[310,1897,1898,1900,1902,1904,1906,1909,1911,1913,1915,1917],{"class":312,"line":313},[310,1899,317],{"class":316},[310,1901,321],{"class":320},[310,1903,325],{"class":324},[310,1905,387],{"class":320},[310,1907,1908],{"class":324}," getMcpTools",[310,1910,328],{"class":320},[310,1912,331],{"class":316},[310,1914,334],{"class":320},[310,1916,338],{"class":337},[310,1918,341],{"class":320},[310,1920,1921],{"class":312,"line":344},[310,1922,348],{"emptyLinePlaceholder":347},[310,1924,1925,1927,1929,1931,1933],{"class":312,"line":351},[310,1926,354],{"class":316},[310,1928,357],{"class":316},[310,1930,325],{"class":360},[310,1932,363],{"class":324},[310,1934,366],{"class":320},[310,1936,1937],{"class":312,"line":369},[310,1938,1939],{"class":390},"  \u002F\u002F 每个标记为 'searchable' 的工具，不受文件夹影响。\n",[310,1941,1942,1944,1946,1949,1951,1953,1955,1957,1959,1961,1964,1966,1968,1970,1973,1975,1977,1979,1981],{"class":312,"line":394},[310,1943,618],{"class":360},[310,1945,376],{"class":320},[310,1947,1948],{"class":594}," event",[310,1950,601],{"class":587},[310,1952,1908],{"class":360},[310,1954,363],{"class":324},[310,1956,1810],{"class":320},[310,1958,1948],{"class":324},[310,1960,387],{"class":320},[310,1962,1963],{"class":372}," tags",[310,1965,376],{"class":320},[310,1967,1184],{"class":324},[310,1969,384],{"class":320},[310,1971,1972],{"class":337},"searchable",[310,1974,384],{"class":320},[310,1976,1194],{"class":324},[310,1978,397],{"class":320},[310,1980,598],{"class":324},[310,1982,455],{"class":320},[310,1984,1985,1987],{"class":312,"line":477},[310,1986,397],{"class":320},[310,1988,400],{"class":324},[1212,1990,1991,1992,1994,1995,2000,2001,2004,2005,882],{"color":1544,"icon":13},"有关文件夹约定，请参阅",[1225,1993,152],{"href":153},"；有关临时过滤，请参阅",[1225,1996,1997],{"href":211},[307,1998,1999],{},"getMcpTools","。每个工具的 ",[307,2002,2003],{},"enabled()"," 保护都会自动应用——请参阅",[1225,2006,239],{"href":240},[698,2008,2010,784],{"id":2009},"resources可选",[307,2011,2012],{},"resources",[292,2014,2015,2016,2021,2022,882],{},"与",[1225,2017,2019],{"href":2018},"#tools-optional",[307,2020,1682],{},"相同的形式：省略则使用文件夹约定自动归属，传入数组，或传入 ",[307,2023,2024],{},"event => getMcpResources({ event, ... })",[299,2026,2028],{"className":301,"code":2027,"language":304,"meta":305,"style":305},"import { defineMcpResource, defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nconst resource1 = defineMcpResource({ ... })\nconst resource2 = defineMcpResource({ ... })\n\nexport default defineMcpHandler({\n  name: 'custom',\n  resources: [resource1, resource2],\n})\n",[307,2029,2030,2053,2057,2078,2099,2103,2115,2129,2145],{"__ignoreMap":305},[310,2031,2032,2034,2036,2039,2041,2043,2045,2047,2049,2051],{"class":312,"line":313},[310,2033,317],{"class":316},[310,2035,321],{"class":320},[310,2037,2038],{"class":324}," defineMcpResource",[310,2040,387],{"class":320},[310,2042,325],{"class":324},[310,2044,328],{"class":320},[310,2046,331],{"class":316},[310,2048,334],{"class":320},[310,2050,338],{"class":337},[310,2052,341],{"class":320},[310,2054,2055],{"class":312,"line":344},[310,2056,348],{"emptyLinePlaceholder":347},[310,2058,2059,2061,2064,2066,2068,2070,2072,2074,2076],{"class":312,"line":351},[310,2060,1797],{"class":587},[310,2062,2063],{"class":324}," resource1 ",[310,2065,1803],{"class":320},[310,2067,2038],{"class":360},[310,2069,363],{"class":324},[310,2071,1810],{"class":320},[310,2073,606],{"class":320},[310,2075,328],{"class":320},[310,2077,400],{"class":324},[310,2079,2080,2082,2085,2087,2089,2091,2093,2095,2097],{"class":312,"line":369},[310,2081,1797],{"class":587},[310,2083,2084],{"class":324}," resource2 ",[310,2086,1803],{"class":320},[310,2088,2038],{"class":360},[310,2090,363],{"class":324},[310,2092,1810],{"class":320},[310,2094,606],{"class":320},[310,2096,328],{"class":320},[310,2098,400],{"class":324},[310,2100,2101],{"class":312,"line":394},[310,2102,348],{"emptyLinePlaceholder":347},[310,2104,2105,2107,2109,2111,2113],{"class":312,"line":477},[310,2106,354],{"class":316},[310,2108,357],{"class":316},[310,2110,325],{"class":360},[310,2112,363],{"class":324},[310,2114,366],{"class":320},[310,2116,2117,2119,2121,2123,2125,2127],{"class":312,"line":497},[310,2118,373],{"class":372},[310,2120,376],{"class":320},[310,2122,334],{"class":320},[310,2124,1481],{"class":337},[310,2126,384],{"class":320},[310,2128,455],{"class":320},[310,2130,2131,2133,2135,2138,2140,2143],{"class":312,"line":517},[310,2132,637],{"class":372},[310,2134,376],{"class":320},[310,2136,2137],{"class":324}," [resource1",[310,2139,387],{"class":320},[310,2141,2142],{"class":324}," resource2]",[310,2144,455],{"class":320},[310,2146,2147,2149],{"class":312,"line":539},[310,2148,397],{"class":320},[310,2150,400],{"class":324},[698,2152,2154,784],{"id":2153},"prompts可选",[307,2155,2156],{},"prompts",[292,2158,2015,2159,2021,2163,882],{},[1225,2160,2161],{"href":2018},[307,2162,1682],{},[307,2164,2165],{},"event => getMcpPrompts({ event, ... })",[299,2167,2169],{"className":301,"code":2168,"language":304,"meta":305,"style":305},"import { defineMcpPrompt, defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nconst prompt1 = defineMcpPrompt({ ... })\nconst prompt2 = defineMcpPrompt({ ... })\n\nexport default defineMcpHandler({\n  name: 'custom',\n  prompts: [prompt1, prompt2],\n})\n",[307,2170,2171,2194,2198,2219,2240,2244,2256,2270,2286],{"__ignoreMap":305},[310,2172,2173,2175,2177,2180,2182,2184,2186,2188,2190,2192],{"class":312,"line":313},[310,2174,317],{"class":316},[310,2176,321],{"class":320},[310,2178,2179],{"class":324}," defineMcpPrompt",[310,2181,387],{"class":320},[310,2183,325],{"class":324},[310,2185,328],{"class":320},[310,2187,331],{"class":316},[310,2189,334],{"class":320},[310,2191,338],{"class":337},[310,2193,341],{"class":320},[310,2195,2196],{"class":312,"line":344},[310,2197,348],{"emptyLinePlaceholder":347},[310,2199,2200,2202,2205,2207,2209,2211,2213,2215,2217],{"class":312,"line":351},[310,2201,1797],{"class":587},[310,2203,2204],{"class":324}," prompt1 ",[310,2206,1803],{"class":320},[310,2208,2179],{"class":360},[310,2210,363],{"class":324},[310,2212,1810],{"class":320},[310,2214,606],{"class":320},[310,2216,328],{"class":320},[310,2218,400],{"class":324},[310,2220,2221,2223,2226,2228,2230,2232,2234,2236,2238],{"class":312,"line":369},[310,2222,1797],{"class":587},[310,2224,2225],{"class":324}," prompt2 ",[310,2227,1803],{"class":320},[310,2229,2179],{"class":360},[310,2231,363],{"class":324},[310,2233,1810],{"class":320},[310,2235,606],{"class":320},[310,2237,328],{"class":320},[310,2239,400],{"class":324},[310,2241,2242],{"class":312,"line":394},[310,2243,348],{"emptyLinePlaceholder":347},[310,2245,2246,2248,2250,2252,2254],{"class":312,"line":477},[310,2247,354],{"class":316},[310,2249,357],{"class":316},[310,2251,325],{"class":360},[310,2253,363],{"class":324},[310,2255,366],{"class":320},[310,2257,2258,2260,2262,2264,2266,2268],{"class":312,"line":497},[310,2259,373],{"class":372},[310,2261,376],{"class":320},[310,2263,334],{"class":320},[310,2265,1481],{"class":337},[310,2267,384],{"class":320},[310,2269,455],{"class":320},[310,2271,2272,2274,2276,2279,2281,2284],{"class":312,"line":517},[310,2273,656],{"class":372},[310,2275,376],{"class":320},[310,2277,2278],{"class":324}," [prompt1",[310,2280,387],{"class":320},[310,2282,2283],{"class":324}," prompt2]",[310,2285,455],{"class":320},[310,2287,2288,2290],{"class":312,"line":539},[310,2289,397],{"class":320},[310,2291,400],{"class":324},[2293,2294,2295],"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 .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 .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 pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":305,"searchDepth":344,"depth":344,"links":2297},[2298,2299],{"id":290,"depth":344,"text":290},{"id":696,"depth":344,"text":696,"children":2300},[2301,2303,2305,2307,2309,2311,2313,2315,2317,2319,2321,2323],{"id":700,"depth":351,"text":2302},"name（必需）",{"id":780,"depth":351,"text":2304},"version（可选）",{"id":864,"depth":351,"text":2306},"description（可选）",{"id":960,"depth":351,"text":2308},"instructions（可选）",{"id":1051,"depth":351,"text":2310},"icons（可选）",{"id":1234,"depth":351,"text":2312},"route（可选）",{"id":1339,"depth":351,"text":2314},"browserRedirect（可选）",{"id":1424,"depth":351,"text":2316},"middleware（可选）",{"id":1551,"depth":351,"text":2318},"experimental_codeMode（可选）",{"id":1679,"depth":351,"text":2320},"tools（可选）",{"id":2009,"depth":351,"text":2322},"resources（可选）",{"id":2153,"depth":351,"text":2324},"prompts（可选）","必填字段以及 defineMcpHandler 的每个选项，包括 tools、resources 和 prompts。","md",null,{},{"icon":140},{"title":2331,"description":2332},"处理器结构与选项","defineMcpHandler 字段、route、middleware、experimental_codeMode、tools、resources、prompts。","LyiUR8OVHQ1Cg68AqcYhp-X3intDIZENw1RJ9kOtlgw",[2335,2337],{"title":132,"path":133,"stem":134,"description":2336,"icon":135,"children":-1},"覆盖默认的 `\u002Fmcp` 处理器并添加自定义 defineMcpHandler 端点。",{"title":142,"path":143,"stem":144,"description":2338,"icon":145,"children":-1},"完整的处理器示例、多个处理器、路由，以及默认与自定义的比较。",1778659579197]