[{"data":1,"prerenderedAt":1789},["ShallowReactive",2],{"navigation_docs":3,"-handlers-examples-routing":282,"-handlers-examples-routing-surround":1784},[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":142,"body":284,"description":1775,"extension":1776,"links":1777,"meta":1778,"navigation":1779,"path":143,"seo":1780,"stem":144,"__hash__":1783},"docs\u002F5.handlers\u002F3.examples-routing.md",{"type":285,"value":286,"toc":1769},"minimark",[287,291,295,1351,1354,1357,1364,1367,1445,1518,1521,1536,1564,1567,1644,1647,1765],[288,289,290],"h2",{"id":290},"完整示例",[292,293,294],"p",{},"下面是一个自定义处理器的完整示例：",[296,297,303],"pre",{"className":298,"code":299,"filename":300,"language":301,"meta":302,"style":302},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { z } from 'zod'\nimport { defineMcpTool, defineMcpResource, defineMcpPrompt, defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nconst getUserTool = defineMcpTool({\n  name: 'get-user',\n  description: '获取用户信息',\n  inputSchema: {\n    userId: z.string(),\n  },\n  handler: async ({ userId }) => {\n    const user = await db.users.find(userId)\n    return user\n  },\n})\n\nconst createUserTool = defineMcpTool({\n  name: 'create-user',\n  description: '创建新用户',\n  inputSchema: {\n    name: z.string(),\n    email: z.string().email(),\n  },\n  handler: async ({ name, email }) => {\n    const user = await db.users.create({ name, email })\n    return `User created: ${user.id}`\n  },\n})\n\n\u002F\u002F 为此处理器定义资源\nconst userResource = defineMcpResource({\n  name: 'user',\n  uri: 'api:\u002F\u002Fusers\u002F{id}',\n  handler: async (uri, variables) => {\n    const id = variables.id as string\n    const user = await db.users.find(id)\n    return {\n      contents: [{\n        uri: uri.toString(),\n        mimeType: 'application\u002Fjson',\n        text: JSON.stringify(user),\n      }],\n    }\n  },\n})\n\n\u002F\u002F 为此处理器定义提示词\nconst userPrompt = defineMcpPrompt({\n  name: 'user-help',\n  description: '获取用户操作帮助',\n  handler: async () => {\n    return {\n      messages: [{\n        role: 'user',\n        content: {\n          type: 'text',\n          text: '我该如何管理用户？',\n        },\n      }],\n    }\n  },\n})\n\n\u002F\u002F 导出处理器\nexport default defineMcpHandler({\n  name: 'api',\n  version: '1.0.0',\n  route: '\u002Fmcp\u002Fapi',\n  tools: [getUserTool, createUserTool],\n  resources: [userResource],\n  prompts: [userPrompt],\n  browserRedirect: '\u002Fdocs\u002Fapi',\n})\n","server\u002Fmcp\u002Fapi-handler.ts","typescript","",[304,305,306,339,376,383,405,426,443,454,475,481,507,543,552,557,565,570,586,602,618,627,645,670,675,700,737,762,767,774,779,786,802,817,834,861,884,911,918,931,951,968,992,1003,1009,1014,1021,1026,1032,1048,1064,1080,1096,1103,1115,1131,1141,1158,1175,1181,1190,1195,1200,1207,1212,1218,1233,1249,1266,1283,1301,1314,1327,1344],"code",{"__ignoreMap":302},[307,308,311,315,319,323,326,329,332,336],"span",{"class":309,"line":310},"line",1,[307,312,314],{"class":313},"s7zQu","import",[307,316,318],{"class":317},"sMK4o"," {",[307,320,322],{"class":321},"sTEyZ"," z",[307,324,325],{"class":317}," }",[307,327,328],{"class":313}," from",[307,330,331],{"class":317}," '",[307,333,335],{"class":334},"sfazB","zod",[307,337,338],{"class":317},"'\n",[307,340,342,344,346,349,352,355,357,360,362,365,367,369,371,374],{"class":309,"line":341},2,[307,343,314],{"class":313},[307,345,318],{"class":317},[307,347,348],{"class":321}," defineMcpTool",[307,350,351],{"class":317},",",[307,353,354],{"class":321}," defineMcpResource",[307,356,351],{"class":317},[307,358,359],{"class":321}," defineMcpPrompt",[307,361,351],{"class":317},[307,363,364],{"class":321}," defineMcpHandler",[307,366,325],{"class":317},[307,368,328],{"class":313},[307,370,331],{"class":317},[307,372,373],{"class":334},"@nuxtjs\u002Fmcp-toolkit\u002Fserver",[307,375,338],{"class":317},[307,377,379],{"class":309,"line":378},3,[307,380,382],{"emptyLinePlaceholder":381},true,"\n",[307,384,386,390,393,396,399,402],{"class":309,"line":385},4,[307,387,389],{"class":388},"spNyl","const",[307,391,392],{"class":321}," getUserTool ",[307,394,395],{"class":317},"=",[307,397,348],{"class":398},"s2Zo4",[307,400,401],{"class":321},"(",[307,403,404],{"class":317},"{\n",[307,406,408,412,415,417,420,423],{"class":309,"line":407},5,[307,409,411],{"class":410},"swJcz","  name",[307,413,414],{"class":317},":",[307,416,331],{"class":317},[307,418,419],{"class":334},"get-user",[307,421,422],{"class":317},"'",[307,424,425],{"class":317},",\n",[307,427,429,432,434,436,439,441],{"class":309,"line":428},6,[307,430,431],{"class":410},"  description",[307,433,414],{"class":317},[307,435,331],{"class":317},[307,437,438],{"class":334},"获取用户信息",[307,440,422],{"class":317},[307,442,425],{"class":317},[307,444,446,449,451],{"class":309,"line":445},7,[307,447,448],{"class":410},"  inputSchema",[307,450,414],{"class":317},[307,452,453],{"class":317}," {\n",[307,455,457,460,462,464,467,470,473],{"class":309,"line":456},8,[307,458,459],{"class":410},"    userId",[307,461,414],{"class":317},[307,463,322],{"class":321},[307,465,466],{"class":317},".",[307,468,469],{"class":398},"string",[307,471,472],{"class":321},"()",[307,474,425],{"class":317},[307,476,478],{"class":309,"line":477},9,[307,479,480],{"class":317},"  },\n",[307,482,484,487,489,492,495,499,502,505],{"class":309,"line":483},10,[307,485,486],{"class":398},"  handler",[307,488,414],{"class":317},[307,490,491],{"class":388}," async",[307,493,494],{"class":317}," ({",[307,496,498],{"class":497},"sHdIc"," userId",[307,500,501],{"class":317}," })",[307,503,504],{"class":388}," =>",[307,506,453],{"class":317},[307,508,510,513,516,519,522,525,527,530,532,535,537,540],{"class":309,"line":509},11,[307,511,512],{"class":388},"    const",[307,514,515],{"class":321}," user",[307,517,518],{"class":317}," =",[307,520,521],{"class":313}," await",[307,523,524],{"class":321}," db",[307,526,466],{"class":317},[307,528,529],{"class":321},"users",[307,531,466],{"class":317},[307,533,534],{"class":398},"find",[307,536,401],{"class":410},[307,538,539],{"class":321},"userId",[307,541,542],{"class":410},")\n",[307,544,546,549],{"class":309,"line":545},12,[307,547,548],{"class":313},"    return",[307,550,551],{"class":321}," user\n",[307,553,555],{"class":309,"line":554},13,[307,556,480],{"class":317},[307,558,560,563],{"class":309,"line":559},14,[307,561,562],{"class":317},"}",[307,564,542],{"class":321},[307,566,568],{"class":309,"line":567},15,[307,569,382],{"emptyLinePlaceholder":381},[307,571,573,575,578,580,582,584],{"class":309,"line":572},16,[307,574,389],{"class":388},[307,576,577],{"class":321}," createUserTool ",[307,579,395],{"class":317},[307,581,348],{"class":398},[307,583,401],{"class":321},[307,585,404],{"class":317},[307,587,589,591,593,595,598,600],{"class":309,"line":588},17,[307,590,411],{"class":410},[307,592,414],{"class":317},[307,594,331],{"class":317},[307,596,597],{"class":334},"create-user",[307,599,422],{"class":317},[307,601,425],{"class":317},[307,603,605,607,609,611,614,616],{"class":309,"line":604},18,[307,606,431],{"class":410},[307,608,414],{"class":317},[307,610,331],{"class":317},[307,612,613],{"class":334},"创建新用户",[307,615,422],{"class":317},[307,617,425],{"class":317},[307,619,621,623,625],{"class":309,"line":620},19,[307,622,448],{"class":410},[307,624,414],{"class":317},[307,626,453],{"class":317},[307,628,630,633,635,637,639,641,643],{"class":309,"line":629},20,[307,631,632],{"class":410},"    name",[307,634,414],{"class":317},[307,636,322],{"class":321},[307,638,466],{"class":317},[307,640,469],{"class":398},[307,642,472],{"class":321},[307,644,425],{"class":317},[307,646,648,651,653,655,657,659,661,663,666,668],{"class":309,"line":647},21,[307,649,650],{"class":410},"    email",[307,652,414],{"class":317},[307,654,322],{"class":321},[307,656,466],{"class":317},[307,658,469],{"class":398},[307,660,472],{"class":321},[307,662,466],{"class":317},[307,664,665],{"class":398},"email",[307,667,472],{"class":321},[307,669,425],{"class":317},[307,671,673],{"class":309,"line":672},22,[307,674,480],{"class":317},[307,676,678,680,682,684,686,689,691,694,696,698],{"class":309,"line":677},23,[307,679,486],{"class":398},[307,681,414],{"class":317},[307,683,491],{"class":388},[307,685,494],{"class":317},[307,687,688],{"class":497}," name",[307,690,351],{"class":317},[307,692,693],{"class":497}," email",[307,695,501],{"class":317},[307,697,504],{"class":388},[307,699,453],{"class":317},[307,701,703,705,707,709,711,713,715,717,719,722,724,727,729,731,733,735],{"class":309,"line":702},24,[307,704,512],{"class":388},[307,706,515],{"class":321},[307,708,518],{"class":317},[307,710,521],{"class":313},[307,712,524],{"class":321},[307,714,466],{"class":317},[307,716,529],{"class":321},[307,718,466],{"class":317},[307,720,721],{"class":398},"create",[307,723,401],{"class":410},[307,725,726],{"class":317},"{",[307,728,688],{"class":321},[307,730,351],{"class":317},[307,732,693],{"class":321},[307,734,325],{"class":317},[307,736,542],{"class":410},[307,738,740,742,745,748,751,754,756,759],{"class":309,"line":739},25,[307,741,548],{"class":313},[307,743,744],{"class":317}," `",[307,746,747],{"class":334},"User created: ",[307,749,750],{"class":317},"${",[307,752,753],{"class":321},"user",[307,755,466],{"class":317},[307,757,758],{"class":321},"id",[307,760,761],{"class":317},"}`\n",[307,763,765],{"class":309,"line":764},26,[307,766,480],{"class":317},[307,768,770,772],{"class":309,"line":769},27,[307,771,562],{"class":317},[307,773,542],{"class":321},[307,775,777],{"class":309,"line":776},28,[307,778,382],{"emptyLinePlaceholder":381},[307,780,782],{"class":309,"line":781},29,[307,783,785],{"class":784},"sHwdD","\u002F\u002F 为此处理器定义资源\n",[307,787,789,791,794,796,798,800],{"class":309,"line":788},30,[307,790,389],{"class":388},[307,792,793],{"class":321}," userResource ",[307,795,395],{"class":317},[307,797,354],{"class":398},[307,799,401],{"class":321},[307,801,404],{"class":317},[307,803,805,807,809,811,813,815],{"class":309,"line":804},31,[307,806,411],{"class":410},[307,808,414],{"class":317},[307,810,331],{"class":317},[307,812,753],{"class":334},[307,814,422],{"class":317},[307,816,425],{"class":317},[307,818,820,823,825,827,830,832],{"class":309,"line":819},32,[307,821,822],{"class":410},"  uri",[307,824,414],{"class":317},[307,826,331],{"class":317},[307,828,829],{"class":334},"api:\u002F\u002Fusers\u002F{id}",[307,831,422],{"class":317},[307,833,425],{"class":317},[307,835,837,839,841,843,846,849,851,854,857,859],{"class":309,"line":836},33,[307,838,486],{"class":398},[307,840,414],{"class":317},[307,842,491],{"class":388},[307,844,845],{"class":317}," (",[307,847,848],{"class":497},"uri",[307,850,351],{"class":317},[307,852,853],{"class":497}," variables",[307,855,856],{"class":317},")",[307,858,504],{"class":388},[307,860,453],{"class":317},[307,862,864,866,869,871,873,875,877,880],{"class":309,"line":863},34,[307,865,512],{"class":388},[307,867,868],{"class":321}," id",[307,870,518],{"class":317},[307,872,853],{"class":321},[307,874,466],{"class":317},[307,876,758],{"class":321},[307,878,879],{"class":313}," as",[307,881,883],{"class":882},"sBMFI"," string\n",[307,885,887,889,891,893,895,897,899,901,903,905,907,909],{"class":309,"line":886},35,[307,888,512],{"class":388},[307,890,515],{"class":321},[307,892,518],{"class":317},[307,894,521],{"class":313},[307,896,524],{"class":321},[307,898,466],{"class":317},[307,900,529],{"class":321},[307,902,466],{"class":317},[307,904,534],{"class":398},[307,906,401],{"class":410},[307,908,758],{"class":321},[307,910,542],{"class":410},[307,912,914,916],{"class":309,"line":913},36,[307,915,548],{"class":313},[307,917,453],{"class":317},[307,919,921,924,926,929],{"class":309,"line":920},37,[307,922,923],{"class":410},"      contents",[307,925,414],{"class":317},[307,927,928],{"class":410}," [",[307,930,404],{"class":317},[307,932,934,937,939,942,944,947,949],{"class":309,"line":933},38,[307,935,936],{"class":410},"        uri",[307,938,414],{"class":317},[307,940,941],{"class":321}," uri",[307,943,466],{"class":317},[307,945,946],{"class":398},"toString",[307,948,472],{"class":410},[307,950,425],{"class":317},[307,952,954,957,959,961,964,966],{"class":309,"line":953},39,[307,955,956],{"class":410},"        mimeType",[307,958,414],{"class":317},[307,960,331],{"class":317},[307,962,963],{"class":334},"application\u002Fjson",[307,965,422],{"class":317},[307,967,425],{"class":317},[307,969,971,974,976,979,981,984,986,988,990],{"class":309,"line":970},40,[307,972,973],{"class":410},"        text",[307,975,414],{"class":317},[307,977,978],{"class":321}," JSON",[307,980,466],{"class":317},[307,982,983],{"class":398},"stringify",[307,985,401],{"class":410},[307,987,753],{"class":321},[307,989,856],{"class":410},[307,991,425],{"class":317},[307,993,995,998,1001],{"class":309,"line":994},41,[307,996,997],{"class":317},"      }",[307,999,1000],{"class":410},"]",[307,1002,425],{"class":317},[307,1004,1006],{"class":309,"line":1005},42,[307,1007,1008],{"class":317},"    }\n",[307,1010,1012],{"class":309,"line":1011},43,[307,1013,480],{"class":317},[307,1015,1017,1019],{"class":309,"line":1016},44,[307,1018,562],{"class":317},[307,1020,542],{"class":321},[307,1022,1024],{"class":309,"line":1023},45,[307,1025,382],{"emptyLinePlaceholder":381},[307,1027,1029],{"class":309,"line":1028},46,[307,1030,1031],{"class":784},"\u002F\u002F 为此处理器定义提示词\n",[307,1033,1035,1037,1040,1042,1044,1046],{"class":309,"line":1034},47,[307,1036,389],{"class":388},[307,1038,1039],{"class":321}," userPrompt ",[307,1041,395],{"class":317},[307,1043,359],{"class":398},[307,1045,401],{"class":321},[307,1047,404],{"class":317},[307,1049,1051,1053,1055,1057,1060,1062],{"class":309,"line":1050},48,[307,1052,411],{"class":410},[307,1054,414],{"class":317},[307,1056,331],{"class":317},[307,1058,1059],{"class":334},"user-help",[307,1061,422],{"class":317},[307,1063,425],{"class":317},[307,1065,1067,1069,1071,1073,1076,1078],{"class":309,"line":1066},49,[307,1068,431],{"class":410},[307,1070,414],{"class":317},[307,1072,331],{"class":317},[307,1074,1075],{"class":334},"获取用户操作帮助",[307,1077,422],{"class":317},[307,1079,425],{"class":317},[307,1081,1083,1085,1087,1089,1092,1094],{"class":309,"line":1082},50,[307,1084,486],{"class":398},[307,1086,414],{"class":317},[307,1088,491],{"class":388},[307,1090,1091],{"class":317}," ()",[307,1093,504],{"class":388},[307,1095,453],{"class":317},[307,1097,1099,1101],{"class":309,"line":1098},51,[307,1100,548],{"class":313},[307,1102,453],{"class":317},[307,1104,1106,1109,1111,1113],{"class":309,"line":1105},52,[307,1107,1108],{"class":410},"      messages",[307,1110,414],{"class":317},[307,1112,928],{"class":410},[307,1114,404],{"class":317},[307,1116,1118,1121,1123,1125,1127,1129],{"class":309,"line":1117},53,[307,1119,1120],{"class":410},"        role",[307,1122,414],{"class":317},[307,1124,331],{"class":317},[307,1126,753],{"class":334},[307,1128,422],{"class":317},[307,1130,425],{"class":317},[307,1132,1134,1137,1139],{"class":309,"line":1133},54,[307,1135,1136],{"class":410},"        content",[307,1138,414],{"class":317},[307,1140,453],{"class":317},[307,1142,1144,1147,1149,1151,1154,1156],{"class":309,"line":1143},55,[307,1145,1146],{"class":410},"          type",[307,1148,414],{"class":317},[307,1150,331],{"class":317},[307,1152,1153],{"class":334},"text",[307,1155,422],{"class":317},[307,1157,425],{"class":317},[307,1159,1161,1164,1166,1168,1171,1173],{"class":309,"line":1160},56,[307,1162,1163],{"class":410},"          text",[307,1165,414],{"class":317},[307,1167,331],{"class":317},[307,1169,1170],{"class":334},"我该如何管理用户？",[307,1172,422],{"class":317},[307,1174,425],{"class":317},[307,1176,1178],{"class":309,"line":1177},57,[307,1179,1180],{"class":317},"        },\n",[307,1182,1184,1186,1188],{"class":309,"line":1183},58,[307,1185,997],{"class":317},[307,1187,1000],{"class":410},[307,1189,425],{"class":317},[307,1191,1193],{"class":309,"line":1192},59,[307,1194,1008],{"class":317},[307,1196,1198],{"class":309,"line":1197},60,[307,1199,480],{"class":317},[307,1201,1203,1205],{"class":309,"line":1202},61,[307,1204,562],{"class":317},[307,1206,542],{"class":321},[307,1208,1210],{"class":309,"line":1209},62,[307,1211,382],{"emptyLinePlaceholder":381},[307,1213,1215],{"class":309,"line":1214},63,[307,1216,1217],{"class":784},"\u002F\u002F 导出处理器\n",[307,1219,1221,1224,1227,1229,1231],{"class":309,"line":1220},64,[307,1222,1223],{"class":313},"export",[307,1225,1226],{"class":313}," default",[307,1228,364],{"class":398},[307,1230,401],{"class":321},[307,1232,404],{"class":317},[307,1234,1236,1238,1240,1242,1245,1247],{"class":309,"line":1235},65,[307,1237,411],{"class":410},[307,1239,414],{"class":317},[307,1241,331],{"class":317},[307,1243,1244],{"class":334},"api",[307,1246,422],{"class":317},[307,1248,425],{"class":317},[307,1250,1252,1255,1257,1259,1262,1264],{"class":309,"line":1251},66,[307,1253,1254],{"class":410},"  version",[307,1256,414],{"class":317},[307,1258,331],{"class":317},[307,1260,1261],{"class":334},"1.0.0",[307,1263,422],{"class":317},[307,1265,425],{"class":317},[307,1267,1269,1272,1274,1276,1279,1281],{"class":309,"line":1268},67,[307,1270,1271],{"class":410},"  route",[307,1273,414],{"class":317},[307,1275,331],{"class":317},[307,1277,1278],{"class":334},"\u002Fmcp\u002Fapi",[307,1280,422],{"class":317},[307,1282,425],{"class":317},[307,1284,1286,1289,1291,1294,1296,1299],{"class":309,"line":1285},68,[307,1287,1288],{"class":410},"  tools",[307,1290,414],{"class":317},[307,1292,1293],{"class":321}," [getUserTool",[307,1295,351],{"class":317},[307,1297,1298],{"class":321}," createUserTool]",[307,1300,425],{"class":317},[307,1302,1304,1307,1309,1312],{"class":309,"line":1303},69,[307,1305,1306],{"class":410},"  resources",[307,1308,414],{"class":317},[307,1310,1311],{"class":321}," [userResource]",[307,1313,425],{"class":317},[307,1315,1317,1320,1322,1325],{"class":309,"line":1316},70,[307,1318,1319],{"class":410},"  prompts",[307,1321,414],{"class":317},[307,1323,1324],{"class":321}," [userPrompt]",[307,1326,425],{"class":317},[307,1328,1330,1333,1335,1337,1340,1342],{"class":309,"line":1329},71,[307,1331,1332],{"class":410},"  browserRedirect",[307,1334,414],{"class":317},[307,1336,331],{"class":317},[307,1338,1339],{"class":334},"\u002Fdocs\u002Fapi",[307,1341,422],{"class":317},[307,1343,425],{"class":317},[307,1345,1347,1349],{"class":309,"line":1346},72,[307,1348,562],{"class":317},[307,1350,542],{"class":321},[288,1352,1353],{"id":1353},"多个处理器",[292,1355,1356],{},"你可以在应用中创建多个处理器：",[296,1358,1362],{"className":1359,"code":1361,"language":1153},[1360],"language-text","server\u002F\n└── mcp\u002F\n    ├── migration.ts          # 迁移处理器\n    ├── api-handler.ts        # API 处理器\n    ├── admin-handler.ts      # 管理员处理器\n    ├── tools\u002F\n    │   └── echo.ts           # 默认处理器工具\n    ├── resources\u002F\n    │   └── readme.ts         # 默认处理器资源\n    └── prompts\u002F\n        └── greeting.ts       # 默认处理器提示词\n",[304,1363,1361],{"__ignoreMap":302},[292,1365,1366],{},"每个处理器文件都应导出一个默认的处理器定义：",[296,1368,1371],{"className":298,"code":1369,"filename":1370,"language":301,"meta":302,"style":302},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'migration',\n  tools: [ ... ],\n})\n","server\u002Fmcp\u002Fmigration.ts",[304,1372,1373,1391,1395,1407,1422,1439],{"__ignoreMap":302},[307,1374,1375,1377,1379,1381,1383,1385,1387,1389],{"class":309,"line":310},[307,1376,314],{"class":313},[307,1378,318],{"class":317},[307,1380,364],{"class":321},[307,1382,325],{"class":317},[307,1384,328],{"class":313},[307,1386,331],{"class":317},[307,1388,373],{"class":334},[307,1390,338],{"class":317},[307,1392,1393],{"class":309,"line":341},[307,1394,382],{"emptyLinePlaceholder":381},[307,1396,1397,1399,1401,1403,1405],{"class":309,"line":378},[307,1398,1223],{"class":313},[307,1400,1226],{"class":313},[307,1402,364],{"class":398},[307,1404,401],{"class":321},[307,1406,404],{"class":317},[307,1408,1409,1411,1413,1415,1418,1420],{"class":309,"line":385},[307,1410,411],{"class":410},[307,1412,414],{"class":317},[307,1414,331],{"class":317},[307,1416,1417],{"class":334},"migration",[307,1419,422],{"class":317},[307,1421,425],{"class":317},[307,1423,1424,1426,1428,1431,1434,1437],{"class":309,"line":407},[307,1425,1288],{"class":410},[307,1427,414],{"class":317},[307,1429,1430],{"class":321}," [ ",[307,1432,1433],{"class":317},"...",[307,1435,1436],{"class":321}," ]",[307,1438,425],{"class":317},[307,1440,1441,1443],{"class":309,"line":428},[307,1442,562],{"class":317},[307,1444,542],{"class":321},[296,1446,1448],{"className":298,"code":1447,"filename":300,"language":301,"meta":302,"style":302},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'api',\n  tools: [ ... ],\n})\n",[304,1449,1450,1468,1472,1484,1498,1512],{"__ignoreMap":302},[307,1451,1452,1454,1456,1458,1460,1462,1464,1466],{"class":309,"line":310},[307,1453,314],{"class":313},[307,1455,318],{"class":317},[307,1457,364],{"class":321},[307,1459,325],{"class":317},[307,1461,328],{"class":313},[307,1463,331],{"class":317},[307,1465,373],{"class":334},[307,1467,338],{"class":317},[307,1469,1470],{"class":309,"line":341},[307,1471,382],{"emptyLinePlaceholder":381},[307,1473,1474,1476,1478,1480,1482],{"class":309,"line":378},[307,1475,1223],{"class":313},[307,1477,1226],{"class":313},[307,1479,364],{"class":398},[307,1481,401],{"class":321},[307,1483,404],{"class":317},[307,1485,1486,1488,1490,1492,1494,1496],{"class":309,"line":385},[307,1487,411],{"class":410},[307,1489,414],{"class":317},[307,1491,331],{"class":317},[307,1493,1244],{"class":334},[307,1495,422],{"class":317},[307,1497,425],{"class":317},[307,1499,1500,1502,1504,1506,1508,1510],{"class":309,"line":407},[307,1501,1288],{"class":410},[307,1503,414],{"class":317},[307,1505,1430],{"class":321},[307,1507,1433],{"class":317},[307,1509,1436],{"class":321},[307,1511,425],{"class":317},[307,1513,1514,1516],{"class":309,"line":428},[307,1515,562],{"class":317},[307,1517,542],{"class":321},[288,1519,1520],{"id":1520},"处理器路由",[292,1522,1523,1524,1527,1528,1531,1532,1535],{},"处理器的 ",[304,1525,1526],{},"name"," 决定它将被挂载到哪里。默认情况下，处理器可通过 ",[304,1529,1530],{},"\u002Fmcp\u002F:name"," 访问，其中 ",[304,1533,1534],{},":name"," 是处理器的名称：",[1537,1538,1539,1549,1556],"ul",{},[1540,1541,1542,1545,1546],"li",{},[304,1543,1544],{},"name: 'migration'"," 的处理器 → 挂载到 ",[304,1547,1548],{},"\u002Fmcp\u002Fmigration",[1540,1550,1551,1545,1554],{},[304,1552,1553],{},"name: 'api'",[304,1555,1278],{},[1540,1557,1558,1545,1561],{},[304,1559,1560],{},"name: 'admin'",[304,1562,1563],{},"\u002Fmcp\u002Fadmin",[292,1565,1566],{},"你也可以指定自定义路由来覆盖默认值：",[296,1568,1570],{"className":298,"code":1569,"language":301,"meta":302,"style":302},"import { defineMcpHandler } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpHandler({\n  name: 'api',\n  route: '\u002Fapi\u002Fmcp\u002Fv1', \u002F\u002F 自定义路由，而不是 \u002Fmcp\u002Fapi\n})\n",[304,1571,1572,1590,1594,1606,1620,1638],{"__ignoreMap":302},[307,1573,1574,1576,1578,1580,1582,1584,1586,1588],{"class":309,"line":310},[307,1575,314],{"class":313},[307,1577,318],{"class":317},[307,1579,364],{"class":321},[307,1581,325],{"class":317},[307,1583,328],{"class":313},[307,1585,331],{"class":317},[307,1587,373],{"class":334},[307,1589,338],{"class":317},[307,1591,1592],{"class":309,"line":341},[307,1593,382],{"emptyLinePlaceholder":381},[307,1595,1596,1598,1600,1602,1604],{"class":309,"line":378},[307,1597,1223],{"class":313},[307,1599,1226],{"class":313},[307,1601,364],{"class":398},[307,1603,401],{"class":321},[307,1605,404],{"class":317},[307,1607,1608,1610,1612,1614,1616,1618],{"class":309,"line":385},[307,1609,411],{"class":410},[307,1611,414],{"class":317},[307,1613,331],{"class":317},[307,1615,1244],{"class":334},[307,1617,422],{"class":317},[307,1619,425],{"class":317},[307,1621,1622,1624,1626,1628,1631,1633,1635],{"class":309,"line":407},[307,1623,1271],{"class":410},[307,1625,414],{"class":317},[307,1627,331],{"class":317},[307,1629,1630],{"class":334},"\u002Fapi\u002Fmcp\u002Fv1",[307,1632,422],{"class":317},[307,1634,351],{"class":317},[307,1636,1637],{"class":784}," \u002F\u002F 自定义路由，而不是 \u002Fmcp\u002Fapi\n",[307,1639,1640,1642],{"class":309,"line":428},[307,1641,562],{"class":317},[307,1643,542],{"class":321},[288,1645,1646],{"id":1646},"默认处理器与自定义处理器",[1648,1649,1650,1673],"table",{},[1651,1652,1653],"thead",{},[1654,1655,1656,1660,1663,1670],"tr",{},[1657,1658,1659],"th",{},"功能",[1657,1661,1662],{},"默认处理器",[1657,1664,1665,1666,1669],{},"默认处理器覆盖（",[304,1667,1668],{},"index.ts","）",[1657,1671,1672],{},"自定义处理器",[1674,1675,1676,1697,1713,1726,1739,1753],"tbody",{},[1654,1677,1678,1682,1688,1692],{},[1679,1680,1681],"td",{},"路由",[1679,1683,1684,1687],{},[304,1685,1686],{},"\u002Fmcp","（通过配置）",[1679,1689,1690,1687],{},[304,1691,1686],{},[1679,1693,1694,1696],{},[304,1695,1530],{},"（或自定义路由）",[1654,1698,1699,1701,1707,1710],{},[1679,1700,41],{},[1679,1702,1703,1704],{},"来自 ",[304,1705,1706],{},"server\u002Fmcp\u002Ftools\u002F",[1679,1708,1709],{},"自定义或全局",[1679,1711,1712],{},"在处理器中定义",[1654,1714,1715,1717,1722,1724],{},[1679,1716,71],{},[1679,1718,1703,1719],{},[304,1720,1721],{},"server\u002Fmcp\u002Fresources\u002F",[1679,1723,1709],{},[1679,1725,1712],{},[1654,1727,1728,1730,1735,1737],{},[1679,1729,100],{},[1679,1731,1703,1732],{},[304,1733,1734],{},"server\u002Fmcp\u002Fprompts\u002F",[1679,1736,1709],{},[1679,1738,1712],{},[1654,1740,1741,1744,1747,1750],{},[1679,1742,1743],{},"名称",[1679,1745,1746],{},"来自配置",[1679,1748,1749],{},"自定义或配置",[1679,1751,1752],{},"处理器名称（必填）",[1654,1754,1755,1758,1760,1762],{},[1679,1756,1757],{},"版本",[1679,1759,1746],{},[1679,1761,1749],{},[1679,1763,1764],{},"处理器版本",[1766,1767,1768],"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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .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 .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}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);}",{"title":302,"searchDepth":341,"depth":341,"links":1770},[1771,1772,1773,1774],{"id":290,"depth":341,"text":290},{"id":1353,"depth":341,"text":1353},{"id":1520,"depth":341,"text":1520},{"id":1646,"depth":341,"text":1646},"完整的处理器示例、多个处理器、路由，以及默认与自定义的比较。","md",null,{},{"icon":145},{"title":1781,"description":1782},"MCP 处理器示例与路由","完整的 defineMcpHandler 示例、多个处理器、\u002Fmcp\u002F:name 路由，以及对比表。","xhvqJrPS6ixnf_gdliXiFroMcxyrZq7yFTTmBg5wCTM",[1785,1787],{"title":137,"path":138,"stem":139,"description":1786,"icon":140,"children":-1},"必填字段以及 defineMcpHandler 的每个选项，包括 tools、resources 和 prompts。",{"title":147,"path":148,"stem":149,"description":1788,"icon":150,"children":-1},"跨处理器工具共享、文件布局、使用场景和后续步骤。",1778659579200]