[{"data":1,"prerenderedAt":1299},["ShallowReactive",2],{"navigation_docs":3,"-tools-annotations":282,"-tools-annotations-surround":1294},[4,40,70,99,122,156,189,253],{"title":5,"path":6,"stem":7,"children":8,"page":39},"Getting Started","\u002Fgetting-started","1.getting-started",[9,14,19,24,29,34],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-book-open",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F3.configuration","i-lucide-settings",{"title":25,"path":26,"stem":27,"icon":28},"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},"Tools","\u002Ftools","2.tools",[45,50,55,60,65],{"title":46,"path":47,"stem":48,"icon":49},"Overview","\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},"Annotations & input examples","\u002Ftools\u002Fannotations","2.tools\u002F2.annotations","i-lucide-badge-info",{"title":61,"path":62,"stem":63,"icon":64},"Errors & caching","\u002Ftools\u002Ferrors-caching","2.tools\u002F3.errors-caching","i-lucide-shield",{"title":66,"path":67,"stem":68,"icon":69},"Groups, files & dynamic registration","\u002Ftools\u002Fgroups-organization","2.tools\u002F4.groups-organization","i-lucide-tags",{"title":71,"path":72,"stem":73,"children":74,"page":39},"Resources","\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},"Static resources & structure","\u002Fresources\u002Fstatic-and-structure","3.resources\u002F1.static-and-structure","i-lucide-file-stack",{"title":85,"path":86,"stem":87,"icon":88},"Templates & handlers","\u002Fresources\u002Ftemplates-and-handlers","3.resources\u002F2.templates-and-handlers","i-lucide-git-branch",{"title":90,"path":91,"stem":92,"icon":93},"Metadata, content & errors","\u002Fresources\u002Fcontent-metadata-errors","3.resources\u002F3.content-metadata-errors","i-lucide-layers",{"title":95,"path":96,"stem":97,"icon":98},"Groups & organization","\u002Fresources\u002Forganization","3.resources\u002F4.organization","i-lucide-folder-tree",{"title":100,"path":101,"stem":102,"children":103,"page":39},"Prompts","\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},"Authoring & structure","\u002Fprompts\u002Fauthoring","4.prompts\u002F1.authoring","i-lucide-pen-line",{"title":114,"path":115,"stem":116,"icon":93},"Input, handler & messages","\u002Fprompts\u002Finput-handler-messages","4.prompts\u002F2.input-handler-messages",{"title":118,"path":119,"stem":120,"icon":121},"Patterns & advanced","\u002Fprompts\u002Fpatterns-advanced","4.prompts\u002F3.patterns-advanced","i-lucide-line-chart",{"title":123,"path":124,"stem":125,"children":126,"page":39},"Handlers","\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},"Default & custom handlers","\u002Fhandlers\u002Fdefault-and-custom","5.handlers\u002F1.default-and-custom","i-lucide-toggle-left",{"title":137,"path":138,"stem":139,"icon":140},"Structure & options","\u002Fhandlers\u002Fstructure-and-options","5.handlers\u002F2.structure-and-options","i-lucide-sliders-horizontal",{"title":142,"path":143,"stem":144,"icon":145},"Examples & routing","\u002Fhandlers\u002Fexamples-routing","5.handlers\u002F3.examples-routing","i-lucide-route",{"title":147,"path":148,"stem":149,"icon":150},"Sharing & practices","\u002Fhandlers\u002Fsharing-practices","5.handlers\u002F4.sharing-practices","i-lucide-share-2",{"title":152,"path":153,"stem":154,"icon":155},"Multi-handler organization","\u002Fhandlers\u002Forganization","5.handlers\u002F5.organization","i-lucide-network",{"title":157,"path":158,"stem":159,"children":160,"page":39},"Apps","\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},"Authoring & defineMcpApp","\u002Fapps\u002Fauthoring","6.apps\u002F1.authoring","i-lucide-code-2",{"title":171,"path":172,"stem":173,"icon":174},"useMcpApp() bridge","\u002Fapps\u002Fuse-mcp-app","6.apps\u002F2.use-mcp-app","i-lucide-message-circle",{"title":176,"path":177,"stem":178,"icon":64},"CSP & build pipeline","\u002Fapps\u002Fcsp-and-wiring","6.apps\u002F3.csp-and-wiring",{"title":180,"path":181,"stem":182,"icon":183},"Testing & publishing","\u002Fapps\u002Ftesting-publishing","6.apps\u002F4.testing-publishing","i-lucide-rocket",{"title":185,"path":186,"stem":187,"icon":188},"Patterns & limits","\u002Fapps\u002Fpatterns-reference","6.apps\u002F5.patterns-reference","i-lucide-book-marked",{"title":190,"path":191,"stem":192,"children":193,"page":39},"Advanced Topics","\u002Fadvanced","7.advanced",[194,199,204,209,214,218,223,228,233,238,243,248],{"title":195,"path":196,"stem":197,"icon":198},"Custom Paths","\u002Fadvanced\u002Fcustom-paths","7.advanced\u002F1.custom-paths","i-lucide-folder",{"title":200,"path":201,"stem":202,"icon":203},"Logging","\u002Fadvanced\u002Flogging","7.advanced\u002F10.logging","i-lucide-scroll-text",{"title":205,"path":206,"stem":207,"icon":208},"MCP Apps Internals","\u002Fadvanced\u002Fmcp-apps-internals","7.advanced\u002F11.mcp-apps-internals","i-lucide-cog",{"title":210,"path":211,"stem":212,"icon":213},"Listing Definitions","\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 Evals","\u002Fadvanced\u002Fevals","7.advanced\u002F5.evals","i-lucide-flask-conical",{"title":234,"path":235,"stem":236,"icon":237},"Sessions","\u002Fadvanced\u002Fsessions","7.advanced\u002F6.sessions","i-lucide-database",{"title":239,"path":240,"stem":241,"icon":242},"Dynamic Definitions","\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},"Elicitation","\u002Fadvanced\u002Felicitation","7.advanced\u002F9.elicitation","i-lucide-message-square-quote",{"title":254,"path":255,"stem":256,"children":257,"page":39},"Examples","\u002Fexamples","8.examples",[258,263,268,273,278],{"title":259,"path":260,"stem":261,"icon":262},"Authentication","\u002Fexamples\u002Fauthentication","8.examples\u002F1.authentication","i-lucide-shield-check",{"title":264,"path":265,"stem":266,"icon":267},"API Integration","\u002Fexamples\u002Fapi-integration","8.examples\u002F2.api-integration","i-lucide-globe",{"title":269,"path":270,"stem":271,"icon":272},"Common Patterns","\u002Fexamples\u002Fcommon-patterns","8.examples\u002F3.common-patterns","i-lucide-lightbulb",{"title":274,"path":275,"stem":276,"icon":277},"File Operations","\u002Fexamples\u002Ffile-operations","8.examples\u002F4.file-operations","i-lucide-file",{"title":279,"path":280,"stem":281,"icon":107},"Prompt Examples","\u002Fexamples\u002Fprompt-examples","8.examples\u002F5.prompt-examples",{"id":283,"title":56,"body":284,"description":1285,"extension":1286,"links":1287,"meta":1288,"navigation":1289,"path":57,"seo":1290,"stem":58,"__hash__":1293},"docs\u002F2.tools\u002F2.annotations.md",{"type":285,"value":286,"toc":1279},"minimark",[287,292,296,589,594,716,719,971,982,986,1000,1003,1269,1275],[288,289,291],"h2",{"id":290},"tool-annotations","Tool Annotations",[293,294,295],"p",{},"Annotations are behavioral hints that tell MCP clients how a tool behaves. Clients can use them to decide when to prompt users for confirmation (human-in-the-loop).",[297,298,304],"pre",{"className":299,"code":300,"filename":301,"language":302,"meta":303,"style":303},"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: 'Delete a user account',\n  inputSchema: {\n    userId: z.string(),\n  },\n  annotations: {\n    readOnlyHint: false,    \u002F\u002F Tool modifies state\n    destructiveHint: true,  \u002F\u002F Tool performs destructive updates\n    idempotentHint: true,   \u002F\u002F Deleting the same user twice has no additional effect\n    openWorldHint: false,   \u002F\u002F Tool does not interact with external systems\n  },\n  handler: async ({ userId }) => {\n    \u002F\u002F ...\n  },\n})\n","server\u002Fmcp\u002Ftools\u002Fdelete-user.ts","typescript","",[305,306,307,340,361,368,386,407,424,435,456,462,472,491,507,522,537,542,569,575,580],"code",{"__ignoreMap":303},[308,309,312,316,320,324,327,330,333,337],"span",{"class":310,"line":311},"line",1,[308,313,315],{"class":314},"s7zQu","import",[308,317,319],{"class":318},"sMK4o"," {",[308,321,323],{"class":322},"sTEyZ"," z",[308,325,326],{"class":318}," }",[308,328,329],{"class":314}," from",[308,331,332],{"class":318}," '",[308,334,336],{"class":335},"sfazB","zod",[308,338,339],{"class":318},"'\n",[308,341,343,345,347,350,352,354,356,359],{"class":310,"line":342},2,[308,344,315],{"class":314},[308,346,319],{"class":318},[308,348,349],{"class":322}," defineMcpTool",[308,351,326],{"class":318},[308,353,329],{"class":314},[308,355,332],{"class":318},[308,357,358],{"class":335},"@nuxtjs\u002Fmcp-toolkit\u002Fserver",[308,360,339],{"class":318},[308,362,364],{"class":310,"line":363},3,[308,365,367],{"emptyLinePlaceholder":366},true,"\n",[308,369,371,374,377,380,383],{"class":310,"line":370},4,[308,372,373],{"class":314},"export",[308,375,376],{"class":314}," default",[308,378,349],{"class":379},"s2Zo4",[308,381,382],{"class":322},"(",[308,384,385],{"class":318},"{\n",[308,387,389,393,396,398,401,404],{"class":310,"line":388},5,[308,390,392],{"class":391},"swJcz","  name",[308,394,395],{"class":318},":",[308,397,332],{"class":318},[308,399,400],{"class":335},"delete-user",[308,402,403],{"class":318},"'",[308,405,406],{"class":318},",\n",[308,408,410,413,415,417,420,422],{"class":310,"line":409},6,[308,411,412],{"class":391},"  description",[308,414,395],{"class":318},[308,416,332],{"class":318},[308,418,419],{"class":335},"Delete a user account",[308,421,403],{"class":318},[308,423,406],{"class":318},[308,425,427,430,432],{"class":310,"line":426},7,[308,428,429],{"class":391},"  inputSchema",[308,431,395],{"class":318},[308,433,434],{"class":318}," {\n",[308,436,438,441,443,445,448,451,454],{"class":310,"line":437},8,[308,439,440],{"class":391},"    userId",[308,442,395],{"class":318},[308,444,323],{"class":322},[308,446,447],{"class":318},".",[308,449,450],{"class":379},"string",[308,452,453],{"class":322},"()",[308,455,406],{"class":318},[308,457,459],{"class":310,"line":458},9,[308,460,461],{"class":318},"  },\n",[308,463,465,468,470],{"class":310,"line":464},10,[308,466,467],{"class":391},"  annotations",[308,469,395],{"class":318},[308,471,434],{"class":318},[308,473,475,478,480,484,487],{"class":310,"line":474},11,[308,476,477],{"class":391},"    readOnlyHint",[308,479,395],{"class":318},[308,481,483],{"class":482},"sfNiH"," false",[308,485,486],{"class":318},",",[308,488,490],{"class":489},"sHwdD","    \u002F\u002F Tool modifies state\n",[308,492,494,497,499,502,504],{"class":310,"line":493},12,[308,495,496],{"class":391},"    destructiveHint",[308,498,395],{"class":318},[308,500,501],{"class":482}," true",[308,503,486],{"class":318},[308,505,506],{"class":489},"  \u002F\u002F Tool performs destructive updates\n",[308,508,510,513,515,517,519],{"class":310,"line":509},13,[308,511,512],{"class":391},"    idempotentHint",[308,514,395],{"class":318},[308,516,501],{"class":482},[308,518,486],{"class":318},[308,520,521],{"class":489},"   \u002F\u002F Deleting the same user twice has no additional effect\n",[308,523,525,528,530,532,534],{"class":310,"line":524},14,[308,526,527],{"class":391},"    openWorldHint",[308,529,395],{"class":318},[308,531,483],{"class":482},[308,533,486],{"class":318},[308,535,536],{"class":489},"   \u002F\u002F Tool does not interact with external systems\n",[308,538,540],{"class":310,"line":539},15,[308,541,461],{"class":318},[308,543,545,548,550,554,557,561,564,567],{"class":310,"line":544},16,[308,546,547],{"class":379},"  handler",[308,549,395],{"class":318},[308,551,553],{"class":552},"spNyl"," async",[308,555,556],{"class":318}," ({",[308,558,560],{"class":559},"sHdIc"," userId",[308,562,563],{"class":318}," })",[308,565,566],{"class":552}," =>",[308,568,434],{"class":318},[308,570,572],{"class":310,"line":571},17,[308,573,574],{"class":489},"    \u002F\u002F ...\n",[308,576,578],{"class":310,"line":577},18,[308,579,461],{"class":318},[308,581,583,586],{"class":310,"line":582},19,[308,584,585],{"class":318},"}",[308,587,588],{"class":322},")\n",[590,591,593],"h3",{"id":592},"annotation-reference","Annotation Reference",[595,596,597,616],"table",{},[598,599,600],"thead",{},[601,602,603,607,610,613],"tr",{},[604,605,606],"th",{},"Annotation",[604,608,609],{},"Type",[604,611,612],{},"Default",[604,614,615],{},"Description",[617,618,619,644,669,693],"tbody",{},[601,620,621,627,632,637],{},[622,623,624],"td",{},[305,625,626],{},"readOnlyHint",[622,628,629],{},[305,630,631],{},"boolean",[622,633,634],{},[305,635,636],{},"false",[622,638,639,640,643],{},"If ",[305,641,642],{},"true",", the tool only reads data without modifying any state (safe to retry).",[601,645,646,651,655,659],{},[622,647,648],{},[305,649,650],{},"destructiveHint",[622,652,653],{},[305,654,631],{},[622,656,657],{},[305,658,642],{},[622,660,639,661,663,664,666,667,447],{},[305,662,642],{},", the tool may perform destructive operations like deleting data. Only meaningful when ",[305,665,626],{}," is ",[305,668,636],{},[601,670,671,676,680,684],{},[622,672,673],{},[305,674,675],{},"idempotentHint",[622,677,678],{},[305,679,631],{},[622,681,682],{},[305,683,636],{},[622,685,639,686,688,689,666,691,447],{},[305,687,642],{},", calling the tool multiple times with the same arguments has no additional effect beyond the first call. Only meaningful when ",[305,690,626],{},[305,692,636],{},[601,694,695,700,704,708],{},[622,696,697],{},[305,698,699],{},"openWorldHint",[622,701,702],{},[305,703,631],{},[622,705,706],{},[305,707,642],{},[622,709,639,710,712,713,715],{},[305,711,642],{},", the tool may interact with the outside world (external APIs, internet). If ",[305,714,636],{},", it only operates on local\u002Finternal data.",[293,717,718],{},"Here are common annotation patterns for typical tools:",[720,721,722,781,845,908],"code-group",{},[297,723,726],{"className":299,"code":724,"filename":725,"language":302,"meta":303,"style":303},"\u002F\u002F Search, list, lookup, calculate...\nannotations: {\n  readOnlyHint: true,\n  destructiveHint: false,\n  openWorldHint: false,\n}\n","Read-only tool",[305,727,728,733,743,754,765,776],{"__ignoreMap":303},[308,729,730],{"class":310,"line":311},[308,731,732],{"class":489},"\u002F\u002F Search, list, lookup, calculate...\n",[308,734,735,739,741],{"class":310,"line":342},[308,736,738],{"class":737},"sBMFI","annotations",[308,740,395],{"class":318},[308,742,434],{"class":318},[308,744,745,748,750,752],{"class":310,"line":363},[308,746,747],{"class":737},"  readOnlyHint",[308,749,395],{"class":318},[308,751,501],{"class":482},[308,753,406],{"class":318},[308,755,756,759,761,763],{"class":310,"line":370},[308,757,758],{"class":737},"  destructiveHint",[308,760,395],{"class":318},[308,762,483],{"class":482},[308,764,406],{"class":318},[308,766,767,770,772,774],{"class":310,"line":388},[308,768,769],{"class":737},"  openWorldHint",[308,771,395],{"class":318},[308,773,483],{"class":482},[308,775,406],{"class":318},[308,777,778],{"class":310,"line":409},[308,779,780],{"class":318},"}\n",[297,782,785],{"className":299,"code":783,"filename":784,"language":302,"meta":303,"style":303},"\u002F\u002F Creates a new record each time\nannotations: {\n  readOnlyHint: false,\n  destructiveHint: false,\n  idempotentHint: false,\n  openWorldHint: false,\n}\n","Create tool",[305,786,787,792,800,810,820,831,841],{"__ignoreMap":303},[308,788,789],{"class":310,"line":311},[308,790,791],{"class":489},"\u002F\u002F Creates a new record each time\n",[308,793,794,796,798],{"class":310,"line":342},[308,795,738],{"class":737},[308,797,395],{"class":318},[308,799,434],{"class":318},[308,801,802,804,806,808],{"class":310,"line":363},[308,803,747],{"class":737},[308,805,395],{"class":318},[308,807,483],{"class":482},[308,809,406],{"class":318},[308,811,812,814,816,818],{"class":310,"line":370},[308,813,758],{"class":737},[308,815,395],{"class":318},[308,817,483],{"class":482},[308,819,406],{"class":318},[308,821,822,825,827,829],{"class":310,"line":388},[308,823,824],{"class":737},"  idempotentHint",[308,826,395],{"class":318},[308,828,483],{"class":482},[308,830,406],{"class":318},[308,832,833,835,837,839],{"class":310,"line":409},[308,834,769],{"class":737},[308,836,395],{"class":318},[308,838,483],{"class":482},[308,840,406],{"class":318},[308,842,843],{"class":310,"line":426},[308,844,780],{"class":318},[297,846,849],{"className":299,"code":847,"filename":848,"language":302,"meta":303,"style":303},"\u002F\u002F Updates are idempotent (same input → same result)\nannotations: {\n  readOnlyHint: false,\n  destructiveHint: false,\n  idempotentHint: true,\n  openWorldHint: false,\n}\n","Update tool",[305,850,851,856,864,874,884,894,904],{"__ignoreMap":303},[308,852,853],{"class":310,"line":311},[308,854,855],{"class":489},"\u002F\u002F Updates are idempotent (same input → same result)\n",[308,857,858,860,862],{"class":310,"line":342},[308,859,738],{"class":737},[308,861,395],{"class":318},[308,863,434],{"class":318},[308,865,866,868,870,872],{"class":310,"line":363},[308,867,747],{"class":737},[308,869,395],{"class":318},[308,871,483],{"class":482},[308,873,406],{"class":318},[308,875,876,878,880,882],{"class":310,"line":370},[308,877,758],{"class":737},[308,879,395],{"class":318},[308,881,483],{"class":482},[308,883,406],{"class":318},[308,885,886,888,890,892],{"class":310,"line":388},[308,887,824],{"class":737},[308,889,395],{"class":318},[308,891,501],{"class":482},[308,893,406],{"class":318},[308,895,896,898,900,902],{"class":310,"line":409},[308,897,769],{"class":737},[308,899,395],{"class":318},[308,901,483],{"class":482},[308,903,406],{"class":318},[308,905,906],{"class":310,"line":426},[308,907,780],{"class":318},[297,909,912],{"className":299,"code":910,"filename":911,"language":302,"meta":303,"style":303},"\u002F\u002F Destructive and idempotent (deleting twice is the same)\nannotations: {\n  readOnlyHint: false,\n  destructiveHint: true,\n  idempotentHint: true,\n  openWorldHint: false,\n}\n","Delete tool",[305,913,914,919,927,937,947,957,967],{"__ignoreMap":303},[308,915,916],{"class":310,"line":311},[308,917,918],{"class":489},"\u002F\u002F Destructive and idempotent (deleting twice is the same)\n",[308,920,921,923,925],{"class":310,"line":342},[308,922,738],{"class":737},[308,924,395],{"class":318},[308,926,434],{"class":318},[308,928,929,931,933,935],{"class":310,"line":363},[308,930,747],{"class":737},[308,932,395],{"class":318},[308,934,483],{"class":482},[308,936,406],{"class":318},[308,938,939,941,943,945],{"class":310,"line":370},[308,940,758],{"class":737},[308,942,395],{"class":318},[308,944,501],{"class":482},[308,946,406],{"class":318},[308,948,949,951,953,955],{"class":310,"line":388},[308,950,824],{"class":737},[308,952,395],{"class":318},[308,954,501],{"class":482},[308,956,406],{"class":318},[308,958,959,961,963,965],{"class":310,"line":409},[308,960,769],{"class":737},[308,962,395],{"class":318},[308,964,483],{"class":482},[308,966,406],{"class":318},[308,968,969],{"class":310,"line":426},[308,970,780],{"class":318},[972,973,976,977,981],"callout",{"color":974,"icon":975},"info","i-lucide-info","All annotations are ",[978,979,980],"strong",{},"hints"," — they are not guaranteed to be respected by every MCP client. Clients should never make security-critical decisions based on annotations from untrusted servers.",[288,983,985],{"id":984},"input-examples","Input Examples",[293,987,988,989,992,993,996,997,447],{},"You can provide concrete usage examples for your tools using ",[305,990,991],{},"inputExamples",". These examples are type-safe (matching your ",[305,994,995],{},"inputSchema",") and are transmitted to clients via ",[305,998,999],{},"_meta.inputExamples",[293,1001,1002],{},"Input examples help AI models understand how to correctly fill in tool parameters, especially for tools with optional fields or complex inputs.",[297,1004,1007],{"className":299,"code":1005,"filename":1006,"language":302,"meta":303,"style":303},"import { z } from 'zod'\nimport { defineMcpTool } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpTool({\n  description: 'Create a new todo',\n  inputSchema: {\n    title: z.string().describe('The title of the todo'),\n    content: z.string().optional().describe('Optional description'),\n  },\n  inputExamples: [\n    { title: 'Buy groceries', content: 'Milk, eggs, bread' },\n    { title: 'Fix login bug' },  \u002F\u002F content is optional\n  ],\n  handler: async ({ title, content }) => {\n    \u002F\u002F ...\n  },\n})\n","server\u002Fmcp\u002Ftools\u002Fcreate-todo.ts",[305,1008,1009,1027,1045,1049,1061,1076,1084,1118,1157,1161,1171,1205,1226,1233,1255,1259,1263],{"__ignoreMap":303},[308,1010,1011,1013,1015,1017,1019,1021,1023,1025],{"class":310,"line":311},[308,1012,315],{"class":314},[308,1014,319],{"class":318},[308,1016,323],{"class":322},[308,1018,326],{"class":318},[308,1020,329],{"class":314},[308,1022,332],{"class":318},[308,1024,336],{"class":335},[308,1026,339],{"class":318},[308,1028,1029,1031,1033,1035,1037,1039,1041,1043],{"class":310,"line":342},[308,1030,315],{"class":314},[308,1032,319],{"class":318},[308,1034,349],{"class":322},[308,1036,326],{"class":318},[308,1038,329],{"class":314},[308,1040,332],{"class":318},[308,1042,358],{"class":335},[308,1044,339],{"class":318},[308,1046,1047],{"class":310,"line":363},[308,1048,367],{"emptyLinePlaceholder":366},[308,1050,1051,1053,1055,1057,1059],{"class":310,"line":370},[308,1052,373],{"class":314},[308,1054,376],{"class":314},[308,1056,349],{"class":379},[308,1058,382],{"class":322},[308,1060,385],{"class":318},[308,1062,1063,1065,1067,1069,1072,1074],{"class":310,"line":388},[308,1064,412],{"class":391},[308,1066,395],{"class":318},[308,1068,332],{"class":318},[308,1070,1071],{"class":335},"Create a new todo",[308,1073,403],{"class":318},[308,1075,406],{"class":318},[308,1077,1078,1080,1082],{"class":310,"line":409},[308,1079,429],{"class":391},[308,1081,395],{"class":318},[308,1083,434],{"class":318},[308,1085,1086,1089,1091,1093,1095,1097,1099,1101,1104,1106,1108,1111,1113,1116],{"class":310,"line":426},[308,1087,1088],{"class":391},"    title",[308,1090,395],{"class":318},[308,1092,323],{"class":322},[308,1094,447],{"class":318},[308,1096,450],{"class":379},[308,1098,453],{"class":322},[308,1100,447],{"class":318},[308,1102,1103],{"class":379},"describe",[308,1105,382],{"class":322},[308,1107,403],{"class":318},[308,1109,1110],{"class":335},"The title of the todo",[308,1112,403],{"class":318},[308,1114,1115],{"class":322},")",[308,1117,406],{"class":318},[308,1119,1120,1123,1125,1127,1129,1131,1133,1135,1138,1140,1142,1144,1146,1148,1151,1153,1155],{"class":310,"line":437},[308,1121,1122],{"class":391},"    content",[308,1124,395],{"class":318},[308,1126,323],{"class":322},[308,1128,447],{"class":318},[308,1130,450],{"class":379},[308,1132,453],{"class":322},[308,1134,447],{"class":318},[308,1136,1137],{"class":379},"optional",[308,1139,453],{"class":322},[308,1141,447],{"class":318},[308,1143,1103],{"class":379},[308,1145,382],{"class":322},[308,1147,403],{"class":318},[308,1149,1150],{"class":335},"Optional description",[308,1152,403],{"class":318},[308,1154,1115],{"class":322},[308,1156,406],{"class":318},[308,1158,1159],{"class":310,"line":458},[308,1160,461],{"class":318},[308,1162,1163,1166,1168],{"class":310,"line":464},[308,1164,1165],{"class":391},"  inputExamples",[308,1167,395],{"class":318},[308,1169,1170],{"class":322}," [\n",[308,1172,1173,1176,1179,1181,1183,1186,1188,1190,1193,1195,1197,1200,1202],{"class":310,"line":474},[308,1174,1175],{"class":318},"    {",[308,1177,1178],{"class":391}," title",[308,1180,395],{"class":318},[308,1182,332],{"class":318},[308,1184,1185],{"class":335},"Buy groceries",[308,1187,403],{"class":318},[308,1189,486],{"class":318},[308,1191,1192],{"class":391}," content",[308,1194,395],{"class":318},[308,1196,332],{"class":318},[308,1198,1199],{"class":335},"Milk, eggs, bread",[308,1201,403],{"class":318},[308,1203,1204],{"class":318}," },\n",[308,1206,1207,1209,1211,1213,1215,1218,1220,1223],{"class":310,"line":493},[308,1208,1175],{"class":318},[308,1210,1178],{"class":391},[308,1212,395],{"class":318},[308,1214,332],{"class":318},[308,1216,1217],{"class":335},"Fix login bug",[308,1219,403],{"class":318},[308,1221,1222],{"class":318}," },",[308,1224,1225],{"class":489},"  \u002F\u002F content is optional\n",[308,1227,1228,1231],{"class":310,"line":509},[308,1229,1230],{"class":322},"  ]",[308,1232,406],{"class":318},[308,1234,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253],{"class":310,"line":524},[308,1236,547],{"class":379},[308,1238,395],{"class":318},[308,1240,553],{"class":552},[308,1242,556],{"class":318},[308,1244,1178],{"class":559},[308,1246,486],{"class":318},[308,1248,1192],{"class":559},[308,1250,563],{"class":318},[308,1252,566],{"class":552},[308,1254,434],{"class":318},[308,1256,1257],{"class":310,"line":539},[308,1258,574],{"class":489},[308,1260,1261],{"class":310,"line":544},[308,1262,461],{"class":318},[308,1264,1265,1267],{"class":310,"line":571},[308,1266,585],{"class":318},[308,1268,588],{"class":322},[972,1270,1272,1274],{"color":1271,"icon":272},"warning",[305,1273,991],{}," are particularly useful for tools with optional parameters, enums, or complex nested inputs where showing concrete values helps models pick the right format.",[1276,1277,1278],"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":303,"searchDepth":342,"depth":342,"links":1280},[1281,1284],{"id":290,"depth":342,"text":291,"children":1282},[1283],{"id":592,"depth":363,"text":593},{"id":984,"depth":342,"text":985},"Behavioral hints for MCP clients and concrete inputExamples for complex tools.","md",null,{},{"icon":59},{"title":1291,"description":1292},"Tool annotations & input examples","readOnlyHint, destructiveHint, idempotentHint, openWorldHint, and type-safe inputExamples for MCP tools.","W-ws_eiho0zUmIhzCKQdlZKhjXeogpf_cIuqLxn0Gek",[1295,1297],{"title":51,"path":52,"stem":53,"description":1296,"icon":54,"children":-1},"Define tool inputs and outputs with Zod, and return text, structured data, or media from handlers.",{"title":61,"path":62,"stem":63,"description":1298,"icon":64,"children":-1},"H3 and plain errors in tool handlers, and Nitro-backed response caching.",1777888636441]