[{"data":1,"prerenderedAt":2002},["ShallowReactive",2],{"navigation_docs":3,"-advanced-elicitation":149,"-advanced-elicitation-surround":1997},[4,40,65,120],{"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},"MCP 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},"Core Concepts","\u002Fcore-concepts","2.core-concepts",[45,50,55,60],{"title":46,"path":47,"stem":48,"icon":49},"Tools","\u002Fcore-concepts\u002Ftools","2.core-concepts\u002F2.tools","i-lucide-wrench",{"title":51,"path":52,"stem":53,"icon":54},"Resources","\u002Fcore-concepts\u002Fresources","2.core-concepts\u002F3.resources","i-lucide-package",{"title":56,"path":57,"stem":58,"icon":59},"Prompts","\u002Fcore-concepts\u002Fprompts","2.core-concepts\u002F4.prompts","i-lucide-message-square",{"title":61,"path":62,"stem":63,"icon":64},"Handlers","\u002Fcore-concepts\u002Fhandlers","2.core-concepts\u002F5.handlers","i-lucide-server",{"title":66,"path":67,"stem":68,"children":69,"page":39},"Advanced Topics","\u002Fadvanced","3.advanced",[70,75,80,85,90,95,100,105,110,115],{"title":71,"path":72,"stem":73,"icon":74},"Custom Paths","\u002Fadvanced\u002Fcustom-paths","3.advanced\u002F1.custom-paths","i-lucide-folder",{"title":76,"path":77,"stem":78,"icon":79},"Logging","\u002Fadvanced\u002Flogging","3.advanced\u002F10.logging","i-lucide-scroll-text",{"title":81,"path":82,"stem":83,"icon":84},"Middleware","\u002Fadvanced\u002Fmiddleware","3.advanced\u002F2.middleware","i-lucide-shield",{"title":86,"path":87,"stem":88,"icon":89},"TypeScript","\u002Fadvanced\u002Ftypescript","3.advanced\u002F3.typescript","i-lucide-type",{"title":91,"path":92,"stem":93,"icon":94},"Hooks","\u002Fadvanced\u002Fhooks","3.advanced\u002F4.hooks","i-lucide-webhook",{"title":96,"path":97,"stem":98,"icon":99},"MCP Evals","\u002Fadvanced\u002Fevals","3.advanced\u002F5.evals","i-lucide-flask-conical",{"title":101,"path":102,"stem":103,"icon":104},"Sessions","\u002Fadvanced\u002Fsessions","3.advanced\u002F6.sessions","i-lucide-database",{"title":106,"path":107,"stem":108,"icon":109},"Dynamic Definitions","\u002Fadvanced\u002Fdynamic-definitions","3.advanced\u002F7.dynamic-definitions","i-lucide-toggle-right",{"title":111,"path":112,"stem":113,"icon":114},"Code Mode","\u002Fadvanced\u002Fcode-mode","3.advanced\u002F8.code-mode","i-lucide-code",{"title":116,"path":117,"stem":118,"icon":119},"Elicitation","\u002Fadvanced\u002Felicitation","3.advanced\u002F9.elicitation","i-lucide-message-square-quote",{"title":121,"path":122,"stem":123,"children":124,"page":39},"Examples","\u002Fexamples","4.examples",[125,130,135,140,145],{"title":126,"path":127,"stem":128,"icon":129},"Authentication","\u002Fexamples\u002Fauthentication","4.examples\u002F1.authentication","i-lucide-shield-check",{"title":131,"path":132,"stem":133,"icon":134},"API Integration","\u002Fexamples\u002Fapi-integration","4.examples\u002F2.api-integration","i-lucide-globe",{"title":136,"path":137,"stem":138,"icon":139},"Common Patterns","\u002Fexamples\u002Fcommon-patterns","4.examples\u002F3.common-patterns","i-lucide-lightbulb",{"title":141,"path":142,"stem":143,"icon":144},"File Operations","\u002Fexamples\u002Ffile-operations","4.examples\u002F4.file-operations","i-lucide-file",{"title":146,"path":147,"stem":148,"icon":59},"Prompt Examples","\u002Fexamples\u002Fprompt-examples","4.examples\u002F5.prompt-examples",{"id":150,"title":116,"body":151,"description":1988,"extension":1989,"links":1990,"meta":1991,"navigation":1992,"path":117,"seo":1993,"stem":118,"__hash__":1996},"docs\u002F3.advanced\u002F9.elicitation.md",{"type":152,"value":153,"toc":1976},"minimark",[154,159,168,189,277,281,359,369,375,378,912,919,924,995,1011,1015,1026,1029,1072,1075,1103,1108,1112,1363,1377,1381,1392,1675,1687,1691,1694,1762,1780,1942,1946,1972],[155,156,158],"h2",{"id":157},"what-is-elicitation","What is Elicitation?",[160,161,162,163,167],"p",{},"Elicitation lets a server ask the connected client for additional information ",[164,165,166],"strong",{},"mid-request",". The MCP spec defines two modes:",[169,170,171,178],"ul",{},[172,173,174,177],"li",{},[164,175,176],{},"Form mode"," — present a structured form to the user and validate the response against a schema you define.",[172,179,180,183,184,188],{},[164,181,182],{},"URL mode"," ",[185,186,187],"em",{},"(spec 2025-11-25)"," — redirect the user to an external page (sign-in, payment, account verification, …) and resume once they come back.",[190,191,192],"code-collapse",{},[193,194,200],"pre",{"className":195,"code":196,"filename":197,"language":198,"meta":199,"style":199},"language-txt shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Add elicitation to my Nuxt MCP server (@nuxtjs\u002Fmcp-toolkit).\n\n- Use useMcpElicitation() inside a tool handler (auto-imported)\n- Form mode: pass a Zod raw shape via `schema` and a human-readable `message`\n- The shape must be flat — primitives, single-\u002Fmulti-select enums only (spec restriction)\n- Always check the action: 'accept' | 'decline' | 'cancel' before reading content\n- URL mode: pass a `url` and `message`; client opens the URL and reports back\n- Use `confirm(message)` for a quick yes\u002Fno prompt\n- Use `supports('form' | 'url')` before calling to gate cleanly when the client doesn't support it\n- Wrap in try\u002Fcatch and check for McpElicitationError (codes: 'unsupported', 'invalid-schema', 'invalid-response')\n\nDocs: https:\u002F\u002Fmcp-toolkit.nuxt.dev\u002Fadvanced\u002Felicitation\n","Prompt","txt","",[201,202,203,211,218,224,230,236,242,248,254,260,266,271],"code",{"__ignoreMap":199},[204,205,208],"span",{"class":206,"line":207},"line",1,[204,209,210],{},"Add elicitation to my Nuxt MCP server (@nuxtjs\u002Fmcp-toolkit).\n",[204,212,214],{"class":206,"line":213},2,[204,215,217],{"emptyLinePlaceholder":216},true,"\n",[204,219,221],{"class":206,"line":220},3,[204,222,223],{},"- Use useMcpElicitation() inside a tool handler (auto-imported)\n",[204,225,227],{"class":206,"line":226},4,[204,228,229],{},"- Form mode: pass a Zod raw shape via `schema` and a human-readable `message`\n",[204,231,233],{"class":206,"line":232},5,[204,234,235],{},"- The shape must be flat — primitives, single-\u002Fmulti-select enums only (spec restriction)\n",[204,237,239],{"class":206,"line":238},6,[204,240,241],{},"- Always check the action: 'accept' | 'decline' | 'cancel' before reading content\n",[204,243,245],{"class":206,"line":244},7,[204,246,247],{},"- URL mode: pass a `url` and `message`; client opens the URL and reports back\n",[204,249,251],{"class":206,"line":250},8,[204,252,253],{},"- Use `confirm(message)` for a quick yes\u002Fno prompt\n",[204,255,257],{"class":206,"line":256},9,[204,258,259],{},"- Use `supports('form' | 'url')` before calling to gate cleanly when the client doesn't support it\n",[204,261,263],{"class":206,"line":262},10,[204,264,265],{},"- Wrap in try\u002Fcatch and check for McpElicitationError (codes: 'unsupported', 'invalid-schema', 'invalid-response')\n",[204,267,269],{"class":206,"line":268},11,[204,270,217],{"emptyLinePlaceholder":216},[204,272,274],{"class":206,"line":273},12,[204,275,276],{},"Docs: https:\u002F\u002Fmcp-toolkit.nuxt.dev\u002Fadvanced\u002Felicitation\n",[155,278,280],{"id":279},"when-to-use-elicitation","When to Use Elicitation",[282,283,284,297],"table",{},[285,286,287],"thead",{},[288,289,290,294],"tr",{},[291,292,293],"th",{},"Use Case",[291,295,296],{},"Mode",[298,299,300,312,322,331,340,350],"tbody",{},[288,301,302,306],{},[303,304,305],"td",{},"Disambiguate input (\"which project did you mean?\")",[303,307,308,311],{},[201,309,310],{},"form"," with an enum",[288,313,314,317],{},[303,315,316],{},"Confirm a destructive action before running it",[303,318,319],{},[201,320,321],{},"confirm",[288,323,324,327],{},[303,325,326],{},"Collect missing required parameters interactively",[303,328,329],{},[201,330,310],{},[288,332,333,336],{},[303,334,335],{},"Gather optional metadata (priority, tags, …) before submitting",[303,337,338],{},[201,339,310],{},[288,341,342,345],{},[303,343,344],{},"Prompt for sign-in or payment via an external page",[303,346,347],{},[201,348,349],{},"url",[288,351,352,355],{},[303,353,354],{},"Trigger an OAuth consent flow",[303,356,357],{},[201,358,349],{},[360,361,364,365,368],"callout",{"color":362,"icon":363},"info","i-lucide-info","Elicitation is ",[164,366,367],{},"client-driven",". Even when you call it server-side, the client is the one rendering the form or opening the URL. Always handle the case where the user declines or the client doesn't support the requested mode.",[155,370,372],{"id":371},"usemcpelicitation",[201,373,374],{},"useMcpElicitation()",[160,376,377],{},"Auto-imported. Must be called inside a tool, resource, or prompt handler.",[193,379,384],{"className":380,"code":381,"filename":382,"language":383,"meta":199,"style":199},"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: 'create_release',\n  description: 'Create a new release after asking for the channel',\n  inputSchema: {\n    name: z.string(),\n  },\n  handler: async ({ name }) => {\n    const elicit = useMcpElicitation()\n\n    const result = await elicit.form({\n      message: `Pick a release channel for \"${name}\"`,\n      schema: {\n        channel: z.enum(['stable', 'beta', 'canary']).describe('Release channel'),\n        notify: z.boolean().default(true).describe('Notify subscribers'),\n      },\n    })\n\n    if (result.action !== 'accept') {\n      return `Release cancelled (${result.action}).`\n    }\n\n    return `Created \"${name}\" on ${result.content.channel} (notify=${result.content.notify}).`\n  },\n})\n","server\u002Fmcp\u002Ftools\u002Frelease.ts","typescript",[201,385,386,416,436,440,457,477,493,503,523,528,554,571,575,598,629,639,705,752,758,767,772,804,831,837,842,900,905],{"__ignoreMap":199},[204,387,388,392,396,400,403,406,409,413],{"class":206,"line":207},[204,389,391],{"class":390},"s7zQu","import",[204,393,395],{"class":394},"sMK4o"," {",[204,397,399],{"class":398},"sTEyZ"," z",[204,401,402],{"class":394}," }",[204,404,405],{"class":390}," from",[204,407,408],{"class":394}," '",[204,410,412],{"class":411},"sfazB","zod",[204,414,415],{"class":394},"'\n",[204,417,418,420,422,425,427,429,431,434],{"class":206,"line":213},[204,419,391],{"class":390},[204,421,395],{"class":394},[204,423,424],{"class":398}," defineMcpTool",[204,426,402],{"class":394},[204,428,405],{"class":390},[204,430,408],{"class":394},[204,432,433],{"class":411},"@nuxtjs\u002Fmcp-toolkit\u002Fserver",[204,435,415],{"class":394},[204,437,438],{"class":206,"line":220},[204,439,217],{"emptyLinePlaceholder":216},[204,441,442,445,448,451,454],{"class":206,"line":226},[204,443,444],{"class":390},"export",[204,446,447],{"class":390}," default",[204,449,424],{"class":450},"s2Zo4",[204,452,453],{"class":398},"(",[204,455,456],{"class":394},"{\n",[204,458,459,463,466,468,471,474],{"class":206,"line":232},[204,460,462],{"class":461},"swJcz","  name",[204,464,465],{"class":394},":",[204,467,408],{"class":394},[204,469,470],{"class":411},"create_release",[204,472,473],{"class":394},"'",[204,475,476],{"class":394},",\n",[204,478,479,482,484,486,489,491],{"class":206,"line":238},[204,480,481],{"class":461},"  description",[204,483,465],{"class":394},[204,485,408],{"class":394},[204,487,488],{"class":411},"Create a new release after asking for the channel",[204,490,473],{"class":394},[204,492,476],{"class":394},[204,494,495,498,500],{"class":206,"line":244},[204,496,497],{"class":461},"  inputSchema",[204,499,465],{"class":394},[204,501,502],{"class":394}," {\n",[204,504,505,508,510,512,515,518,521],{"class":206,"line":250},[204,506,507],{"class":461},"    name",[204,509,465],{"class":394},[204,511,399],{"class":398},[204,513,514],{"class":394},".",[204,516,517],{"class":450},"string",[204,519,520],{"class":398},"()",[204,522,476],{"class":394},[204,524,525],{"class":206,"line":256},[204,526,527],{"class":394},"  },\n",[204,529,530,533,535,539,542,546,549,552],{"class":206,"line":262},[204,531,532],{"class":450},"  handler",[204,534,465],{"class":394},[204,536,538],{"class":537},"spNyl"," async",[204,540,541],{"class":394}," ({",[204,543,545],{"class":544},"sHdIc"," name",[204,547,548],{"class":394}," })",[204,550,551],{"class":537}," =>",[204,553,502],{"class":394},[204,555,556,559,562,565,568],{"class":206,"line":268},[204,557,558],{"class":537},"    const",[204,560,561],{"class":398}," elicit",[204,563,564],{"class":394}," =",[204,566,567],{"class":450}," useMcpElicitation",[204,569,570],{"class":461},"()\n",[204,572,573],{"class":206,"line":273},[204,574,217],{"emptyLinePlaceholder":216},[204,576,578,580,583,585,588,590,592,594,596],{"class":206,"line":577},13,[204,579,558],{"class":537},[204,581,582],{"class":398}," result",[204,584,564],{"class":394},[204,586,587],{"class":390}," await",[204,589,561],{"class":398},[204,591,514],{"class":394},[204,593,310],{"class":450},[204,595,453],{"class":461},[204,597,456],{"class":394},[204,599,601,604,606,609,612,615,618,621,624,627],{"class":206,"line":600},14,[204,602,603],{"class":461},"      message",[204,605,465],{"class":394},[204,607,608],{"class":394}," `",[204,610,611],{"class":411},"Pick a release channel for \"",[204,613,614],{"class":394},"${",[204,616,617],{"class":398},"name",[204,619,620],{"class":394},"}",[204,622,623],{"class":411},"\"",[204,625,626],{"class":394},"`",[204,628,476],{"class":394},[204,630,632,635,637],{"class":206,"line":631},15,[204,633,634],{"class":461},"      schema",[204,636,465],{"class":394},[204,638,502],{"class":394},[204,640,642,645,647,649,651,654,657,659,662,664,667,669,672,674,676,678,681,683,686,688,691,693,695,698,700,703],{"class":206,"line":641},16,[204,643,644],{"class":461},"        channel",[204,646,465],{"class":394},[204,648,399],{"class":398},[204,650,514],{"class":394},[204,652,653],{"class":450},"enum",[204,655,656],{"class":461},"([",[204,658,473],{"class":394},[204,660,661],{"class":411},"stable",[204,663,473],{"class":394},[204,665,666],{"class":394},",",[204,668,408],{"class":394},[204,670,671],{"class":411},"beta",[204,673,473],{"class":394},[204,675,666],{"class":394},[204,677,408],{"class":394},[204,679,680],{"class":411},"canary",[204,682,473],{"class":394},[204,684,685],{"class":461},"])",[204,687,514],{"class":394},[204,689,690],{"class":450},"describe",[204,692,453],{"class":461},[204,694,473],{"class":394},[204,696,697],{"class":411},"Release channel",[204,699,473],{"class":394},[204,701,702],{"class":461},")",[204,704,476],{"class":394},[204,706,708,711,713,715,717,720,722,724,727,729,733,735,737,739,741,743,746,748,750],{"class":206,"line":707},17,[204,709,710],{"class":461},"        notify",[204,712,465],{"class":394},[204,714,399],{"class":398},[204,716,514],{"class":394},[204,718,719],{"class":450},"boolean",[204,721,520],{"class":461},[204,723,514],{"class":394},[204,725,726],{"class":450},"default",[204,728,453],{"class":461},[204,730,732],{"class":731},"sfNiH","true",[204,734,702],{"class":461},[204,736,514],{"class":394},[204,738,690],{"class":450},[204,740,453],{"class":461},[204,742,473],{"class":394},[204,744,745],{"class":411},"Notify subscribers",[204,747,473],{"class":394},[204,749,702],{"class":461},[204,751,476],{"class":394},[204,753,755],{"class":206,"line":754},18,[204,756,757],{"class":394},"      },\n",[204,759,761,764],{"class":206,"line":760},19,[204,762,763],{"class":394},"    }",[204,765,766],{"class":461},")\n",[204,768,770],{"class":206,"line":769},20,[204,771,217],{"emptyLinePlaceholder":216},[204,773,775,778,781,784,786,789,792,794,797,799,802],{"class":206,"line":774},21,[204,776,777],{"class":390},"    if",[204,779,780],{"class":461}," (",[204,782,783],{"class":398},"result",[204,785,514],{"class":394},[204,787,788],{"class":398},"action",[204,790,791],{"class":394}," !==",[204,793,408],{"class":394},[204,795,796],{"class":411},"accept",[204,798,473],{"class":394},[204,800,801],{"class":461},") ",[204,803,456],{"class":394},[204,805,807,810,812,815,817,819,821,823,825,828],{"class":206,"line":806},22,[204,808,809],{"class":390},"      return",[204,811,608],{"class":394},[204,813,814],{"class":411},"Release cancelled (",[204,816,614],{"class":394},[204,818,783],{"class":398},[204,820,514],{"class":394},[204,822,788],{"class":398},[204,824,620],{"class":394},[204,826,827],{"class":411},").",[204,829,830],{"class":394},"`\n",[204,832,834],{"class":206,"line":833},23,[204,835,836],{"class":394},"    }\n",[204,838,840],{"class":206,"line":839},24,[204,841,217],{"emptyLinePlaceholder":216},[204,843,845,848,850,853,855,857,859,862,864,866,868,871,873,876,878,881,883,885,887,889,891,894,896,898],{"class":206,"line":844},25,[204,846,847],{"class":390},"    return",[204,849,608],{"class":394},[204,851,852],{"class":411},"Created \"",[204,854,614],{"class":394},[204,856,617],{"class":398},[204,858,620],{"class":394},[204,860,861],{"class":411},"\" on ",[204,863,614],{"class":394},[204,865,783],{"class":398},[204,867,514],{"class":394},[204,869,870],{"class":398},"content",[204,872,514],{"class":394},[204,874,875],{"class":398},"channel",[204,877,620],{"class":394},[204,879,880],{"class":411}," (notify=",[204,882,614],{"class":394},[204,884,783],{"class":398},[204,886,514],{"class":394},[204,888,870],{"class":398},[204,890,514],{"class":394},[204,892,893],{"class":398},"notify",[204,895,620],{"class":394},[204,897,827],{"class":411},[204,899,830],{"class":394},[204,901,903],{"class":206,"line":902},26,[204,904,527],{"class":394},[204,906,908,910],{"class":206,"line":907},27,[204,909,620],{"class":394},[204,911,766],{"class":398},[160,913,914,915,918],{},"The Zod shape is converted to the spec-restricted JSON Schema, the response is validated against the same shape, and ",[201,916,917],{},"result.content"," is fully typed.",[920,921,923],"h3",{"id":922},"api","API",[282,925,926,936],{},[285,927,928],{},[288,929,930,933],{},[291,931,932],{},"Method",[291,934,935],{},"Description",[298,937,938,959,972,987],{},[288,939,940,945],{},[303,941,942],{},[201,943,944],{},"form({ message, schema })",[303,946,947,948,951,952,955,956,514],{},"Ask for structured input. ",[201,949,950],{},"schema"," is a Zod raw shape (same format as ",[201,953,954],{},"inputSchema","). Returns ",[201,957,958],{},"{ action, content? }",[288,960,961,966],{},[303,962,963],{},[201,964,965],{},"url({ message, url })",[303,967,968,969,514],{},"Open an external URL. Returns ",[201,970,971],{},"{ action }",[288,973,974,979],{},[303,975,976],{},[201,977,978],{},"confirm(message)",[303,980,981,982,780,984,986],{},"Convenience yes\u002Fno prompt. Returns ",[201,983,719],{},[201,985,732],{}," only when the user accepts and confirms).",[288,988,989,992],{},[303,990,991],{},"`supports('form'",[303,993,994],{},"'url')`",[160,996,997,998,1000,1001,1004,1005,1007,1008,514],{},"The ",[201,999,788],{}," is one of ",[201,1002,1003],{},"'accept' | 'decline' | 'cancel'",". The ",[201,1006,870],{}," field is only present when ",[201,1009,1010],{},"action === 'accept'",[155,1012,1014],{"id":1013},"schema-restrictions-form-mode","Schema Restrictions (Form Mode)",[160,1016,1017,1018,1021,1022,1025],{},"The MCP spec restricts elicitation requests to ",[164,1019,1020],{},"flat objects with primitive properties"," so any client can render them as a form. The toolkit enforces this at request time and throws ",[201,1023,1024],{},"McpElicitationError('invalid-schema')"," when you violate it.",[160,1027,1028],{},"Allowed:",[169,1030,1031,1049,1055,1061],{},[172,1032,1033,1036,1037,1036,1040,1036,1043,1036,1046],{},[201,1034,1035],{},"z.string()",", ",[201,1038,1039],{},"z.number()",[201,1041,1042],{},"z.boolean()",[201,1044,1045],{},"z.string().email()",[201,1047,1048],{},"z.number().int()",[172,1050,1051,1054],{},[201,1052,1053],{},"z.enum([...])"," — single-select dropdown",[172,1056,1057,1060],{},[201,1058,1059],{},"z.array(z.enum([...]))"," — multi-select",[172,1062,1063,1036,1066,1036,1069],{},[201,1064,1065],{},".describe(...)",[201,1067,1068],{},".default(...)",[201,1070,1071],{},".optional()",[160,1073,1074],{},"Not allowed:",[169,1076,1077,1083,1089],{},[172,1078,1079,1080],{},"Nested ",[201,1081,1082],{},"z.object({ ... })",[172,1084,1085,1088],{},[201,1086,1087],{},"z.array(z.number())"," or any array of non-string-enums",[172,1090,1091,1036,1094,1036,1097,1036,1100],{},[201,1092,1093],{},"z.record(...)",[201,1095,1096],{},"z.tuple(...)",[201,1098,1099],{},"z.union(...)",[201,1101,1102],{},"z.discriminatedUnion(...)",[160,1104,1105,1106,514],{},"Need richer input? Split into multiple elicitation calls or take the data via the regular ",[201,1107,954],{},[155,1109,1111],{"id":1110},"confirm-helper","Confirm Helper",[193,1113,1116],{"className":380,"code":1114,"filename":1115,"language":383,"meta":199,"style":199},"import { z } from 'zod'\nimport { defineMcpTool } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpTool({\n  name: 'delete_project',\n  description: 'Delete a project after confirming with the user',\n  inputSchema: { id: z.string() },\n  handler: async ({ id }) => {\n    const elicit = useMcpElicitation()\n\n    if (!await elicit.confirm(`Permanently delete project ${id}?`)) {\n      return 'Aborted.'\n    }\n\n    await deleteProject(id)\n    return `Deleted ${id}.`\n  },\n})\n","server\u002Fmcp\u002Ftools\u002Fdelete-project.ts",[201,1117,1118,1136,1154,1158,1170,1185,1200,1225,1243,1255,1259,1301,1312,1316,1320,1334,1353,1357],{"__ignoreMap":199},[204,1119,1120,1122,1124,1126,1128,1130,1132,1134],{"class":206,"line":207},[204,1121,391],{"class":390},[204,1123,395],{"class":394},[204,1125,399],{"class":398},[204,1127,402],{"class":394},[204,1129,405],{"class":390},[204,1131,408],{"class":394},[204,1133,412],{"class":411},[204,1135,415],{"class":394},[204,1137,1138,1140,1142,1144,1146,1148,1150,1152],{"class":206,"line":213},[204,1139,391],{"class":390},[204,1141,395],{"class":394},[204,1143,424],{"class":398},[204,1145,402],{"class":394},[204,1147,405],{"class":390},[204,1149,408],{"class":394},[204,1151,433],{"class":411},[204,1153,415],{"class":394},[204,1155,1156],{"class":206,"line":220},[204,1157,217],{"emptyLinePlaceholder":216},[204,1159,1160,1162,1164,1166,1168],{"class":206,"line":226},[204,1161,444],{"class":390},[204,1163,447],{"class":390},[204,1165,424],{"class":450},[204,1167,453],{"class":398},[204,1169,456],{"class":394},[204,1171,1172,1174,1176,1178,1181,1183],{"class":206,"line":232},[204,1173,462],{"class":461},[204,1175,465],{"class":394},[204,1177,408],{"class":394},[204,1179,1180],{"class":411},"delete_project",[204,1182,473],{"class":394},[204,1184,476],{"class":394},[204,1186,1187,1189,1191,1193,1196,1198],{"class":206,"line":238},[204,1188,481],{"class":461},[204,1190,465],{"class":394},[204,1192,408],{"class":394},[204,1194,1195],{"class":411},"Delete a project after confirming with the user",[204,1197,473],{"class":394},[204,1199,476],{"class":394},[204,1201,1202,1204,1206,1208,1211,1213,1215,1217,1219,1222],{"class":206,"line":244},[204,1203,497],{"class":461},[204,1205,465],{"class":394},[204,1207,395],{"class":394},[204,1209,1210],{"class":461}," id",[204,1212,465],{"class":394},[204,1214,399],{"class":398},[204,1216,514],{"class":394},[204,1218,517],{"class":450},[204,1220,1221],{"class":398},"() ",[204,1223,1224],{"class":394},"},\n",[204,1226,1227,1229,1231,1233,1235,1237,1239,1241],{"class":206,"line":250},[204,1228,532],{"class":450},[204,1230,465],{"class":394},[204,1232,538],{"class":537},[204,1234,541],{"class":394},[204,1236,1210],{"class":544},[204,1238,548],{"class":394},[204,1240,551],{"class":537},[204,1242,502],{"class":394},[204,1244,1245,1247,1249,1251,1253],{"class":206,"line":256},[204,1246,558],{"class":537},[204,1248,561],{"class":398},[204,1250,564],{"class":394},[204,1252,567],{"class":450},[204,1254,570],{"class":461},[204,1256,1257],{"class":206,"line":262},[204,1258,217],{"emptyLinePlaceholder":216},[204,1260,1261,1263,1265,1268,1271,1273,1275,1277,1279,1281,1284,1286,1289,1291,1294,1296,1299],{"class":206,"line":268},[204,1262,777],{"class":390},[204,1264,780],{"class":461},[204,1266,1267],{"class":394},"!",[204,1269,1270],{"class":390},"await",[204,1272,561],{"class":398},[204,1274,514],{"class":394},[204,1276,321],{"class":450},[204,1278,453],{"class":461},[204,1280,626],{"class":394},[204,1282,1283],{"class":411},"Permanently delete project ",[204,1285,614],{"class":394},[204,1287,1288],{"class":398},"id",[204,1290,620],{"class":394},[204,1292,1293],{"class":411},"?",[204,1295,626],{"class":394},[204,1297,1298],{"class":461},")) ",[204,1300,456],{"class":394},[204,1302,1303,1305,1307,1310],{"class":206,"line":273},[204,1304,809],{"class":390},[204,1306,408],{"class":394},[204,1308,1309],{"class":411},"Aborted.",[204,1311,415],{"class":394},[204,1313,1314],{"class":206,"line":577},[204,1315,836],{"class":394},[204,1317,1318],{"class":206,"line":600},[204,1319,217],{"emptyLinePlaceholder":216},[204,1321,1322,1325,1328,1330,1332],{"class":206,"line":631},[204,1323,1324],{"class":390},"    await",[204,1326,1327],{"class":450}," deleteProject",[204,1329,453],{"class":461},[204,1331,1288],{"class":398},[204,1333,766],{"class":461},[204,1335,1336,1338,1340,1343,1345,1347,1349,1351],{"class":206,"line":641},[204,1337,847],{"class":390},[204,1339,608],{"class":394},[204,1341,1342],{"class":411},"Deleted ",[204,1344,614],{"class":394},[204,1346,1288],{"class":398},[204,1348,620],{"class":394},[204,1350,514],{"class":411},[204,1352,830],{"class":394},[204,1354,1355],{"class":206,"line":707},[204,1356,527],{"class":394},[204,1358,1359,1361],{"class":206,"line":754},[204,1360,620],{"class":394},[204,1362,766],{"class":398},[160,1364,1365,1368,1369,1372,1373,1376],{},[201,1366,1367],{},"confirm()"," builds on ",[201,1370,1371],{},"form()"," with a single ",[201,1374,1375],{},"confirm: z.boolean()"," field, so it inherits the same capability checks and decline handling.",[155,1378,1380],{"id":1379},"url-mode","URL Mode",[160,1382,1383,1384,1387,1388,1391],{},"URL mode is opt-in per the spec — clients must declare ",[201,1385,1386],{},"elicitation.url"," in their capabilities. Use ",[201,1389,1390],{},"supports('url')"," to branch cleanly:",[193,1393,1396],{"className":380,"code":1394,"filename":1395,"language":383,"meta":199,"style":199},"import { defineMcpTool } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpTool({\n  name: 'connect_github',\n  description: 'Connect the user GitHub account',\n  inputSchema: {},\n  handler: async () => {\n    const elicit = useMcpElicitation()\n\n    if (!elicit.supports('url')) {\n      return 'Open https:\u002F\u002Fapp.example.com\u002Fsettings\u002Fgithub to connect your account, then try again.'\n    }\n\n    const result = await elicit.url({\n      message: 'Authorize the integration',\n      url: 'https:\u002F\u002Fapp.example.com\u002Foauth\u002Fgithub\u002Fstart',\n    })\n\n    return result.action === 'accept'\n      ? 'GitHub connected.'\n      : `User did not complete the flow (${result.action}).`\n  },\n})\n","server\u002Fmcp\u002Ftools\u002Fconnect-github.ts",[201,1397,1398,1416,1420,1432,1447,1462,1471,1486,1498,1502,1530,1541,1545,1549,1569,1584,1600,1606,1610,1629,1641,1665,1669],{"__ignoreMap":199},[204,1399,1400,1402,1404,1406,1408,1410,1412,1414],{"class":206,"line":207},[204,1401,391],{"class":390},[204,1403,395],{"class":394},[204,1405,424],{"class":398},[204,1407,402],{"class":394},[204,1409,405],{"class":390},[204,1411,408],{"class":394},[204,1413,433],{"class":411},[204,1415,415],{"class":394},[204,1417,1418],{"class":206,"line":213},[204,1419,217],{"emptyLinePlaceholder":216},[204,1421,1422,1424,1426,1428,1430],{"class":206,"line":220},[204,1423,444],{"class":390},[204,1425,447],{"class":390},[204,1427,424],{"class":450},[204,1429,453],{"class":398},[204,1431,456],{"class":394},[204,1433,1434,1436,1438,1440,1443,1445],{"class":206,"line":226},[204,1435,462],{"class":461},[204,1437,465],{"class":394},[204,1439,408],{"class":394},[204,1441,1442],{"class":411},"connect_github",[204,1444,473],{"class":394},[204,1446,476],{"class":394},[204,1448,1449,1451,1453,1455,1458,1460],{"class":206,"line":232},[204,1450,481],{"class":461},[204,1452,465],{"class":394},[204,1454,408],{"class":394},[204,1456,1457],{"class":411},"Connect the user GitHub account",[204,1459,473],{"class":394},[204,1461,476],{"class":394},[204,1463,1464,1466,1468],{"class":206,"line":238},[204,1465,497],{"class":461},[204,1467,465],{"class":394},[204,1469,1470],{"class":394}," {},\n",[204,1472,1473,1475,1477,1479,1482,1484],{"class":206,"line":244},[204,1474,532],{"class":450},[204,1476,465],{"class":394},[204,1478,538],{"class":537},[204,1480,1481],{"class":394}," ()",[204,1483,551],{"class":537},[204,1485,502],{"class":394},[204,1487,1488,1490,1492,1494,1496],{"class":206,"line":250},[204,1489,558],{"class":537},[204,1491,561],{"class":398},[204,1493,564],{"class":394},[204,1495,567],{"class":450},[204,1497,570],{"class":461},[204,1499,1500],{"class":206,"line":256},[204,1501,217],{"emptyLinePlaceholder":216},[204,1503,1504,1506,1508,1510,1513,1515,1518,1520,1522,1524,1526,1528],{"class":206,"line":262},[204,1505,777],{"class":390},[204,1507,780],{"class":461},[204,1509,1267],{"class":394},[204,1511,1512],{"class":398},"elicit",[204,1514,514],{"class":394},[204,1516,1517],{"class":450},"supports",[204,1519,453],{"class":461},[204,1521,473],{"class":394},[204,1523,349],{"class":411},[204,1525,473],{"class":394},[204,1527,1298],{"class":461},[204,1529,456],{"class":394},[204,1531,1532,1534,1536,1539],{"class":206,"line":268},[204,1533,809],{"class":390},[204,1535,408],{"class":394},[204,1537,1538],{"class":411},"Open https:\u002F\u002Fapp.example.com\u002Fsettings\u002Fgithub to connect your account, then try again.",[204,1540,415],{"class":394},[204,1542,1543],{"class":206,"line":273},[204,1544,836],{"class":394},[204,1546,1547],{"class":206,"line":577},[204,1548,217],{"emptyLinePlaceholder":216},[204,1550,1551,1553,1555,1557,1559,1561,1563,1565,1567],{"class":206,"line":600},[204,1552,558],{"class":537},[204,1554,582],{"class":398},[204,1556,564],{"class":394},[204,1558,587],{"class":390},[204,1560,561],{"class":398},[204,1562,514],{"class":394},[204,1564,349],{"class":450},[204,1566,453],{"class":461},[204,1568,456],{"class":394},[204,1570,1571,1573,1575,1577,1580,1582],{"class":206,"line":631},[204,1572,603],{"class":461},[204,1574,465],{"class":394},[204,1576,408],{"class":394},[204,1578,1579],{"class":411},"Authorize the integration",[204,1581,473],{"class":394},[204,1583,476],{"class":394},[204,1585,1586,1589,1591,1593,1596,1598],{"class":206,"line":641},[204,1587,1588],{"class":461},"      url",[204,1590,465],{"class":394},[204,1592,408],{"class":394},[204,1594,1595],{"class":411},"https:\u002F\u002Fapp.example.com\u002Foauth\u002Fgithub\u002Fstart",[204,1597,473],{"class":394},[204,1599,476],{"class":394},[204,1601,1602,1604],{"class":206,"line":707},[204,1603,763],{"class":394},[204,1605,766],{"class":461},[204,1607,1608],{"class":206,"line":754},[204,1609,217],{"emptyLinePlaceholder":216},[204,1611,1612,1614,1616,1618,1620,1623,1625,1627],{"class":206,"line":760},[204,1613,847],{"class":390},[204,1615,582],{"class":398},[204,1617,514],{"class":394},[204,1619,788],{"class":398},[204,1621,1622],{"class":394}," ===",[204,1624,408],{"class":394},[204,1626,796],{"class":411},[204,1628,415],{"class":394},[204,1630,1631,1634,1636,1639],{"class":206,"line":769},[204,1632,1633],{"class":394},"      ?",[204,1635,408],{"class":394},[204,1637,1638],{"class":411},"GitHub connected.",[204,1640,415],{"class":394},[204,1642,1643,1646,1648,1651,1653,1655,1657,1659,1661,1663],{"class":206,"line":774},[204,1644,1645],{"class":394},"      :",[204,1647,608],{"class":394},[204,1649,1650],{"class":411},"User did not complete the flow (",[204,1652,614],{"class":394},[204,1654,783],{"class":398},[204,1656,514],{"class":394},[204,1658,788],{"class":398},[204,1660,620],{"class":394},[204,1662,827],{"class":411},[204,1664,830],{"class":394},[204,1666,1667],{"class":206,"line":806},[204,1668,527],{"class":394},[204,1670,1671,1673],{"class":206,"line":833},[204,1672,620],{"class":394},[204,1674,766],{"class":398},[360,1676,1678,1679,1686],{"color":1677,"icon":84},"warning","URL-mode elicitation triggers a redirect on the user's machine — only use it for trusted endpoints. The MCP spec recommends pairing it with ",[1680,1681,1685],"a",{"href":1682,"rel":1683},"https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-11-25\u002Fbasic\u002Fauthorization",[1684],"nofollow","origin\u002Fscheme validation"," on your callback.",[155,1688,1690],{"id":1689},"capability-checks","Capability Checks",[160,1692,1693],{},"Always handle the case where the client doesn't declare the elicitation capability — many clients (and self-hosted relays) advertise tools without it.",[193,1695,1697],{"className":380,"code":1696,"language":383,"meta":199,"style":199},"const elicit = useMcpElicitation()\n\nif (!elicit.supports('form')) {\n  return 'This tool needs an interactive client (Cursor, Claude Desktop, …).'\n}\n",[201,1698,1699,1714,1718,1745,1757],{"__ignoreMap":199},[204,1700,1701,1704,1707,1710,1712],{"class":206,"line":207},[204,1702,1703],{"class":537},"const",[204,1705,1706],{"class":398}," elicit ",[204,1708,1709],{"class":394},"=",[204,1711,567],{"class":450},[204,1713,570],{"class":398},[204,1715,1716],{"class":206,"line":213},[204,1717,217],{"emptyLinePlaceholder":216},[204,1719,1720,1723,1725,1727,1729,1731,1733,1735,1737,1739,1741,1743],{"class":206,"line":220},[204,1721,1722],{"class":390},"if",[204,1724,780],{"class":398},[204,1726,1267],{"class":394},[204,1728,1512],{"class":398},[204,1730,514],{"class":394},[204,1732,1517],{"class":450},[204,1734,453],{"class":398},[204,1736,473],{"class":394},[204,1738,310],{"class":411},[204,1740,473],{"class":394},[204,1742,1298],{"class":398},[204,1744,456],{"class":394},[204,1746,1747,1750,1752,1755],{"class":206,"line":226},[204,1748,1749],{"class":390},"  return",[204,1751,408],{"class":394},[204,1753,1754],{"class":411},"This tool needs an interactive client (Cursor, Claude Desktop, …).",[204,1756,415],{"class":394},[204,1758,1759],{"class":206,"line":232},[204,1760,1761],{"class":394},"}\n",[160,1763,1764,1765,1767,1768,1771,1772,1775,1776,1779],{},"When you call ",[201,1766,1371],{}," or ",[201,1769,1770],{},"url()"," against an unsupported client, the composable throws ",[201,1773,1774],{},"McpElicitationError"," with ",[201,1777,1778],{},"code: 'unsupported'"," so you can recover gracefully:",[193,1781,1783],{"className":380,"code":1782,"language":383,"meta":199,"style":199},"import { McpElicitationError } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\ntry {\n  await elicit.form({ message: '…', schema: { … } })\n}\ncatch (err) {\n  if (err instanceof McpElicitationError && err.code === 'unsupported') {\n    return 'Client does not support elicitation — falling back to defaults.'\n  }\n  throw err\n}\n",[201,1784,1785,1804,1808,1815,1861,1865,1875,1914,1925,1930,1938],{"__ignoreMap":199},[204,1786,1787,1789,1791,1794,1796,1798,1800,1802],{"class":206,"line":207},[204,1788,391],{"class":390},[204,1790,395],{"class":394},[204,1792,1793],{"class":398}," McpElicitationError",[204,1795,402],{"class":394},[204,1797,405],{"class":390},[204,1799,408],{"class":394},[204,1801,433],{"class":411},[204,1803,415],{"class":394},[204,1805,1806],{"class":206,"line":213},[204,1807,217],{"emptyLinePlaceholder":216},[204,1809,1810,1813],{"class":206,"line":220},[204,1811,1812],{"class":390},"try",[204,1814,502],{"class":394},[204,1816,1817,1820,1822,1824,1826,1828,1831,1834,1836,1838,1841,1843,1845,1848,1850,1852,1855,1857,1859],{"class":206,"line":226},[204,1818,1819],{"class":390},"  await",[204,1821,561],{"class":398},[204,1823,514],{"class":394},[204,1825,310],{"class":450},[204,1827,453],{"class":461},[204,1829,1830],{"class":394},"{",[204,1832,1833],{"class":461}," message",[204,1835,465],{"class":394},[204,1837,408],{"class":394},[204,1839,1840],{"class":411},"…",[204,1842,473],{"class":394},[204,1844,666],{"class":394},[204,1846,1847],{"class":461}," schema",[204,1849,465],{"class":394},[204,1851,395],{"class":394},[204,1853,1854],{"class":461}," … ",[204,1856,620],{"class":394},[204,1858,402],{"class":394},[204,1860,766],{"class":461},[204,1862,1863],{"class":206,"line":232},[204,1864,1761],{"class":394},[204,1866,1867,1870,1873],{"class":206,"line":238},[204,1868,1869],{"class":390},"catch",[204,1871,1872],{"class":398}," (err) ",[204,1874,456],{"class":394},[204,1876,1877,1880,1882,1885,1888,1891,1894,1897,1899,1901,1903,1905,1908,1910,1912],{"class":206,"line":244},[204,1878,1879],{"class":390},"  if",[204,1881,780],{"class":461},[204,1883,1884],{"class":398},"err",[204,1886,1887],{"class":394}," instanceof",[204,1889,1793],{"class":1890},"sBMFI",[204,1892,1893],{"class":394}," &&",[204,1895,1896],{"class":398}," err",[204,1898,514],{"class":394},[204,1900,201],{"class":398},[204,1902,1622],{"class":394},[204,1904,408],{"class":394},[204,1906,1907],{"class":411},"unsupported",[204,1909,473],{"class":394},[204,1911,801],{"class":461},[204,1913,456],{"class":394},[204,1915,1916,1918,1920,1923],{"class":206,"line":250},[204,1917,847],{"class":390},[204,1919,408],{"class":394},[204,1921,1922],{"class":411},"Client does not support elicitation — falling back to defaults.",[204,1924,415],{"class":394},[204,1926,1927],{"class":206,"line":256},[204,1928,1929],{"class":394},"  }\n",[204,1931,1932,1935],{"class":206,"line":262},[204,1933,1934],{"class":390},"  throw",[204,1936,1937],{"class":398}," err\n",[204,1939,1940],{"class":206,"line":268},[204,1941,1761],{"class":394},[155,1943,1945],{"id":1944},"requirements","Requirements",[360,1947,1949,1954],{"color":1677,"icon":1948},"i-lucide-triangle-alert",[160,1950,1951,1953],{},[201,1952,374],{}," requires:",[169,1955,1956,1965],{},[172,1957,1958,1961,1962,1964],{},[201,1959,1960],{},"nitro.experimental.asyncContext"," set to ",[201,1963,732],{}," (default since Nuxt 3.8+)",[172,1966,1967,1968,1971],{},"A client that declared the ",[201,1969,1970],{},"elicitation"," capability during initialization",[1973,1974,1975],"style",{},"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 .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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":199,"searchDepth":213,"depth":213,"links":1977},[1978,1979,1980,1983,1984,1985,1986,1987],{"id":157,"depth":213,"text":158},{"id":279,"depth":213,"text":280},{"id":371,"depth":213,"text":374,"children":1981},[1982],{"id":922,"depth":220,"text":923},{"id":1013,"depth":213,"text":1014},{"id":1110,"depth":213,"text":1111},{"id":1379,"depth":213,"text":1380},{"id":1689,"depth":213,"text":1690},{"id":1944,"depth":213,"text":1945},"Ask the user for structured input or send them to a URL with useMcpElicitation().","md",null,{},{"icon":119},{"title":1994,"description":1995},"MCP Elicitation","Request structured input from the user (form mode) or redirect them to a URL (URL mode) from your MCP tools, prompts, and resources.","x9L-CLNMHgWhhmsbXltIPnoY0PeSMCBVZY7vw2e8CmM",[1998,2000],{"title":111,"path":112,"stem":113,"description":1999,"icon":114,"children":-1},"Let LLMs orchestrate multiple tool calls in a single JavaScript execution.",{"title":126,"path":127,"stem":128,"description":2001,"icon":129,"children":-1},"Secure your MCP endpoints with Bearer token authentication.",1776853498709]