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