[{"data":1,"prerenderedAt":1298},["ShallowReactive",2],{"navigation_docs":3,"-tools-annotations":282,"-tools-annotations-surround":1293},[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":56,"body":284,"description":1284,"extension":1285,"links":1286,"meta":1287,"navigation":1288,"path":57,"seo":1289,"stem":58,"__hash__":1292},"docs\u002F2.tools\u002F2.annotations.md",{"type":285,"value":286,"toc":1278},"minimark",[287,291,295,588,592,715,718,970,981,984,999,1002,1268,1274],[288,289,290],"h2",{"id":290},"工具注释",[292,293,294],"p",{},"注释是行为提示，用于告诉 MCP 客户端某个工具的行为方式。客户端可以据此决定何时提示用户进行确认（human-in-the-loop）。",[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 } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpTool({\n  name: 'delete-user',\n  description: '删除用户账户',\n  inputSchema: {\n    userId: z.string(),\n  },\n  annotations: {\n    readOnlyHint: false,    \u002F\u002F 工具会修改状态\n    destructiveHint: true,  \u002F\u002F 工具会执行破坏性更新\n    idempotentHint: true,   \u002F\u002F 多次删除同一个用户不会产生额外影响\n    openWorldHint: false,   \u002F\u002F 工具不会与外部系统交互\n  },\n  handler: async ({ userId }) => {\n    \u002F\u002F ...\n  },\n})\n","server\u002Fmcp\u002Ftools\u002Fdelete-user.ts","typescript","",[304,305,306,339,360,367,385,406,423,434,455,461,471,490,506,521,536,541,568,574,579],"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,351,353,355,358],{"class":309,"line":341},2,[307,343,314],{"class":313},[307,345,318],{"class":317},[307,347,348],{"class":321}," defineMcpTool",[307,350,325],{"class":317},[307,352,328],{"class":313},[307,354,331],{"class":317},[307,356,357],{"class":334},"@nuxtjs\u002Fmcp-toolkit\u002Fserver",[307,359,338],{"class":317},[307,361,363],{"class":309,"line":362},3,[307,364,366],{"emptyLinePlaceholder":365},true,"\n",[307,368,370,373,376,379,382],{"class":309,"line":369},4,[307,371,372],{"class":313},"export",[307,374,375],{"class":313}," default",[307,377,348],{"class":378},"s2Zo4",[307,380,381],{"class":321},"(",[307,383,384],{"class":317},"{\n",[307,386,388,392,395,397,400,403],{"class":309,"line":387},5,[307,389,391],{"class":390},"swJcz","  name",[307,393,394],{"class":317},":",[307,396,331],{"class":317},[307,398,399],{"class":334},"delete-user",[307,401,402],{"class":317},"'",[307,404,405],{"class":317},",\n",[307,407,409,412,414,416,419,421],{"class":309,"line":408},6,[307,410,411],{"class":390},"  description",[307,413,394],{"class":317},[307,415,331],{"class":317},[307,417,418],{"class":334},"删除用户账户",[307,420,402],{"class":317},[307,422,405],{"class":317},[307,424,426,429,431],{"class":309,"line":425},7,[307,427,428],{"class":390},"  inputSchema",[307,430,394],{"class":317},[307,432,433],{"class":317}," {\n",[307,435,437,440,442,444,447,450,453],{"class":309,"line":436},8,[307,438,439],{"class":390},"    userId",[307,441,394],{"class":317},[307,443,322],{"class":321},[307,445,446],{"class":317},".",[307,448,449],{"class":378},"string",[307,451,452],{"class":321},"()",[307,454,405],{"class":317},[307,456,458],{"class":309,"line":457},9,[307,459,460],{"class":317},"  },\n",[307,462,464,467,469],{"class":309,"line":463},10,[307,465,466],{"class":390},"  annotations",[307,468,394],{"class":317},[307,470,433],{"class":317},[307,472,474,477,479,483,486],{"class":309,"line":473},11,[307,475,476],{"class":390},"    readOnlyHint",[307,478,394],{"class":317},[307,480,482],{"class":481},"sfNiH"," false",[307,484,485],{"class":317},",",[307,487,489],{"class":488},"sHwdD","    \u002F\u002F 工具会修改状态\n",[307,491,493,496,498,501,503],{"class":309,"line":492},12,[307,494,495],{"class":390},"    destructiveHint",[307,497,394],{"class":317},[307,499,500],{"class":481}," true",[307,502,485],{"class":317},[307,504,505],{"class":488},"  \u002F\u002F 工具会执行破坏性更新\n",[307,507,509,512,514,516,518],{"class":309,"line":508},13,[307,510,511],{"class":390},"    idempotentHint",[307,513,394],{"class":317},[307,515,500],{"class":481},[307,517,485],{"class":317},[307,519,520],{"class":488},"   \u002F\u002F 多次删除同一个用户不会产生额外影响\n",[307,522,524,527,529,531,533],{"class":309,"line":523},14,[307,525,526],{"class":390},"    openWorldHint",[307,528,394],{"class":317},[307,530,482],{"class":481},[307,532,485],{"class":317},[307,534,535],{"class":488},"   \u002F\u002F 工具不会与外部系统交互\n",[307,537,539],{"class":309,"line":538},15,[307,540,460],{"class":317},[307,542,544,547,549,553,556,560,563,566],{"class":309,"line":543},16,[307,545,546],{"class":378},"  handler",[307,548,394],{"class":317},[307,550,552],{"class":551},"spNyl"," async",[307,554,555],{"class":317}," ({",[307,557,559],{"class":558},"sHdIc"," userId",[307,561,562],{"class":317}," })",[307,564,565],{"class":551}," =>",[307,567,433],{"class":317},[307,569,571],{"class":309,"line":570},17,[307,572,573],{"class":488},"    \u002F\u002F ...\n",[307,575,577],{"class":309,"line":576},18,[307,578,460],{"class":317},[307,580,582,585],{"class":309,"line":581},19,[307,583,584],{"class":317},"}",[307,586,587],{"class":321},")\n",[589,590,591],"h3",{"id":591},"注释参考",[593,594,595,614],"table",{},[596,597,598],"thead",{},[599,600,601,605,608,611],"tr",{},[602,603,604],"th",{},"注释",[602,606,607],{},"类型",[602,609,610],{},"默认值",[602,612,613],{},"描述",[615,616,617,642,668,692],"tbody",{},[599,618,619,625,630,635],{},[620,621,622],"td",{},[304,623,624],{},"readOnlyHint",[620,626,627],{},[304,628,629],{},"boolean",[620,631,632],{},[304,633,634],{},"false",[620,636,637,638,641],{},"如果为 ",[304,639,640],{},"true","，工具只读取数据，不修改任何状态（可安全重试）。",[599,643,644,649,653,657],{},[620,645,646],{},[304,647,648],{},"destructiveHint",[620,650,651],{},[304,652,629],{},[620,654,655],{},[304,656,640],{},[620,658,637,659,661,662,664,665,667],{},[304,660,640],{},"，工具可能执行破坏性操作，例如删除数据。仅在 ",[304,663,624],{}," 为 ",[304,666,634],{}," 时有意义。",[599,669,670,675,679,683],{},[620,671,672],{},[304,673,674],{},"idempotentHint",[620,676,677],{},[304,678,629],{},[620,680,681],{},[304,682,634],{},[620,684,637,685,687,688,664,690,667],{},[304,686,640],{},"，使用相同参数多次调用该工具，除首次调用外不会产生额外影响。仅在 ",[304,689,624],{},[304,691,634],{},[599,693,694,699,703,707],{},[620,695,696],{},[304,697,698],{},"openWorldHint",[620,700,701],{},[304,702,629],{},[620,704,705],{},[304,706,640],{},[620,708,637,709,711,712,714],{},[304,710,640],{},"，工具可能与外部世界交互（外部 API、互联网）。如果为 ",[304,713,634],{},"，则只对本地\u002F内部数据进行操作。",[292,716,717],{},"以下是典型工具的常见注释模式：",[719,720,721,780,844,907],"code-group",{},[296,722,725],{"className":298,"code":723,"filename":724,"language":301,"meta":302,"style":302},"\u002F\u002F 搜索、列表、查询、计算...\nannotations: {\n  readOnlyHint: true,\n  destructiveHint: false,\n  openWorldHint: false,\n}\n","只读工具",[304,726,727,732,742,753,764,775],{"__ignoreMap":302},[307,728,729],{"class":309,"line":310},[307,730,731],{"class":488},"\u002F\u002F 搜索、列表、查询、计算...\n",[307,733,734,738,740],{"class":309,"line":341},[307,735,737],{"class":736},"sBMFI","annotations",[307,739,394],{"class":317},[307,741,433],{"class":317},[307,743,744,747,749,751],{"class":309,"line":362},[307,745,746],{"class":736},"  readOnlyHint",[307,748,394],{"class":317},[307,750,500],{"class":481},[307,752,405],{"class":317},[307,754,755,758,760,762],{"class":309,"line":369},[307,756,757],{"class":736},"  destructiveHint",[307,759,394],{"class":317},[307,761,482],{"class":481},[307,763,405],{"class":317},[307,765,766,769,771,773],{"class":309,"line":387},[307,767,768],{"class":736},"  openWorldHint",[307,770,394],{"class":317},[307,772,482],{"class":481},[307,774,405],{"class":317},[307,776,777],{"class":309,"line":408},[307,778,779],{"class":317},"}\n",[296,781,784],{"className":298,"code":782,"filename":783,"language":301,"meta":302,"style":302},"\u002F\u002F 每次都会创建一条新记录\nannotations: {\n  readOnlyHint: false,\n  destructiveHint: false,\n  idempotentHint: false,\n  openWorldHint: false,\n}\n","创建工具",[304,785,786,791,799,809,819,830,840],{"__ignoreMap":302},[307,787,788],{"class":309,"line":310},[307,789,790],{"class":488},"\u002F\u002F 每次都会创建一条新记录\n",[307,792,793,795,797],{"class":309,"line":341},[307,794,737],{"class":736},[307,796,394],{"class":317},[307,798,433],{"class":317},[307,800,801,803,805,807],{"class":309,"line":362},[307,802,746],{"class":736},[307,804,394],{"class":317},[307,806,482],{"class":481},[307,808,405],{"class":317},[307,810,811,813,815,817],{"class":309,"line":369},[307,812,757],{"class":736},[307,814,394],{"class":317},[307,816,482],{"class":481},[307,818,405],{"class":317},[307,820,821,824,826,828],{"class":309,"line":387},[307,822,823],{"class":736},"  idempotentHint",[307,825,394],{"class":317},[307,827,482],{"class":481},[307,829,405],{"class":317},[307,831,832,834,836,838],{"class":309,"line":408},[307,833,768],{"class":736},[307,835,394],{"class":317},[307,837,482],{"class":481},[307,839,405],{"class":317},[307,841,842],{"class":309,"line":425},[307,843,779],{"class":317},[296,845,848],{"className":298,"code":846,"filename":847,"language":301,"meta":302,"style":302},"\u002F\u002F 更新是幂等的（相同输入 → 相同结果）\nannotations: {\n  readOnlyHint: false,\n  destructiveHint: false,\n  idempotentHint: true,\n  openWorldHint: false,\n}\n","更新工具",[304,849,850,855,863,873,883,893,903],{"__ignoreMap":302},[307,851,852],{"class":309,"line":310},[307,853,854],{"class":488},"\u002F\u002F 更新是幂等的（相同输入 → 相同结果）\n",[307,856,857,859,861],{"class":309,"line":341},[307,858,737],{"class":736},[307,860,394],{"class":317},[307,862,433],{"class":317},[307,864,865,867,869,871],{"class":309,"line":362},[307,866,746],{"class":736},[307,868,394],{"class":317},[307,870,482],{"class":481},[307,872,405],{"class":317},[307,874,875,877,879,881],{"class":309,"line":369},[307,876,757],{"class":736},[307,878,394],{"class":317},[307,880,482],{"class":481},[307,882,405],{"class":317},[307,884,885,887,889,891],{"class":309,"line":387},[307,886,823],{"class":736},[307,888,394],{"class":317},[307,890,500],{"class":481},[307,892,405],{"class":317},[307,894,895,897,899,901],{"class":309,"line":408},[307,896,768],{"class":736},[307,898,394],{"class":317},[307,900,482],{"class":481},[307,902,405],{"class":317},[307,904,905],{"class":309,"line":425},[307,906,779],{"class":317},[296,908,911],{"className":298,"code":909,"filename":910,"language":301,"meta":302,"style":302},"\u002F\u002F 具有破坏性且幂等（删除两次与删除一次效果相同）\nannotations: {\n  readOnlyHint: false,\n  destructiveHint: true,\n  idempotentHint: true,\n  openWorldHint: false,\n}\n","删除工具",[304,912,913,918,926,936,946,956,966],{"__ignoreMap":302},[307,914,915],{"class":309,"line":310},[307,916,917],{"class":488},"\u002F\u002F 具有破坏性且幂等（删除两次与删除一次效果相同）\n",[307,919,920,922,924],{"class":309,"line":341},[307,921,737],{"class":736},[307,923,394],{"class":317},[307,925,433],{"class":317},[307,927,928,930,932,934],{"class":309,"line":362},[307,929,746],{"class":736},[307,931,394],{"class":317},[307,933,482],{"class":481},[307,935,405],{"class":317},[307,937,938,940,942,944],{"class":309,"line":369},[307,939,757],{"class":736},[307,941,394],{"class":317},[307,943,500],{"class":481},[307,945,405],{"class":317},[307,947,948,950,952,954],{"class":309,"line":387},[307,949,823],{"class":736},[307,951,394],{"class":317},[307,953,500],{"class":481},[307,955,405],{"class":317},[307,957,958,960,962,964],{"class":309,"line":408},[307,959,768],{"class":736},[307,961,394],{"class":317},[307,963,482],{"class":481},[307,965,405],{"class":317},[307,967,968],{"class":309,"line":425},[307,969,779],{"class":317},[971,972,975,976,980],"callout",{"color":973,"icon":974},"info","i-lucide-info","所有注释都只是",[977,978,979],"strong",{},"提示","——并不能保证会被每个 MCP 客户端遵守。客户端绝不应基于来自不受信任服务器的注释做出安全关键决策。",[288,982,983],{"id":983},"输入示例",[292,985,986,987,990,991,994,995,998],{},"你可以使用 ",[304,988,989],{},"inputExamples"," 为工具提供具体用法示例。这些示例是类型安全的（与 ",[304,992,993],{},"inputSchema"," 匹配），并会通过 ",[304,996,997],{},"_meta.inputExamples"," 传输给客户端。",[292,1000,1001],{},"输入示例有助于 AI 模型理解如何正确填写工具参数，尤其适用于具有可选字段或复杂输入的工具。",[296,1003,1006],{"className":298,"code":1004,"filename":1005,"language":301,"meta":302,"style":302},"import { z } from 'zod'\nimport { defineMcpTool } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpTool({\n  description: '创建新的待办事项',\n  inputSchema: {\n    title: z.string().describe('待办事项的标题'),\n    content: z.string().optional().describe('可选描述'),\n  },\n  inputExamples: [\n    { title: 'Buy groceries', content: 'Milk, eggs, bread' },\n    { title: 'Fix login bug' },  \u002F\u002F content 是可选的\n  ],\n  handler: async ({ title, content }) => {\n    \u002F\u002F ...\n  },\n})\n","server\u002Fmcp\u002Ftools\u002Fcreate-todo.ts",[304,1007,1008,1026,1044,1048,1060,1075,1083,1117,1156,1160,1170,1204,1225,1232,1254,1258,1262],{"__ignoreMap":302},[307,1009,1010,1012,1014,1016,1018,1020,1022,1024],{"class":309,"line":310},[307,1011,314],{"class":313},[307,1013,318],{"class":317},[307,1015,322],{"class":321},[307,1017,325],{"class":317},[307,1019,328],{"class":313},[307,1021,331],{"class":317},[307,1023,335],{"class":334},[307,1025,338],{"class":317},[307,1027,1028,1030,1032,1034,1036,1038,1040,1042],{"class":309,"line":341},[307,1029,314],{"class":313},[307,1031,318],{"class":317},[307,1033,348],{"class":321},[307,1035,325],{"class":317},[307,1037,328],{"class":313},[307,1039,331],{"class":317},[307,1041,357],{"class":334},[307,1043,338],{"class":317},[307,1045,1046],{"class":309,"line":362},[307,1047,366],{"emptyLinePlaceholder":365},[307,1049,1050,1052,1054,1056,1058],{"class":309,"line":369},[307,1051,372],{"class":313},[307,1053,375],{"class":313},[307,1055,348],{"class":378},[307,1057,381],{"class":321},[307,1059,384],{"class":317},[307,1061,1062,1064,1066,1068,1071,1073],{"class":309,"line":387},[307,1063,411],{"class":390},[307,1065,394],{"class":317},[307,1067,331],{"class":317},[307,1069,1070],{"class":334},"创建新的待办事项",[307,1072,402],{"class":317},[307,1074,405],{"class":317},[307,1076,1077,1079,1081],{"class":309,"line":408},[307,1078,428],{"class":390},[307,1080,394],{"class":317},[307,1082,433],{"class":317},[307,1084,1085,1088,1090,1092,1094,1096,1098,1100,1103,1105,1107,1110,1112,1115],{"class":309,"line":425},[307,1086,1087],{"class":390},"    title",[307,1089,394],{"class":317},[307,1091,322],{"class":321},[307,1093,446],{"class":317},[307,1095,449],{"class":378},[307,1097,452],{"class":321},[307,1099,446],{"class":317},[307,1101,1102],{"class":378},"describe",[307,1104,381],{"class":321},[307,1106,402],{"class":317},[307,1108,1109],{"class":334},"待办事项的标题",[307,1111,402],{"class":317},[307,1113,1114],{"class":321},")",[307,1116,405],{"class":317},[307,1118,1119,1122,1124,1126,1128,1130,1132,1134,1137,1139,1141,1143,1145,1147,1150,1152,1154],{"class":309,"line":436},[307,1120,1121],{"class":390},"    content",[307,1123,394],{"class":317},[307,1125,322],{"class":321},[307,1127,446],{"class":317},[307,1129,449],{"class":378},[307,1131,452],{"class":321},[307,1133,446],{"class":317},[307,1135,1136],{"class":378},"optional",[307,1138,452],{"class":321},[307,1140,446],{"class":317},[307,1142,1102],{"class":378},[307,1144,381],{"class":321},[307,1146,402],{"class":317},[307,1148,1149],{"class":334},"可选描述",[307,1151,402],{"class":317},[307,1153,1114],{"class":321},[307,1155,405],{"class":317},[307,1157,1158],{"class":309,"line":457},[307,1159,460],{"class":317},[307,1161,1162,1165,1167],{"class":309,"line":463},[307,1163,1164],{"class":390},"  inputExamples",[307,1166,394],{"class":317},[307,1168,1169],{"class":321}," [\n",[307,1171,1172,1175,1178,1180,1182,1185,1187,1189,1192,1194,1196,1199,1201],{"class":309,"line":473},[307,1173,1174],{"class":317},"    {",[307,1176,1177],{"class":390}," title",[307,1179,394],{"class":317},[307,1181,331],{"class":317},[307,1183,1184],{"class":334},"Buy groceries",[307,1186,402],{"class":317},[307,1188,485],{"class":317},[307,1190,1191],{"class":390}," content",[307,1193,394],{"class":317},[307,1195,331],{"class":317},[307,1197,1198],{"class":334},"Milk, eggs, bread",[307,1200,402],{"class":317},[307,1202,1203],{"class":317}," },\n",[307,1205,1206,1208,1210,1212,1214,1217,1219,1222],{"class":309,"line":492},[307,1207,1174],{"class":317},[307,1209,1177],{"class":390},[307,1211,394],{"class":317},[307,1213,331],{"class":317},[307,1215,1216],{"class":334},"Fix login bug",[307,1218,402],{"class":317},[307,1220,1221],{"class":317}," },",[307,1223,1224],{"class":488},"  \u002F\u002F content 是可选的\n",[307,1226,1227,1230],{"class":309,"line":508},[307,1228,1229],{"class":321},"  ]",[307,1231,405],{"class":317},[307,1233,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252],{"class":309,"line":523},[307,1235,546],{"class":378},[307,1237,394],{"class":317},[307,1239,552],{"class":551},[307,1241,555],{"class":317},[307,1243,1177],{"class":558},[307,1245,485],{"class":317},[307,1247,1191],{"class":558},[307,1249,562],{"class":317},[307,1251,565],{"class":551},[307,1253,433],{"class":317},[307,1255,1256],{"class":309,"line":538},[307,1257,573],{"class":488},[307,1259,1260],{"class":309,"line":543},[307,1261,460],{"class":317},[307,1263,1264,1266],{"class":309,"line":570},[307,1265,584],{"class":317},[307,1267,587],{"class":321},[971,1269,1271,1273],{"color":1270,"icon":272},"warning",[304,1272,989],{}," 对于带有可选参数、枚举或复杂嵌套输入的工具尤其有用，因为展示具体值有助于模型选择正确的格式。",[1275,1276,1277],"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 .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}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 .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 .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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":302,"searchDepth":341,"depth":341,"links":1279},[1280,1283],{"id":290,"depth":341,"text":290,"children":1281},[1282],{"id":591,"depth":362,"text":591},{"id":983,"depth":341,"text":983},"MCP 客户端的行为提示以及复杂工具的具体 inputExamples。","md",null,{},{"icon":59},{"title":1290,"description":1291},"工具注释与输入示例","readOnlyHint、destructiveHint、idempotentHint、openWorldHint，以及 MCP 工具的类型安全 inputExamples。","v1Mo5IYMNjxe1_UfF0FiyfrCWC7yCTZHrGcf1f74v4M",[1294,1296],{"title":51,"path":52,"stem":53,"description":1295,"icon":54,"children":-1},"使用 Zod 定义工具输入和输出，并从处理器返回文本、结构化数据或媒体。",{"title":61,"path":62,"stem":63,"description":1297,"icon":64,"children":-1},"工具处理器中的 H3 和普通错误，以及基于 Nitro 的响应缓存。",1778659578340]