[{"data":1,"prerenderedAt":4910},["ShallowReactive",2],{"navigation_docs":3,"-core-concepts-prompts":139,"-core-concepts-prompts-surround":4905},[4,40,65,110],{"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],{"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},"Middleware","\u002Fadvanced\u002Fmiddleware","3.advanced\u002F2.middleware","i-lucide-shield",{"title":81,"path":82,"stem":83,"icon":84},"TypeScript","\u002Fadvanced\u002Ftypescript","3.advanced\u002F3.typescript","i-lucide-type",{"title":86,"path":87,"stem":88,"icon":89},"Hooks","\u002Fadvanced\u002Fhooks","3.advanced\u002F4.hooks","i-lucide-webhook",{"title":91,"path":92,"stem":93,"icon":94},"MCP Evals","\u002Fadvanced\u002Fevals","3.advanced\u002F5.evals","i-lucide-flask-conical",{"title":96,"path":97,"stem":98,"icon":99},"Sessions","\u002Fadvanced\u002Fsessions","3.advanced\u002F6.sessions","i-lucide-database",{"title":101,"path":102,"stem":103,"icon":104},"Dynamic Definitions","\u002Fadvanced\u002Fdynamic-definitions","3.advanced\u002F7.dynamic-definitions","i-lucide-toggle-right",{"title":106,"path":107,"stem":108,"icon":109},"Code Mode","\u002Fadvanced\u002Fcode-mode","3.advanced\u002F8.code-mode","i-lucide-code",{"title":111,"path":112,"stem":113,"children":114,"page":39},"Examples","\u002Fexamples","4.examples",[115,120,125,130,135],{"title":116,"path":117,"stem":118,"icon":119},"Authentication","\u002Fexamples\u002Fauthentication","4.examples\u002F1.authentication","i-lucide-shield-check",{"title":121,"path":122,"stem":123,"icon":124},"API Integration","\u002Fexamples\u002Fapi-integration","4.examples\u002F2.api-integration","i-lucide-globe",{"title":126,"path":127,"stem":128,"icon":129},"Common Patterns","\u002Fexamples\u002Fcommon-patterns","4.examples\u002F3.common-patterns","i-lucide-lightbulb",{"title":131,"path":132,"stem":133,"icon":134},"File Operations","\u002Fexamples\u002Ffile-operations","4.examples\u002F4.file-operations","i-lucide-file",{"title":136,"path":137,"stem":138,"icon":59},"Prompt Examples","\u002Fexamples\u002Fprompt-examples","4.examples\u002F5.prompt-examples",{"id":140,"title":56,"body":141,"description":4897,"extension":4898,"links":4899,"meta":4900,"navigation":4901,"path":57,"seo":4902,"stem":58,"__hash__":4904},"docs\u002F2.core-concepts\u002F4.prompts.md",{"type":142,"value":143,"toc":4856},"minimark",[144,149,153,157,160,183,186,189,194,228,232,243,393,400,420,429,433,436,659,663,674,772,789,793,796,1215,1219,1222,1568,1572,1575,1933,1937,2019,2028,2032,2039,2265,2271,2275,2282,2286,2289,2519,2533,2537,2633,2637,2640,2828,2841,2845,2848,3159,3163,3166,3170,3173,3304,3308,3311,3514,3518,3521,3774,3778,3781,3975,3979,3986,3993,3996,4000,4003,4049,4053,4057,4060,4142,4146,4153,4311,4315,4318,4445,4449,4452,4486,4490,4497,4623,4627,4630,4686,4690,4697,4813,4821,4825,4852],[145,146,148],"h2",{"id":147},"what-are-prompts","What are Prompts?",[150,151,152],"p",{},"Prompts are reusable message templates that can be used by AI assistants. They can include dynamic arguments and return pre-formatted messages.",[145,154,156],{"id":155},"why-use-prompts","Why Use Prompts?",[150,158,159],{},"MCP prompts offer several advantages over ad-hoc instructions:",[161,162,163,169,174,179],"card-group",{},[164,165,168],"card",{"icon":166,"title":167},"i-lucide-repeat","Reusability","Define once, use everywhere. Share prompts across your team for consistent AI interactions.",[164,170,173],{"icon":171,"title":172},"i-lucide-check-square","Standardization","Ensure consistent formatting and context for specific tasks like code reviews or documentation.",[164,175,178],{"icon":176,"title":177},"i-lucide-settings-2","Customization","Use arguments to adapt prompts to different contexts while maintaining structure.",[164,180,182],{"icon":33,"title":181},"IDE Integration","Prompts appear in Cursor, VS Code, and Visual Studio for easy access during development.",[145,184,181],{"id":185},"ide-integration",[150,187,188],{},"MCP prompts integrate seamlessly with modern development environments. When your MCP server is connected, prompts become available directly in your IDE.",[190,191,193],"h3",{"id":192},"using-prompts-in-cursor-vs-code","Using Prompts in Cursor \u002F VS Code",[195,196,197,212,222],"ol",{},[198,199,200,208,209,211],"li",{},[201,202,203,204],"strong",{},"Type ",[205,206,207],"code",{},"\u002F",": In the chat, type ",[205,210,207],{}," to see all available MCP prompts",[198,213,214,217,218,221],{},[201,215,216],{},"Select a prompt",": Choose from the list (e.g., ",[205,219,220],{},"local-mcp\u002Fsetup-mcp-server",")",[198,223,224,227],{},[201,225,226],{},"Fill Arguments",": For prompt templates, a dialog will appear to fill in the required arguments",[145,229,231],{"id":230},"auto-generated-name-and-title","Auto-Generated Name and Title",[150,233,234,235,238,239,242],{},"You can omit ",[205,236,237],{},"name"," and ",[205,240,241],{},"title"," - they will be automatically generated from the filename:",[244,245,251],"pre",{"className":246,"code":247,"filename":248,"language":249,"meta":250,"style":250},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { defineMcpPrompt } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpPrompt({\n  \u002F\u002F name and title are auto-generated from filename:\n  \u002F\u002F name: 'greeting'\n  \u002F\u002F title: 'Greeting'\n  description: 'Generate a personalized greeting message',\n  handler: async () => {\n    \u002F\u002F ...\n  },\n})\n","server\u002Fmcp\u002Fprompts\u002Fgreeting.ts","typescript","",[205,252,253,286,293,311,318,324,330,351,372,378,384],{"__ignoreMap":250},[254,255,258,262,266,270,273,276,279,283],"span",{"class":256,"line":257},"line",1,[254,259,261],{"class":260},"s7zQu","import",[254,263,265],{"class":264},"sMK4o"," {",[254,267,269],{"class":268},"sTEyZ"," defineMcpPrompt",[254,271,272],{"class":264}," }",[254,274,275],{"class":260}," from",[254,277,278],{"class":264}," '",[254,280,282],{"class":281},"sfazB","@nuxtjs\u002Fmcp-toolkit\u002Fserver",[254,284,285],{"class":264},"'\n",[254,287,289],{"class":256,"line":288},2,[254,290,292],{"emptyLinePlaceholder":291},true,"\n",[254,294,296,299,302,305,308],{"class":256,"line":295},3,[254,297,298],{"class":260},"export",[254,300,301],{"class":260}," default",[254,303,269],{"class":304},"s2Zo4",[254,306,307],{"class":268},"(",[254,309,310],{"class":264},"{\n",[254,312,314],{"class":256,"line":313},4,[254,315,317],{"class":316},"sHwdD","  \u002F\u002F name and title are auto-generated from filename:\n",[254,319,321],{"class":256,"line":320},5,[254,322,323],{"class":316},"  \u002F\u002F name: 'greeting'\n",[254,325,327],{"class":256,"line":326},6,[254,328,329],{"class":316},"  \u002F\u002F title: 'Greeting'\n",[254,331,333,337,340,342,345,348],{"class":256,"line":332},7,[254,334,336],{"class":335},"swJcz","  description",[254,338,339],{"class":264},":",[254,341,278],{"class":264},[254,343,344],{"class":281},"Generate a personalized greeting message",[254,346,347],{"class":264},"'",[254,349,350],{"class":264},",\n",[254,352,354,357,359,363,366,369],{"class":256,"line":353},8,[254,355,356],{"class":304},"  handler",[254,358,339],{"class":264},[254,360,362],{"class":361},"spNyl"," async",[254,364,365],{"class":264}," ()",[254,367,368],{"class":361}," =>",[254,370,371],{"class":264}," {\n",[254,373,375],{"class":256,"line":374},9,[254,376,377],{"class":316},"    \u002F\u002F ...\n",[254,379,381],{"class":256,"line":380},10,[254,382,383],{"class":264},"  },\n",[254,385,387,390],{"class":256,"line":386},11,[254,388,389],{"class":264},"}",[254,391,392],{"class":268},")\n",[150,394,395,396,399],{},"The filename ",[205,397,398],{},"greeting.ts"," automatically becomes:",[401,402,403,412],"ul",{},[198,404,405,407,408,411],{},[205,406,237],{},": ",[205,409,410],{},"greeting"," (kebab-case)",[198,413,414,407,416,419],{},[205,415,241],{},[205,417,418],{},"Greeting"," (title case)",[150,421,422,423,425,426,428],{},"You can still provide ",[205,424,237],{}," or ",[205,427,241],{}," explicitly to override the auto-generated values.",[145,430,432],{"id":431},"simple-prompt-no-arguments","Simple Prompt (No Arguments)",[150,434,435],{},"Create a prompt without arguments. Handlers can return a simple string — it will be automatically wrapped into a single user message:",[244,437,439],{"className":246,"code":438,"filename":248,"language":249,"meta":250,"style":250},"import { defineMcpPrompt } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpPrompt({\n  name: 'greeting',\n  title: 'Greeting',\n  description: 'Generate a personalized greeting message',\n  handler: async () => {\n    const hour = new Date().getHours()\n    const timeOfDay = hour \u003C 12 ? 'morning' : hour \u003C 18 ? 'afternoon' : 'evening'\n\n    return `Good ${timeOfDay}! How can I help you today?`\n  },\n})\n",[205,440,441,459,463,475,490,505,519,533,562,618,622,647,652],{"__ignoreMap":250},[254,442,443,445,447,449,451,453,455,457],{"class":256,"line":257},[254,444,261],{"class":260},[254,446,265],{"class":264},[254,448,269],{"class":268},[254,450,272],{"class":264},[254,452,275],{"class":260},[254,454,278],{"class":264},[254,456,282],{"class":281},[254,458,285],{"class":264},[254,460,461],{"class":256,"line":288},[254,462,292],{"emptyLinePlaceholder":291},[254,464,465,467,469,471,473],{"class":256,"line":295},[254,466,298],{"class":260},[254,468,301],{"class":260},[254,470,269],{"class":304},[254,472,307],{"class":268},[254,474,310],{"class":264},[254,476,477,480,482,484,486,488],{"class":256,"line":313},[254,478,479],{"class":335},"  name",[254,481,339],{"class":264},[254,483,278],{"class":264},[254,485,410],{"class":281},[254,487,347],{"class":264},[254,489,350],{"class":264},[254,491,492,495,497,499,501,503],{"class":256,"line":320},[254,493,494],{"class":335},"  title",[254,496,339],{"class":264},[254,498,278],{"class":264},[254,500,418],{"class":281},[254,502,347],{"class":264},[254,504,350],{"class":264},[254,506,507,509,511,513,515,517],{"class":256,"line":326},[254,508,336],{"class":335},[254,510,339],{"class":264},[254,512,278],{"class":264},[254,514,344],{"class":281},[254,516,347],{"class":264},[254,518,350],{"class":264},[254,520,521,523,525,527,529,531],{"class":256,"line":332},[254,522,356],{"class":304},[254,524,339],{"class":264},[254,526,362],{"class":361},[254,528,365],{"class":264},[254,530,368],{"class":361},[254,532,371],{"class":264},[254,534,535,538,541,544,547,550,553,556,559],{"class":256,"line":353},[254,536,537],{"class":361},"    const",[254,539,540],{"class":268}," hour",[254,542,543],{"class":264}," =",[254,545,546],{"class":264}," new",[254,548,549],{"class":304}," Date",[254,551,552],{"class":335},"()",[254,554,555],{"class":264},".",[254,557,558],{"class":304},"getHours",[254,560,561],{"class":335},"()\n",[254,563,564,566,569,571,573,576,580,583,585,588,590,593,595,597,600,602,604,607,609,611,613,616],{"class":256,"line":374},[254,565,537],{"class":361},[254,567,568],{"class":268}," timeOfDay",[254,570,543],{"class":264},[254,572,540],{"class":268},[254,574,575],{"class":264}," \u003C",[254,577,579],{"class":578},"sbssI"," 12",[254,581,582],{"class":264}," ?",[254,584,278],{"class":264},[254,586,587],{"class":281},"morning",[254,589,347],{"class":264},[254,591,592],{"class":264}," :",[254,594,540],{"class":268},[254,596,575],{"class":264},[254,598,599],{"class":578}," 18",[254,601,582],{"class":264},[254,603,278],{"class":264},[254,605,606],{"class":281},"afternoon",[254,608,347],{"class":264},[254,610,592],{"class":264},[254,612,278],{"class":264},[254,614,615],{"class":281},"evening",[254,617,285],{"class":264},[254,619,620],{"class":256,"line":380},[254,621,292],{"emptyLinePlaceholder":291},[254,623,624,627,630,633,636,639,641,644],{"class":256,"line":386},[254,625,626],{"class":260},"    return",[254,628,629],{"class":264}," `",[254,631,632],{"class":281},"Good ",[254,634,635],{"class":264},"${",[254,637,638],{"class":268},"timeOfDay",[254,640,389],{"class":264},[254,642,643],{"class":281},"! How can I help you today?",[254,645,646],{"class":264},"`\n",[254,648,650],{"class":256,"line":649},12,[254,651,383],{"class":264},[254,653,655,657],{"class":256,"line":654},13,[254,656,389],{"class":264},[254,658,392],{"class":268},[190,660,662],{"id":661},"default-role","Default Role",[150,664,665,666,669,670,673],{},"When a handler returns a string, it is wrapped with the ",[205,667,668],{},"user"," role by default. Use the ",[205,671,672],{},"role"," option to change this:",[244,675,678],{"className":246,"code":676,"filename":677,"language":249,"meta":250,"style":250},"import { defineMcpPrompt } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpPrompt({\n  role: 'assistant',\n  description: 'Code review assistant persona',\n  handler: async () => 'I am a code review assistant. Share your code and I will review it for best practices.',\n})\n","server\u002Fmcp\u002Fprompts\u002Fcode-reviewer.ts",[205,679,680,698,702,714,730,745,766],{"__ignoreMap":250},[254,681,682,684,686,688,690,692,694,696],{"class":256,"line":257},[254,683,261],{"class":260},[254,685,265],{"class":264},[254,687,269],{"class":268},[254,689,272],{"class":264},[254,691,275],{"class":260},[254,693,278],{"class":264},[254,695,282],{"class":281},[254,697,285],{"class":264},[254,699,700],{"class":256,"line":288},[254,701,292],{"emptyLinePlaceholder":291},[254,703,704,706,708,710,712],{"class":256,"line":295},[254,705,298],{"class":260},[254,707,301],{"class":260},[254,709,269],{"class":304},[254,711,307],{"class":268},[254,713,310],{"class":264},[254,715,716,719,721,723,726,728],{"class":256,"line":313},[254,717,718],{"class":335},"  role",[254,720,339],{"class":264},[254,722,278],{"class":264},[254,724,725],{"class":281},"assistant",[254,727,347],{"class":264},[254,729,350],{"class":264},[254,731,732,734,736,738,741,743],{"class":256,"line":320},[254,733,336],{"class":335},[254,735,339],{"class":264},[254,737,278],{"class":264},[254,739,740],{"class":281},"Code review assistant persona",[254,742,347],{"class":264},[254,744,350],{"class":264},[254,746,747,749,751,753,755,757,759,762,764],{"class":256,"line":326},[254,748,356],{"class":304},[254,750,339],{"class":264},[254,752,362],{"class":361},[254,754,365],{"class":264},[254,756,368],{"class":361},[254,758,278],{"class":264},[254,760,761],{"class":281},"I am a code review assistant. Share your code and I will review it for best practices.",[254,763,347],{"class":264},[254,765,350],{"class":264},[254,767,768,770],{"class":256,"line":332},[254,769,389],{"class":264},[254,771,392],{"class":268},[773,774,777,778,780,781,784,785,788],"callout",{"color":775,"icon":776},"info","i-lucide-info","The ",[205,779,672],{}," option only affects string returns. When returning a full ",[205,782,783],{},"GetPromptResult",", define roles directly in the ",[205,786,787],{},"messages"," array.",[145,790,792],{"id":791},"prompt-with-arguments","Prompt with Arguments",[150,794,795],{},"Create a prompt that accepts arguments:",[244,797,800],{"className":246,"code":798,"filename":799,"language":249,"meta":250,"style":250},"import { z } from 'zod'\nimport { defineMcpPrompt } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpPrompt({\n  name: 'summarize',\n  title: 'Text Summarizer',\n  description: 'Summarize any text content',\n  inputSchema: {\n    text: z.string().describe('The text to summarize'),\n    maxLength: z.string().optional().describe('Maximum length of summary in words'),\n  },\n  handler: async ({ text, maxLength }) => {\n    const words = text.split(\u002F\\s+\u002F)\n    const maxWords = maxLength ? Number.parseInt(maxLength) : Math.ceil(words.length * 0.3)\n    const summary = words.slice(0, maxWords).join(' ')\n\n    return `Summary (${maxWords} words): ${summary}${words.length > maxWords ? '...' : ''}`\n  },\n})\n","server\u002Fmcp\u002Fprompts\u002Fsummarize.ts",[205,801,802,822,840,844,856,871,886,901,910,944,983,987,1015,1043,1101,1142,1147,1203,1208],{"__ignoreMap":250},[254,803,804,806,808,811,813,815,817,820],{"class":256,"line":257},[254,805,261],{"class":260},[254,807,265],{"class":264},[254,809,810],{"class":268}," z",[254,812,272],{"class":264},[254,814,275],{"class":260},[254,816,278],{"class":264},[254,818,819],{"class":281},"zod",[254,821,285],{"class":264},[254,823,824,826,828,830,832,834,836,838],{"class":256,"line":288},[254,825,261],{"class":260},[254,827,265],{"class":264},[254,829,269],{"class":268},[254,831,272],{"class":264},[254,833,275],{"class":260},[254,835,278],{"class":264},[254,837,282],{"class":281},[254,839,285],{"class":264},[254,841,842],{"class":256,"line":295},[254,843,292],{"emptyLinePlaceholder":291},[254,845,846,848,850,852,854],{"class":256,"line":313},[254,847,298],{"class":260},[254,849,301],{"class":260},[254,851,269],{"class":304},[254,853,307],{"class":268},[254,855,310],{"class":264},[254,857,858,860,862,864,867,869],{"class":256,"line":320},[254,859,479],{"class":335},[254,861,339],{"class":264},[254,863,278],{"class":264},[254,865,866],{"class":281},"summarize",[254,868,347],{"class":264},[254,870,350],{"class":264},[254,872,873,875,877,879,882,884],{"class":256,"line":326},[254,874,494],{"class":335},[254,876,339],{"class":264},[254,878,278],{"class":264},[254,880,881],{"class":281},"Text Summarizer",[254,883,347],{"class":264},[254,885,350],{"class":264},[254,887,888,890,892,894,897,899],{"class":256,"line":332},[254,889,336],{"class":335},[254,891,339],{"class":264},[254,893,278],{"class":264},[254,895,896],{"class":281},"Summarize any text content",[254,898,347],{"class":264},[254,900,350],{"class":264},[254,902,903,906,908],{"class":256,"line":353},[254,904,905],{"class":335},"  inputSchema",[254,907,339],{"class":264},[254,909,371],{"class":264},[254,911,912,915,917,919,921,924,926,928,931,933,935,938,940,942],{"class":256,"line":374},[254,913,914],{"class":335},"    text",[254,916,339],{"class":264},[254,918,810],{"class":268},[254,920,555],{"class":264},[254,922,923],{"class":304},"string",[254,925,552],{"class":268},[254,927,555],{"class":264},[254,929,930],{"class":304},"describe",[254,932,307],{"class":268},[254,934,347],{"class":264},[254,936,937],{"class":281},"The text to summarize",[254,939,347],{"class":264},[254,941,221],{"class":268},[254,943,350],{"class":264},[254,945,946,949,951,953,955,957,959,961,964,966,968,970,972,974,977,979,981],{"class":256,"line":380},[254,947,948],{"class":335},"    maxLength",[254,950,339],{"class":264},[254,952,810],{"class":268},[254,954,555],{"class":264},[254,956,923],{"class":304},[254,958,552],{"class":268},[254,960,555],{"class":264},[254,962,963],{"class":304},"optional",[254,965,552],{"class":268},[254,967,555],{"class":264},[254,969,930],{"class":304},[254,971,307],{"class":268},[254,973,347],{"class":264},[254,975,976],{"class":281},"Maximum length of summary in words",[254,978,347],{"class":264},[254,980,221],{"class":268},[254,982,350],{"class":264},[254,984,985],{"class":256,"line":386},[254,986,383],{"class":264},[254,988,989,991,993,995,998,1002,1005,1008,1011,1013],{"class":256,"line":649},[254,990,356],{"class":304},[254,992,339],{"class":264},[254,994,362],{"class":361},[254,996,997],{"class":264}," ({",[254,999,1001],{"class":1000},"sHdIc"," text",[254,1003,1004],{"class":264},",",[254,1006,1007],{"class":1000}," maxLength",[254,1009,1010],{"class":264}," })",[254,1012,368],{"class":361},[254,1014,371],{"class":264},[254,1016,1017,1019,1022,1024,1026,1028,1031,1033,1035,1038,1041],{"class":256,"line":654},[254,1018,537],{"class":361},[254,1020,1021],{"class":268}," words",[254,1023,543],{"class":264},[254,1025,1001],{"class":268},[254,1027,555],{"class":264},[254,1029,1030],{"class":304},"split",[254,1032,307],{"class":335},[254,1034,207],{"class":264},[254,1036,1037],{"class":281},"\\s",[254,1039,1040],{"class":264},"+\u002F",[254,1042,392],{"class":335},[254,1044,1046,1048,1051,1053,1055,1057,1060,1062,1065,1067,1070,1073,1075,1078,1080,1083,1085,1088,1090,1093,1096,1099],{"class":256,"line":1045},14,[254,1047,537],{"class":361},[254,1049,1050],{"class":268}," maxWords",[254,1052,543],{"class":264},[254,1054,1007],{"class":268},[254,1056,582],{"class":264},[254,1058,1059],{"class":268}," Number",[254,1061,555],{"class":264},[254,1063,1064],{"class":304},"parseInt",[254,1066,307],{"class":335},[254,1068,1069],{"class":268},"maxLength",[254,1071,1072],{"class":335},") ",[254,1074,339],{"class":264},[254,1076,1077],{"class":268}," Math",[254,1079,555],{"class":264},[254,1081,1082],{"class":304},"ceil",[254,1084,307],{"class":335},[254,1086,1087],{"class":268},"words",[254,1089,555],{"class":264},[254,1091,1092],{"class":268},"length",[254,1094,1095],{"class":264}," *",[254,1097,1098],{"class":578}," 0.3",[254,1100,392],{"class":335},[254,1102,1104,1106,1109,1111,1113,1115,1118,1120,1123,1125,1127,1129,1131,1134,1136,1138,1140],{"class":256,"line":1103},15,[254,1105,537],{"class":361},[254,1107,1108],{"class":268}," summary",[254,1110,543],{"class":264},[254,1112,1021],{"class":268},[254,1114,555],{"class":264},[254,1116,1117],{"class":304},"slice",[254,1119,307],{"class":335},[254,1121,1122],{"class":578},"0",[254,1124,1004],{"class":264},[254,1126,1050],{"class":268},[254,1128,221],{"class":335},[254,1130,555],{"class":264},[254,1132,1133],{"class":304},"join",[254,1135,307],{"class":335},[254,1137,347],{"class":264},[254,1139,278],{"class":264},[254,1141,392],{"class":335},[254,1143,1145],{"class":256,"line":1144},16,[254,1146,292],{"emptyLinePlaceholder":291},[254,1148,1150,1152,1154,1157,1159,1162,1164,1167,1169,1172,1175,1177,1179,1182,1185,1188,1191,1193,1196,1198,1200],{"class":256,"line":1149},17,[254,1151,626],{"class":260},[254,1153,629],{"class":264},[254,1155,1156],{"class":281},"Summary (",[254,1158,635],{"class":264},[254,1160,1161],{"class":268},"maxWords",[254,1163,389],{"class":264},[254,1165,1166],{"class":281}," words): ",[254,1168,635],{"class":264},[254,1170,1171],{"class":268},"summary",[254,1173,1174],{"class":264},"}${",[254,1176,1087],{"class":268},[254,1178,555],{"class":264},[254,1180,1181],{"class":268},"length ",[254,1183,1184],{"class":264},">",[254,1186,1187],{"class":268}," maxWords ",[254,1189,1190],{"class":264},"?",[254,1192,278],{"class":264},[254,1194,1195],{"class":281},"...",[254,1197,347],{"class":264},[254,1199,592],{"class":264},[254,1201,1202],{"class":264}," ''}`\n",[254,1204,1206],{"class":256,"line":1205},18,[254,1207,383],{"class":264},[254,1209,1211,1213],{"class":256,"line":1210},19,[254,1212,389],{"class":264},[254,1214,392],{"class":268},[145,1216,1218],{"id":1217},"prompt-structure","Prompt Structure",[150,1220,1221],{},"A prompt definition consists of:",[1223,1224,1225,1310,1408],"code-group",{},[244,1226,1229],{"className":246,"code":1227,"filename":1228,"language":249,"meta":250,"style":250},"import { defineMcpPrompt } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpPrompt({\n  name: 'prompt-name',  \u002F\u002F Unique identifier\n  handler: async () => 'Your prompt text here',\n})\n","Simple Prompt",[205,1230,1231,1249,1253,1265,1283,1304],{"__ignoreMap":250},[254,1232,1233,1235,1237,1239,1241,1243,1245,1247],{"class":256,"line":257},[254,1234,261],{"class":260},[254,1236,265],{"class":264},[254,1238,269],{"class":268},[254,1240,272],{"class":264},[254,1242,275],{"class":260},[254,1244,278],{"class":264},[254,1246,282],{"class":281},[254,1248,285],{"class":264},[254,1250,1251],{"class":256,"line":288},[254,1252,292],{"emptyLinePlaceholder":291},[254,1254,1255,1257,1259,1261,1263],{"class":256,"line":295},[254,1256,298],{"class":260},[254,1258,301],{"class":260},[254,1260,269],{"class":304},[254,1262,307],{"class":268},[254,1264,310],{"class":264},[254,1266,1267,1269,1271,1273,1276,1278,1280],{"class":256,"line":313},[254,1268,479],{"class":335},[254,1270,339],{"class":264},[254,1272,278],{"class":264},[254,1274,1275],{"class":281},"prompt-name",[254,1277,347],{"class":264},[254,1279,1004],{"class":264},[254,1281,1282],{"class":316},"  \u002F\u002F Unique identifier\n",[254,1284,1285,1287,1289,1291,1293,1295,1297,1300,1302],{"class":256,"line":320},[254,1286,356],{"class":304},[254,1288,339],{"class":264},[254,1290,362],{"class":361},[254,1292,365],{"class":264},[254,1294,368],{"class":361},[254,1296,278],{"class":264},[254,1298,1299],{"class":281},"Your prompt text here",[254,1301,347],{"class":264},[254,1303,350],{"class":264},[254,1305,1306,1308],{"class":256,"line":326},[254,1307,389],{"class":264},[254,1309,392],{"class":268},[244,1311,1314],{"className":246,"code":1312,"filename":1313,"language":249,"meta":250,"style":250},"import { defineMcpPrompt } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpPrompt({\n  name: 'prompt-name',\n  role: 'assistant',             \u002F\u002F Role for string returns (default: 'user')\n  handler: async () => 'I am an assistant persona.',\n})\n","With Role",[205,1315,1316,1334,1338,1350,1364,1381,1402],{"__ignoreMap":250},[254,1317,1318,1320,1322,1324,1326,1328,1330,1332],{"class":256,"line":257},[254,1319,261],{"class":260},[254,1321,265],{"class":264},[254,1323,269],{"class":268},[254,1325,272],{"class":264},[254,1327,275],{"class":260},[254,1329,278],{"class":264},[254,1331,282],{"class":281},[254,1333,285],{"class":264},[254,1335,1336],{"class":256,"line":288},[254,1337,292],{"emptyLinePlaceholder":291},[254,1339,1340,1342,1344,1346,1348],{"class":256,"line":295},[254,1341,298],{"class":260},[254,1343,301],{"class":260},[254,1345,269],{"class":304},[254,1347,307],{"class":268},[254,1349,310],{"class":264},[254,1351,1352,1354,1356,1358,1360,1362],{"class":256,"line":313},[254,1353,479],{"class":335},[254,1355,339],{"class":264},[254,1357,278],{"class":264},[254,1359,1275],{"class":281},[254,1361,347],{"class":264},[254,1363,350],{"class":264},[254,1365,1366,1368,1370,1372,1374,1376,1378],{"class":256,"line":320},[254,1367,718],{"class":335},[254,1369,339],{"class":264},[254,1371,278],{"class":264},[254,1373,725],{"class":281},[254,1375,347],{"class":264},[254,1377,1004],{"class":264},[254,1379,1380],{"class":316},"             \u002F\u002F Role for string returns (default: 'user')\n",[254,1382,1383,1385,1387,1389,1391,1393,1395,1398,1400],{"class":256,"line":326},[254,1384,356],{"class":304},[254,1386,339],{"class":264},[254,1388,362],{"class":361},[254,1390,365],{"class":264},[254,1392,368],{"class":361},[254,1394,278],{"class":264},[254,1396,1397],{"class":281},"I am an assistant persona.",[254,1399,347],{"class":264},[254,1401,350],{"class":264},[254,1403,1404,1406],{"class":256,"line":332},[254,1405,389],{"class":264},[254,1407,392],{"class":268},[244,1409,1411],{"className":246,"code":1410,"filename":792,"language":249,"meta":250,"style":250},"import { defineMcpPrompt } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpPrompt({\n  name: 'prompt-name',\n  title: 'Prompt Title',        \u002F\u002F Human-readable title\n  description: 'Description',   \u002F\u002F What the prompt does\n  inputSchema: { ... },          \u002F\u002F Zod schema for arguments\n  handler: async (args) => {    \u002F\u002F Handler with arguments\n    return `Prompt text with ${args.param}`\n  },\n})\n",[205,1412,1413,1431,1435,1447,1461,1479,1497,1514,1537,1558,1562],{"__ignoreMap":250},[254,1414,1415,1417,1419,1421,1423,1425,1427,1429],{"class":256,"line":257},[254,1416,261],{"class":260},[254,1418,265],{"class":264},[254,1420,269],{"class":268},[254,1422,272],{"class":264},[254,1424,275],{"class":260},[254,1426,278],{"class":264},[254,1428,282],{"class":281},[254,1430,285],{"class":264},[254,1432,1433],{"class":256,"line":288},[254,1434,292],{"emptyLinePlaceholder":291},[254,1436,1437,1439,1441,1443,1445],{"class":256,"line":295},[254,1438,298],{"class":260},[254,1440,301],{"class":260},[254,1442,269],{"class":304},[254,1444,307],{"class":268},[254,1446,310],{"class":264},[254,1448,1449,1451,1453,1455,1457,1459],{"class":256,"line":313},[254,1450,479],{"class":335},[254,1452,339],{"class":264},[254,1454,278],{"class":264},[254,1456,1275],{"class":281},[254,1458,347],{"class":264},[254,1460,350],{"class":264},[254,1462,1463,1465,1467,1469,1472,1474,1476],{"class":256,"line":320},[254,1464,494],{"class":335},[254,1466,339],{"class":264},[254,1468,278],{"class":264},[254,1470,1471],{"class":281},"Prompt Title",[254,1473,347],{"class":264},[254,1475,1004],{"class":264},[254,1477,1478],{"class":316},"        \u002F\u002F Human-readable title\n",[254,1480,1481,1483,1485,1487,1490,1492,1494],{"class":256,"line":326},[254,1482,336],{"class":335},[254,1484,339],{"class":264},[254,1486,278],{"class":264},[254,1488,1489],{"class":281},"Description",[254,1491,347],{"class":264},[254,1493,1004],{"class":264},[254,1495,1496],{"class":316},"   \u002F\u002F What the prompt does\n",[254,1498,1499,1501,1503,1505,1508,1511],{"class":256,"line":332},[254,1500,905],{"class":335},[254,1502,339],{"class":264},[254,1504,265],{"class":264},[254,1506,1507],{"class":264}," ...",[254,1509,1510],{"class":264}," },",[254,1512,1513],{"class":316},"          \u002F\u002F Zod schema for arguments\n",[254,1515,1516,1518,1520,1522,1525,1528,1530,1532,1534],{"class":256,"line":353},[254,1517,356],{"class":304},[254,1519,339],{"class":264},[254,1521,362],{"class":361},[254,1523,1524],{"class":264}," (",[254,1526,1527],{"class":1000},"args",[254,1529,221],{"class":264},[254,1531,368],{"class":361},[254,1533,265],{"class":264},[254,1535,1536],{"class":316},"    \u002F\u002F Handler with arguments\n",[254,1538,1539,1541,1543,1546,1548,1550,1552,1555],{"class":256,"line":374},[254,1540,626],{"class":260},[254,1542,629],{"class":264},[254,1544,1545],{"class":281},"Prompt text with ",[254,1547,635],{"class":264},[254,1549,1527],{"class":268},[254,1551,555],{"class":264},[254,1553,1554],{"class":268},"param",[254,1556,1557],{"class":264},"}`\n",[254,1559,1560],{"class":256,"line":380},[254,1561,383],{"class":264},[254,1563,1564,1566],{"class":256,"line":386},[254,1565,389],{"class":264},[254,1567,392],{"class":268},[145,1569,1571],{"id":1570},"input-schema","Input Schema",[150,1573,1574],{},"Use Zod to define and validate prompt arguments:",[244,1576,1579],{"className":246,"code":1577,"filename":1578,"language":249,"meta":250,"style":250},"import { z } from 'zod'\nimport { defineMcpPrompt } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpPrompt({\n  name: 'translate',\n  inputSchema: {\n    \u002F\u002F Required string argument\n    text: z.string().describe('Text to translate'),\n\n    \u002F\u002F Required enum argument\n    targetLanguage: z.enum(['en', 'fr', 'es', 'de']).describe('Target language'),\n\n    \u002F\u002F Optional argument\n    sourceLanguage: z.string().optional().describe('Source language (auto-detect if not provided)'),\n\n    \u002F\u002F Optional with default\n    formality: z.enum(['formal', 'informal']).default('formal'),\n  },\n  handler: async ({ text, targetLanguage, sourceLanguage, formality }) => {\n    \u002F\u002F Implementation\n  },\n})\n","server\u002Fmcp\u002Fprompts\u002Ftranslate.ts",[205,1580,1581,1599,1617,1621,1633,1648,1656,1661,1692,1696,1701,1772,1776,1781,1819,1823,1828,1878,1882,1915,1921,1926],{"__ignoreMap":250},[254,1582,1583,1585,1587,1589,1591,1593,1595,1597],{"class":256,"line":257},[254,1584,261],{"class":260},[254,1586,265],{"class":264},[254,1588,810],{"class":268},[254,1590,272],{"class":264},[254,1592,275],{"class":260},[254,1594,278],{"class":264},[254,1596,819],{"class":281},[254,1598,285],{"class":264},[254,1600,1601,1603,1605,1607,1609,1611,1613,1615],{"class":256,"line":288},[254,1602,261],{"class":260},[254,1604,265],{"class":264},[254,1606,269],{"class":268},[254,1608,272],{"class":264},[254,1610,275],{"class":260},[254,1612,278],{"class":264},[254,1614,282],{"class":281},[254,1616,285],{"class":264},[254,1618,1619],{"class":256,"line":295},[254,1620,292],{"emptyLinePlaceholder":291},[254,1622,1623,1625,1627,1629,1631],{"class":256,"line":313},[254,1624,298],{"class":260},[254,1626,301],{"class":260},[254,1628,269],{"class":304},[254,1630,307],{"class":268},[254,1632,310],{"class":264},[254,1634,1635,1637,1639,1641,1644,1646],{"class":256,"line":320},[254,1636,479],{"class":335},[254,1638,339],{"class":264},[254,1640,278],{"class":264},[254,1642,1643],{"class":281},"translate",[254,1645,347],{"class":264},[254,1647,350],{"class":264},[254,1649,1650,1652,1654],{"class":256,"line":326},[254,1651,905],{"class":335},[254,1653,339],{"class":264},[254,1655,371],{"class":264},[254,1657,1658],{"class":256,"line":332},[254,1659,1660],{"class":316},"    \u002F\u002F Required string argument\n",[254,1662,1663,1665,1667,1669,1671,1673,1675,1677,1679,1681,1683,1686,1688,1690],{"class":256,"line":353},[254,1664,914],{"class":335},[254,1666,339],{"class":264},[254,1668,810],{"class":268},[254,1670,555],{"class":264},[254,1672,923],{"class":304},[254,1674,552],{"class":268},[254,1676,555],{"class":264},[254,1678,930],{"class":304},[254,1680,307],{"class":268},[254,1682,347],{"class":264},[254,1684,1685],{"class":281},"Text to translate",[254,1687,347],{"class":264},[254,1689,221],{"class":268},[254,1691,350],{"class":264},[254,1693,1694],{"class":256,"line":374},[254,1695,292],{"emptyLinePlaceholder":291},[254,1697,1698],{"class":256,"line":380},[254,1699,1700],{"class":316},"    \u002F\u002F Required enum argument\n",[254,1702,1703,1706,1708,1710,1712,1715,1718,1720,1723,1725,1727,1729,1732,1734,1736,1738,1741,1743,1745,1747,1750,1752,1755,1757,1759,1761,1763,1766,1768,1770],{"class":256,"line":386},[254,1704,1705],{"class":335},"    targetLanguage",[254,1707,339],{"class":264},[254,1709,810],{"class":268},[254,1711,555],{"class":264},[254,1713,1714],{"class":304},"enum",[254,1716,1717],{"class":268},"([",[254,1719,347],{"class":264},[254,1721,1722],{"class":281},"en",[254,1724,347],{"class":264},[254,1726,1004],{"class":264},[254,1728,278],{"class":264},[254,1730,1731],{"class":281},"fr",[254,1733,347],{"class":264},[254,1735,1004],{"class":264},[254,1737,278],{"class":264},[254,1739,1740],{"class":281},"es",[254,1742,347],{"class":264},[254,1744,1004],{"class":264},[254,1746,278],{"class":264},[254,1748,1749],{"class":281},"de",[254,1751,347],{"class":264},[254,1753,1754],{"class":268},"])",[254,1756,555],{"class":264},[254,1758,930],{"class":304},[254,1760,307],{"class":268},[254,1762,347],{"class":264},[254,1764,1765],{"class":281},"Target language",[254,1767,347],{"class":264},[254,1769,221],{"class":268},[254,1771,350],{"class":264},[254,1773,1774],{"class":256,"line":649},[254,1775,292],{"emptyLinePlaceholder":291},[254,1777,1778],{"class":256,"line":654},[254,1779,1780],{"class":316},"    \u002F\u002F Optional argument\n",[254,1782,1783,1786,1788,1790,1792,1794,1796,1798,1800,1802,1804,1806,1808,1810,1813,1815,1817],{"class":256,"line":1045},[254,1784,1785],{"class":335},"    sourceLanguage",[254,1787,339],{"class":264},[254,1789,810],{"class":268},[254,1791,555],{"class":264},[254,1793,923],{"class":304},[254,1795,552],{"class":268},[254,1797,555],{"class":264},[254,1799,963],{"class":304},[254,1801,552],{"class":268},[254,1803,555],{"class":264},[254,1805,930],{"class":304},[254,1807,307],{"class":268},[254,1809,347],{"class":264},[254,1811,1812],{"class":281},"Source language (auto-detect if not provided)",[254,1814,347],{"class":264},[254,1816,221],{"class":268},[254,1818,350],{"class":264},[254,1820,1821],{"class":256,"line":1103},[254,1822,292],{"emptyLinePlaceholder":291},[254,1824,1825],{"class":256,"line":1144},[254,1826,1827],{"class":316},"    \u002F\u002F Optional with default\n",[254,1829,1830,1833,1835,1837,1839,1841,1843,1845,1848,1850,1852,1854,1857,1859,1861,1863,1866,1868,1870,1872,1874,1876],{"class":256,"line":1149},[254,1831,1832],{"class":335},"    formality",[254,1834,339],{"class":264},[254,1836,810],{"class":268},[254,1838,555],{"class":264},[254,1840,1714],{"class":304},[254,1842,1717],{"class":268},[254,1844,347],{"class":264},[254,1846,1847],{"class":281},"formal",[254,1849,347],{"class":264},[254,1851,1004],{"class":264},[254,1853,278],{"class":264},[254,1855,1856],{"class":281},"informal",[254,1858,347],{"class":264},[254,1860,1754],{"class":268},[254,1862,555],{"class":264},[254,1864,1865],{"class":304},"default",[254,1867,307],{"class":268},[254,1869,347],{"class":264},[254,1871,1847],{"class":281},[254,1873,347],{"class":264},[254,1875,221],{"class":268},[254,1877,350],{"class":264},[254,1879,1880],{"class":256,"line":1205},[254,1881,383],{"class":264},[254,1883,1884,1886,1888,1890,1892,1894,1896,1899,1901,1904,1906,1909,1911,1913],{"class":256,"line":1210},[254,1885,356],{"class":304},[254,1887,339],{"class":264},[254,1889,362],{"class":361},[254,1891,997],{"class":264},[254,1893,1001],{"class":1000},[254,1895,1004],{"class":264},[254,1897,1898],{"class":1000}," targetLanguage",[254,1900,1004],{"class":264},[254,1902,1903],{"class":1000}," sourceLanguage",[254,1905,1004],{"class":264},[254,1907,1908],{"class":1000}," formality",[254,1910,1010],{"class":264},[254,1912,368],{"class":361},[254,1914,371],{"class":264},[254,1916,1918],{"class":256,"line":1917},20,[254,1919,1920],{"class":316},"    \u002F\u002F Implementation\n",[254,1922,1924],{"class":256,"line":1923},21,[254,1925,383],{"class":264},[254,1927,1929,1931],{"class":256,"line":1928},22,[254,1930,389],{"class":264},[254,1932,392],{"class":268},[190,1934,1936],{"id":1935},"common-argument-types","Common Argument Types",[1938,1939,1940,1955],"table",{},[1941,1942,1943],"thead",{},[1944,1945,1946,1950,1953],"tr",{},[1947,1948,1949],"th",{},"Zod Type",[1947,1951,1952],{},"Example",[1947,1954,1489],{},[1956,1957,1958,1974,1989,2004],"tbody",{},[1944,1959,1960,1966,1971],{},[1961,1962,1963],"td",{},[205,1964,1965],{},"z.string()",[1961,1967,1968],{},[205,1969,1970],{},"z.string().min(1)",[1961,1972,1973],{},"String with validation",[1944,1975,1976,1981,1986],{},[1961,1977,1978],{},[205,1979,1980],{},"z.enum()",[1961,1982,1983],{},[205,1984,1985],{},"z.enum(['a', 'b'])",[1961,1987,1988],{},"Enumeration",[1944,1990,1991,1996,2001],{},[1961,1992,1993],{},[205,1994,1995],{},"z.optional()",[1961,1997,1998],{},[205,1999,2000],{},"z.string().optional()",[1961,2002,2003],{},"Optional field",[1944,2005,2006,2011,2016],{},[1961,2007,2008],{},[205,2009,2010],{},"z.default()",[1961,2012,2013],{},[205,2014,2015],{},"z.string().default('value')",[1961,2017,2018],{},"Field with default",[773,2020,2021,2024,2025,2027],{"color":775,"icon":776},[201,2022,2023],{},"Note",": Prompt arguments must be strings. Use ",[205,2026,1965],{}," and convert to other types in your handler if needed.",[190,2029,2031],{"id":2030},"argument-autocompletion","Argument Autocompletion",[150,2033,2034,2035,2038],{},"Wrap a schema field with ",[205,2036,2037],{},"completable()"," to provide autocompletion suggestions when clients fill in prompt arguments:",[244,2040,2043],{"className":246,"code":2041,"filename":2042,"language":249,"meta":250,"style":250},"export default defineMcpPrompt({\n  description: 'Review code for best practices',\n  inputSchema: {\n    language: completable(\n      z.string().describe('Programming language'),\n      value => ['typescript', 'javascript', 'python', 'rust', 'go']\n        .filter(lang => lang.startsWith(value)),\n    ),\n  },\n  handler: async ({ language }) => {\n    return `Review the following ${language} code for best practices and potential issues.`\n  },\n})\n","server\u002Fmcp\u002Fprompts\u002Freview-code.ts",[205,2044,2045,2057,2072,2080,2093,2121,2176,2204,2211,2215,2234,2255,2259],{"__ignoreMap":250},[254,2046,2047,2049,2051,2053,2055],{"class":256,"line":257},[254,2048,298],{"class":260},[254,2050,301],{"class":260},[254,2052,269],{"class":304},[254,2054,307],{"class":268},[254,2056,310],{"class":264},[254,2058,2059,2061,2063,2065,2068,2070],{"class":256,"line":288},[254,2060,336],{"class":335},[254,2062,339],{"class":264},[254,2064,278],{"class":264},[254,2066,2067],{"class":281},"Review code for best practices",[254,2069,347],{"class":264},[254,2071,350],{"class":264},[254,2073,2074,2076,2078],{"class":256,"line":295},[254,2075,905],{"class":335},[254,2077,339],{"class":264},[254,2079,371],{"class":264},[254,2081,2082,2085,2087,2090],{"class":256,"line":313},[254,2083,2084],{"class":335},"    language",[254,2086,339],{"class":264},[254,2088,2089],{"class":304}," completable",[254,2091,2092],{"class":268},"(\n",[254,2094,2095,2098,2100,2102,2104,2106,2108,2110,2112,2115,2117,2119],{"class":256,"line":320},[254,2096,2097],{"class":268},"      z",[254,2099,555],{"class":264},[254,2101,923],{"class":304},[254,2103,552],{"class":268},[254,2105,555],{"class":264},[254,2107,930],{"class":304},[254,2109,307],{"class":268},[254,2111,347],{"class":264},[254,2113,2114],{"class":281},"Programming language",[254,2116,347],{"class":264},[254,2118,221],{"class":268},[254,2120,350],{"class":264},[254,2122,2123,2126,2128,2131,2133,2135,2137,2139,2141,2144,2146,2148,2150,2153,2155,2157,2159,2162,2164,2166,2168,2171,2173],{"class":256,"line":326},[254,2124,2125],{"class":1000},"      value",[254,2127,368],{"class":361},[254,2129,2130],{"class":268}," [",[254,2132,347],{"class":264},[254,2134,249],{"class":281},[254,2136,347],{"class":264},[254,2138,1004],{"class":264},[254,2140,278],{"class":264},[254,2142,2143],{"class":281},"javascript",[254,2145,347],{"class":264},[254,2147,1004],{"class":264},[254,2149,278],{"class":264},[254,2151,2152],{"class":281},"python",[254,2154,347],{"class":264},[254,2156,1004],{"class":264},[254,2158,278],{"class":264},[254,2160,2161],{"class":281},"rust",[254,2163,347],{"class":264},[254,2165,1004],{"class":264},[254,2167,278],{"class":264},[254,2169,2170],{"class":281},"go",[254,2172,347],{"class":264},[254,2174,2175],{"class":268},"]\n",[254,2177,2178,2181,2184,2186,2189,2191,2194,2196,2199,2202],{"class":256,"line":332},[254,2179,2180],{"class":264},"        .",[254,2182,2183],{"class":304},"filter",[254,2185,307],{"class":268},[254,2187,2188],{"class":1000},"lang",[254,2190,368],{"class":361},[254,2192,2193],{"class":268}," lang",[254,2195,555],{"class":264},[254,2197,2198],{"class":304},"startsWith",[254,2200,2201],{"class":268},"(value))",[254,2203,350],{"class":264},[254,2205,2206,2209],{"class":256,"line":353},[254,2207,2208],{"class":268},"    )",[254,2210,350],{"class":264},[254,2212,2213],{"class":256,"line":374},[254,2214,383],{"class":264},[254,2216,2217,2219,2221,2223,2225,2228,2230,2232],{"class":256,"line":380},[254,2218,356],{"class":304},[254,2220,339],{"class":264},[254,2222,362],{"class":361},[254,2224,997],{"class":264},[254,2226,2227],{"class":1000}," language",[254,2229,1010],{"class":264},[254,2231,368],{"class":361},[254,2233,371],{"class":264},[254,2235,2236,2238,2240,2243,2245,2248,2250,2253],{"class":256,"line":386},[254,2237,626],{"class":260},[254,2239,629],{"class":264},[254,2241,2242],{"class":281},"Review the following ",[254,2244,635],{"class":264},[254,2246,2247],{"class":268},"language",[254,2249,389],{"class":264},[254,2251,2252],{"class":281}," code for best practices and potential issues.",[254,2254,646],{"class":264},[254,2256,2257],{"class":256,"line":649},[254,2258,383],{"class":264},[254,2260,2261,2263],{"class":256,"line":654},[254,2262,389],{"class":264},[254,2264,392],{"class":268},[150,2266,777,2267,2270],{},[205,2268,2269],{},"completable"," helper is auto-imported and re-exported from the MCP SDK. The callback receives the current input value and returns matching suggestions.",[145,2272,2274],{"id":2273},"handler-function","Handler Function",[150,2276,2277,2278,2281],{},"The handler receives validated arguments (if ",[205,2279,2280],{},"inputSchema"," is provided) and returns a prompt result.",[190,2283,2285],{"id":2284},"return-types","Return Types",[150,2287,2288],{},"Handlers support two return types:",[1223,2290,2291,2365],{},[244,2292,2295],{"className":246,"code":2293,"filename":2294,"language":249,"meta":250,"style":250},"\u002F\u002F Return a string — auto-wrapped into a single user message\nhandler: async () => 'You are a helpful assistant.'\n\n\u002F\u002F With arguments\nhandler: async ({ topic }) => `Help me understand ${topic}.`\n","String (recommended)",[205,2296,2297,2302,2323,2327,2332],{"__ignoreMap":250},[254,2298,2299],{"class":256,"line":257},[254,2300,2301],{"class":316},"\u002F\u002F Return a string — auto-wrapped into a single user message\n",[254,2303,2304,2308,2310,2312,2314,2316,2318,2321],{"class":256,"line":288},[254,2305,2307],{"class":2306},"sBMFI","handler",[254,2309,339],{"class":264},[254,2311,362],{"class":361},[254,2313,365],{"class":264},[254,2315,368],{"class":361},[254,2317,278],{"class":264},[254,2319,2320],{"class":281},"You are a helpful assistant.",[254,2322,285],{"class":264},[254,2324,2325],{"class":256,"line":295},[254,2326,292],{"emptyLinePlaceholder":291},[254,2328,2329],{"class":256,"line":313},[254,2330,2331],{"class":316},"\u002F\u002F With arguments\n",[254,2333,2334,2336,2338,2340,2342,2345,2347,2349,2351,2354,2356,2359,2361,2363],{"class":256,"line":320},[254,2335,2307],{"class":2306},[254,2337,339],{"class":264},[254,2339,362],{"class":361},[254,2341,997],{"class":264},[254,2343,2344],{"class":1000}," topic",[254,2346,1010],{"class":264},[254,2348,368],{"class":361},[254,2350,629],{"class":264},[254,2352,2353],{"class":281},"Help me understand ",[254,2355,635],{"class":264},[254,2357,2358],{"class":268},"topic",[254,2360,389],{"class":264},[254,2362,555],{"class":281},[254,2364,646],{"class":264},[244,2366,2369],{"className":246,"code":2367,"filename":2368,"language":249,"meta":250,"style":250},"\u002F\u002F Return the full MCP result for multi-message or assistant-role prompts\nhandler: async () => ({\n  messages: [\n    { role: 'user', content: { type: 'text', text: 'Review this code.' } },\n    { role: 'assistant', content: { type: 'text', text: 'I will review it.' } },\n  ],\n})\n","Full GetPromptResult",[205,2370,2371,2376,2392,2402,2457,2506,2513],{"__ignoreMap":250},[254,2372,2373],{"class":256,"line":257},[254,2374,2375],{"class":316},"\u002F\u002F Return the full MCP result for multi-message or assistant-role prompts\n",[254,2377,2378,2380,2382,2384,2386,2388,2390],{"class":256,"line":288},[254,2379,2307],{"class":2306},[254,2381,339],{"class":264},[254,2383,362],{"class":361},[254,2385,365],{"class":264},[254,2387,368],{"class":361},[254,2389,1524],{"class":268},[254,2391,310],{"class":264},[254,2393,2394,2397,2399],{"class":256,"line":295},[254,2395,2396],{"class":335},"  messages",[254,2398,339],{"class":264},[254,2400,2401],{"class":268}," [\n",[254,2403,2404,2407,2410,2412,2414,2416,2418,2420,2423,2425,2427,2430,2432,2434,2437,2439,2441,2443,2445,2447,2450,2452,2454],{"class":256,"line":313},[254,2405,2406],{"class":264},"    {",[254,2408,2409],{"class":335}," role",[254,2411,339],{"class":264},[254,2413,278],{"class":264},[254,2415,668],{"class":281},[254,2417,347],{"class":264},[254,2419,1004],{"class":264},[254,2421,2422],{"class":335}," content",[254,2424,339],{"class":264},[254,2426,265],{"class":264},[254,2428,2429],{"class":335}," type",[254,2431,339],{"class":264},[254,2433,278],{"class":264},[254,2435,2436],{"class":281},"text",[254,2438,347],{"class":264},[254,2440,1004],{"class":264},[254,2442,1001],{"class":335},[254,2444,339],{"class":264},[254,2446,278],{"class":264},[254,2448,2449],{"class":281},"Review this code.",[254,2451,347],{"class":264},[254,2453,272],{"class":264},[254,2455,2456],{"class":264}," },\n",[254,2458,2459,2461,2463,2465,2467,2469,2471,2473,2475,2477,2479,2481,2483,2485,2487,2489,2491,2493,2495,2497,2500,2502,2504],{"class":256,"line":320},[254,2460,2406],{"class":264},[254,2462,2409],{"class":335},[254,2464,339],{"class":264},[254,2466,278],{"class":264},[254,2468,725],{"class":281},[254,2470,347],{"class":264},[254,2472,1004],{"class":264},[254,2474,2422],{"class":335},[254,2476,339],{"class":264},[254,2478,265],{"class":264},[254,2480,2429],{"class":335},[254,2482,339],{"class":264},[254,2484,278],{"class":264},[254,2486,2436],{"class":281},[254,2488,347],{"class":264},[254,2490,1004],{"class":264},[254,2492,1001],{"class":335},[254,2494,339],{"class":264},[254,2496,278],{"class":264},[254,2498,2499],{"class":281},"I will review it.",[254,2501,347],{"class":264},[254,2503,272],{"class":264},[254,2505,2456],{"class":264},[254,2507,2508,2511],{"class":256,"line":326},[254,2509,2510],{"class":268},"  ]",[254,2512,350],{"class":264},[254,2514,2515,2517],{"class":256,"line":332},[254,2516,389],{"class":264},[254,2518,392],{"class":268},[773,2520,2521,2522,2525,2526,2528,2529,2532],{"color":775,"icon":776},"When returning a string, it is automatically wrapped into ",[205,2523,2524],{},"{ messages: [{ role, content: { type: 'text', text: '...' } }] }"," using the ",[205,2527,672],{}," option (defaults to ",[205,2530,2531],{},"'user'",").",[190,2534,2536],{"id":2535},"handler-arguments","Handler Arguments",[244,2538,2540],{"className":246,"code":2539,"language":249,"meta":250,"style":250},"\u002F\u002F Without inputSchema — no arguments\nhandler: async () => 'Message text'\n\n\u002F\u002F With inputSchema — receives validated arguments\nhandler: async (args, extra) => {\n  \u002F\u002F args: Validated arguments matching inputSchema\n  \u002F\u002F extra: Request handler extra information\n  return `Message with ${args.param}`\n}\n",[205,2541,2542,2547,2566,2570,2575,2598,2603,2608,2628],{"__ignoreMap":250},[254,2543,2544],{"class":256,"line":257},[254,2545,2546],{"class":316},"\u002F\u002F Without inputSchema — no arguments\n",[254,2548,2549,2551,2553,2555,2557,2559,2561,2564],{"class":256,"line":288},[254,2550,2307],{"class":2306},[254,2552,339],{"class":264},[254,2554,362],{"class":361},[254,2556,365],{"class":264},[254,2558,368],{"class":361},[254,2560,278],{"class":264},[254,2562,2563],{"class":281},"Message text",[254,2565,285],{"class":264},[254,2567,2568],{"class":256,"line":295},[254,2569,292],{"emptyLinePlaceholder":291},[254,2571,2572],{"class":256,"line":313},[254,2573,2574],{"class":316},"\u002F\u002F With inputSchema — receives validated arguments\n",[254,2576,2577,2579,2581,2583,2585,2587,2589,2592,2594,2596],{"class":256,"line":320},[254,2578,2307],{"class":2306},[254,2580,339],{"class":264},[254,2582,362],{"class":361},[254,2584,1524],{"class":264},[254,2586,1527],{"class":1000},[254,2588,1004],{"class":264},[254,2590,2591],{"class":1000}," extra",[254,2593,221],{"class":264},[254,2595,368],{"class":361},[254,2597,371],{"class":264},[254,2599,2600],{"class":256,"line":326},[254,2601,2602],{"class":316},"  \u002F\u002F args: Validated arguments matching inputSchema\n",[254,2604,2605],{"class":256,"line":332},[254,2606,2607],{"class":316},"  \u002F\u002F extra: Request handler extra information\n",[254,2609,2610,2613,2615,2618,2620,2622,2624,2626],{"class":256,"line":353},[254,2611,2612],{"class":260},"  return",[254,2614,629],{"class":264},[254,2616,2617],{"class":281},"Message with ",[254,2619,635],{"class":264},[254,2621,1527],{"class":268},[254,2623,555],{"class":264},[254,2625,1554],{"class":268},[254,2627,1557],{"class":264},[254,2629,2630],{"class":256,"line":374},[254,2631,2632],{"class":264},"}\n",[145,2634,2636],{"id":2635},"message-roles","Message Roles",[150,2638,2639],{},"Prompts can return messages with different roles:",[1223,2641,2642,2739],{},[244,2643,2646],{"className":246,"code":2644,"filename":2645,"language":249,"meta":250,"style":250},"return {\n  messages: [{\n    role: 'user',\n    content: {\n      type: 'text',\n      text: 'User message with instructions',\n    },\n  }],\n}\n","User Message",[205,2647,2648,2655,2665,2680,2689,2704,2720,2725,2735],{"__ignoreMap":250},[254,2649,2650,2653],{"class":256,"line":257},[254,2651,2652],{"class":260},"return",[254,2654,371],{"class":264},[254,2656,2657,2659,2661,2663],{"class":256,"line":288},[254,2658,2396],{"class":335},[254,2660,339],{"class":264},[254,2662,2130],{"class":268},[254,2664,310],{"class":264},[254,2666,2667,2670,2672,2674,2676,2678],{"class":256,"line":295},[254,2668,2669],{"class":335},"    role",[254,2671,339],{"class":264},[254,2673,278],{"class":264},[254,2675,668],{"class":281},[254,2677,347],{"class":264},[254,2679,350],{"class":264},[254,2681,2682,2685,2687],{"class":256,"line":313},[254,2683,2684],{"class":335},"    content",[254,2686,339],{"class":264},[254,2688,371],{"class":264},[254,2690,2691,2694,2696,2698,2700,2702],{"class":256,"line":320},[254,2692,2693],{"class":335},"      type",[254,2695,339],{"class":264},[254,2697,278],{"class":264},[254,2699,2436],{"class":281},[254,2701,347],{"class":264},[254,2703,350],{"class":264},[254,2705,2706,2709,2711,2713,2716,2718],{"class":256,"line":326},[254,2707,2708],{"class":335},"      text",[254,2710,339],{"class":264},[254,2712,278],{"class":264},[254,2714,2715],{"class":281},"User message with instructions",[254,2717,347],{"class":264},[254,2719,350],{"class":264},[254,2721,2722],{"class":256,"line":332},[254,2723,2724],{"class":264},"    },\n",[254,2726,2727,2730,2733],{"class":256,"line":353},[254,2728,2729],{"class":264},"  }",[254,2731,2732],{"class":268},"]",[254,2734,350],{"class":264},[254,2736,2737],{"class":256,"line":374},[254,2738,2632],{"class":264},[244,2740,2743],{"className":246,"code":2741,"filename":2742,"language":249,"meta":250,"style":250},"return {\n  messages: [{\n    role: 'assistant',\n    content: {\n      type: 'text',\n      text: 'Pre-filled assistant response',\n    },\n  }],\n}\n","Assistant Message",[205,2744,2745,2751,2761,2775,2783,2797,2812,2816,2824],{"__ignoreMap":250},[254,2746,2747,2749],{"class":256,"line":257},[254,2748,2652],{"class":260},[254,2750,371],{"class":264},[254,2752,2753,2755,2757,2759],{"class":256,"line":288},[254,2754,2396],{"class":335},[254,2756,339],{"class":264},[254,2758,2130],{"class":268},[254,2760,310],{"class":264},[254,2762,2763,2765,2767,2769,2771,2773],{"class":256,"line":295},[254,2764,2669],{"class":335},[254,2766,339],{"class":264},[254,2768,278],{"class":264},[254,2770,725],{"class":281},[254,2772,347],{"class":264},[254,2774,350],{"class":264},[254,2776,2777,2779,2781],{"class":256,"line":313},[254,2778,2684],{"class":335},[254,2780,339],{"class":264},[254,2782,371],{"class":264},[254,2784,2785,2787,2789,2791,2793,2795],{"class":256,"line":320},[254,2786,2693],{"class":335},[254,2788,339],{"class":264},[254,2790,278],{"class":264},[254,2792,2436],{"class":281},[254,2794,347],{"class":264},[254,2796,350],{"class":264},[254,2798,2799,2801,2803,2805,2808,2810],{"class":256,"line":326},[254,2800,2708],{"class":335},[254,2802,339],{"class":264},[254,2804,278],{"class":264},[254,2806,2807],{"class":281},"Pre-filled assistant response",[254,2809,347],{"class":264},[254,2811,350],{"class":264},[254,2813,2814],{"class":256,"line":332},[254,2815,2724],{"class":264},[254,2817,2818,2820,2822],{"class":256,"line":353},[254,2819,2729],{"class":264},[254,2821,2732],{"class":268},[254,2823,350],{"class":264},[254,2825,2826],{"class":256,"line":374},[254,2827,2632],{"class":264},[773,2829,2830,2832,2833,238,2835,2837,2838,2840],{"color":775,"icon":776},[201,2831,2023],{},": The MCP specification only supports ",[205,2834,668],{},[205,2836,725],{}," roles. To provide context or instructions, include them in the ",[205,2839,668],{}," message text.",[145,2842,2844],{"id":2843},"multiple-messages","Multiple Messages",[150,2846,2847],{},"Return multiple messages to create a conversation flow:",[244,2849,2852],{"className":246,"code":2850,"filename":2851,"language":249,"meta":250,"style":250},"import { defineMcpPrompt } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpPrompt({\n  name: 'conversation-starter',\n  inputSchema: {\n    topic: z.string().describe('Conversation topic'),\n  },\n  handler: async ({ topic }) => {\n    return {\n      messages: [\n        {\n          role: 'user',\n          content: {\n            type: 'text',\n            text: `You are a helpful assistant. Let's discuss ${topic}.`,\n          },\n        },\n        {\n          role: 'assistant',\n          content: {\n            type: 'text',\n            text: `I'd be happy to discuss ${topic} with you.`,\n          },\n        },\n      ],\n    }\n  },\n})\n","server\u002Fmcp\u002Fprompts\u002Fconversation.ts",[205,2853,2854,2872,2876,2888,2903,2911,2943,2947,2965,2971,2980,2985,3000,3009,3024,3049,3054,3059,3063,3077,3085,3099,3123,3128,3133,3141,3147,3152],{"__ignoreMap":250},[254,2855,2856,2858,2860,2862,2864,2866,2868,2870],{"class":256,"line":257},[254,2857,261],{"class":260},[254,2859,265],{"class":264},[254,2861,269],{"class":268},[254,2863,272],{"class":264},[254,2865,275],{"class":260},[254,2867,278],{"class":264},[254,2869,282],{"class":281},[254,2871,285],{"class":264},[254,2873,2874],{"class":256,"line":288},[254,2875,292],{"emptyLinePlaceholder":291},[254,2877,2878,2880,2882,2884,2886],{"class":256,"line":295},[254,2879,298],{"class":260},[254,2881,301],{"class":260},[254,2883,269],{"class":304},[254,2885,307],{"class":268},[254,2887,310],{"class":264},[254,2889,2890,2892,2894,2896,2899,2901],{"class":256,"line":313},[254,2891,479],{"class":335},[254,2893,339],{"class":264},[254,2895,278],{"class":264},[254,2897,2898],{"class":281},"conversation-starter",[254,2900,347],{"class":264},[254,2902,350],{"class":264},[254,2904,2905,2907,2909],{"class":256,"line":320},[254,2906,905],{"class":335},[254,2908,339],{"class":264},[254,2910,371],{"class":264},[254,2912,2913,2916,2918,2920,2922,2924,2926,2928,2930,2932,2934,2937,2939,2941],{"class":256,"line":326},[254,2914,2915],{"class":335},"    topic",[254,2917,339],{"class":264},[254,2919,810],{"class":268},[254,2921,555],{"class":264},[254,2923,923],{"class":304},[254,2925,552],{"class":268},[254,2927,555],{"class":264},[254,2929,930],{"class":304},[254,2931,307],{"class":268},[254,2933,347],{"class":264},[254,2935,2936],{"class":281},"Conversation topic",[254,2938,347],{"class":264},[254,2940,221],{"class":268},[254,2942,350],{"class":264},[254,2944,2945],{"class":256,"line":332},[254,2946,383],{"class":264},[254,2948,2949,2951,2953,2955,2957,2959,2961,2963],{"class":256,"line":353},[254,2950,356],{"class":304},[254,2952,339],{"class":264},[254,2954,362],{"class":361},[254,2956,997],{"class":264},[254,2958,2344],{"class":1000},[254,2960,1010],{"class":264},[254,2962,368],{"class":361},[254,2964,371],{"class":264},[254,2966,2967,2969],{"class":256,"line":374},[254,2968,626],{"class":260},[254,2970,371],{"class":264},[254,2972,2973,2976,2978],{"class":256,"line":380},[254,2974,2975],{"class":335},"      messages",[254,2977,339],{"class":264},[254,2979,2401],{"class":335},[254,2981,2982],{"class":256,"line":386},[254,2983,2984],{"class":264},"        {\n",[254,2986,2987,2990,2992,2994,2996,2998],{"class":256,"line":649},[254,2988,2989],{"class":335},"          role",[254,2991,339],{"class":264},[254,2993,278],{"class":264},[254,2995,668],{"class":281},[254,2997,347],{"class":264},[254,2999,350],{"class":264},[254,3001,3002,3005,3007],{"class":256,"line":654},[254,3003,3004],{"class":335},"          content",[254,3006,339],{"class":264},[254,3008,371],{"class":264},[254,3010,3011,3014,3016,3018,3020,3022],{"class":256,"line":1045},[254,3012,3013],{"class":335},"            type",[254,3015,339],{"class":264},[254,3017,278],{"class":264},[254,3019,2436],{"class":281},[254,3021,347],{"class":264},[254,3023,350],{"class":264},[254,3025,3026,3029,3031,3033,3036,3038,3040,3042,3044,3047],{"class":256,"line":1103},[254,3027,3028],{"class":335},"            text",[254,3030,339],{"class":264},[254,3032,629],{"class":264},[254,3034,3035],{"class":281},"You are a helpful assistant. Let's discuss ",[254,3037,635],{"class":264},[254,3039,2358],{"class":268},[254,3041,389],{"class":264},[254,3043,555],{"class":281},[254,3045,3046],{"class":264},"`",[254,3048,350],{"class":264},[254,3050,3051],{"class":256,"line":1144},[254,3052,3053],{"class":264},"          },\n",[254,3055,3056],{"class":256,"line":1149},[254,3057,3058],{"class":264},"        },\n",[254,3060,3061],{"class":256,"line":1205},[254,3062,2984],{"class":264},[254,3064,3065,3067,3069,3071,3073,3075],{"class":256,"line":1210},[254,3066,2989],{"class":335},[254,3068,339],{"class":264},[254,3070,278],{"class":264},[254,3072,725],{"class":281},[254,3074,347],{"class":264},[254,3076,350],{"class":264},[254,3078,3079,3081,3083],{"class":256,"line":1917},[254,3080,3004],{"class":335},[254,3082,339],{"class":264},[254,3084,371],{"class":264},[254,3086,3087,3089,3091,3093,3095,3097],{"class":256,"line":1923},[254,3088,3013],{"class":335},[254,3090,339],{"class":264},[254,3092,278],{"class":264},[254,3094,2436],{"class":281},[254,3096,347],{"class":264},[254,3098,350],{"class":264},[254,3100,3101,3103,3105,3107,3110,3112,3114,3116,3119,3121],{"class":256,"line":1928},[254,3102,3028],{"class":335},[254,3104,339],{"class":264},[254,3106,629],{"class":264},[254,3108,3109],{"class":281},"I'd be happy to discuss ",[254,3111,635],{"class":264},[254,3113,2358],{"class":268},[254,3115,389],{"class":264},[254,3117,3118],{"class":281}," with you.",[254,3120,3046],{"class":264},[254,3122,350],{"class":264},[254,3124,3126],{"class":256,"line":3125},23,[254,3127,3053],{"class":264},[254,3129,3131],{"class":256,"line":3130},24,[254,3132,3058],{"class":264},[254,3134,3136,3139],{"class":256,"line":3135},25,[254,3137,3138],{"class":335},"      ]",[254,3140,350],{"class":264},[254,3142,3144],{"class":256,"line":3143},26,[254,3145,3146],{"class":264},"    }\n",[254,3148,3150],{"class":256,"line":3149},27,[254,3151,383],{"class":264},[254,3153,3155,3157],{"class":256,"line":3154},28,[254,3156,389],{"class":264},[254,3158,392],{"class":268},[145,3160,3162],{"id":3161},"use-cases","Use Cases",[150,3164,3165],{},"Prompts are particularly useful for:",[190,3167,3169],{"id":3168},"_1-setup-and-onboarding","1. Setup and Onboarding",[150,3171,3172],{},"Help new developers or AI assistants understand how to work with your codebase:",[244,3174,3177],{"className":246,"code":3175,"filename":3176,"language":249,"meta":250,"style":250},"import { defineMcpPrompt } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpPrompt({\n  description: 'Provide complete setup instructions for this project',\n  handler: async () => `You are setting up this Nuxt project. Here's what you need to know:\n\n1. Install dependencies: \\`pnpm install\\`\n2. Start dev server: \\`pnpm dev\\`\n3. Project structure follows Nuxt conventions\n4. MCP tools are available in server\u002Fmcp\u002F\n\nAsk me what you'd like to build!`,\n})\n","server\u002Fmcp\u002Fprompts\u002Fsetup-guide.ts",[205,3178,3179,3197,3201,3213,3228,3245,3249,3263,3275,3280,3285,3289,3298],{"__ignoreMap":250},[254,3180,3181,3183,3185,3187,3189,3191,3193,3195],{"class":256,"line":257},[254,3182,261],{"class":260},[254,3184,265],{"class":264},[254,3186,269],{"class":268},[254,3188,272],{"class":264},[254,3190,275],{"class":260},[254,3192,278],{"class":264},[254,3194,282],{"class":281},[254,3196,285],{"class":264},[254,3198,3199],{"class":256,"line":288},[254,3200,292],{"emptyLinePlaceholder":291},[254,3202,3203,3205,3207,3209,3211],{"class":256,"line":295},[254,3204,298],{"class":260},[254,3206,301],{"class":260},[254,3208,269],{"class":304},[254,3210,307],{"class":268},[254,3212,310],{"class":264},[254,3214,3215,3217,3219,3221,3224,3226],{"class":256,"line":313},[254,3216,336],{"class":335},[254,3218,339],{"class":264},[254,3220,278],{"class":264},[254,3222,3223],{"class":281},"Provide complete setup instructions for this project",[254,3225,347],{"class":264},[254,3227,350],{"class":264},[254,3229,3230,3232,3234,3236,3238,3240,3242],{"class":256,"line":320},[254,3231,356],{"class":304},[254,3233,339],{"class":264},[254,3235,362],{"class":361},[254,3237,365],{"class":264},[254,3239,368],{"class":361},[254,3241,629],{"class":264},[254,3243,3244],{"class":281},"You are setting up this Nuxt project. Here's what you need to know:\n",[254,3246,3247],{"class":256,"line":326},[254,3248,292],{"emptyLinePlaceholder":291},[254,3250,3251,3254,3257,3260],{"class":256,"line":332},[254,3252,3253],{"class":281},"1. Install dependencies: ",[254,3255,3256],{"class":268},"\\`",[254,3258,3259],{"class":281},"pnpm install",[254,3261,3262],{"class":268},"\\`\n",[254,3264,3265,3268,3270,3273],{"class":256,"line":353},[254,3266,3267],{"class":281},"2. Start dev server: ",[254,3269,3256],{"class":268},[254,3271,3272],{"class":281},"pnpm dev",[254,3274,3262],{"class":268},[254,3276,3277],{"class":256,"line":374},[254,3278,3279],{"class":281},"3. Project structure follows Nuxt conventions\n",[254,3281,3282],{"class":256,"line":380},[254,3283,3284],{"class":281},"4. MCP tools are available in server\u002Fmcp\u002F\n",[254,3286,3287],{"class":256,"line":386},[254,3288,292],{"emptyLinePlaceholder":291},[254,3290,3291,3294,3296],{"class":256,"line":649},[254,3292,3293],{"class":281},"Ask me what you'd like to build!",[254,3295,3046],{"class":264},[254,3297,350],{"class":264},[254,3299,3300,3302],{"class":256,"line":654},[254,3301,389],{"class":264},[254,3303,392],{"class":268},[190,3305,3307],{"id":3306},"_2-code-review-standards","2. Code Review Standards",[150,3309,3310],{},"Ensure consistent code review criteria:",[244,3312,3315],{"className":246,"code":3313,"filename":3314,"language":249,"meta":250,"style":250},"import { z } from 'zod'\nimport { defineMcpPrompt } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpPrompt({\n  description: 'Apply team code review standards',\n  inputSchema: {\n    focus: z.enum(['security', 'performance', 'maintainability', 'all']).default('all'),\n  },\n  handler: async ({ focus }) => `You are a code reviewer following our team standards. Focus on: ${focus}.\n\nReview the code I provide, checking for best practices and potential issues.`,\n})\n","server\u002Fmcp\u002Fprompts\u002Freview-standards.ts",[205,3316,3317,3335,3353,3357,3369,3384,3392,3459,3463,3495,3499,3508],{"__ignoreMap":250},[254,3318,3319,3321,3323,3325,3327,3329,3331,3333],{"class":256,"line":257},[254,3320,261],{"class":260},[254,3322,265],{"class":264},[254,3324,810],{"class":268},[254,3326,272],{"class":264},[254,3328,275],{"class":260},[254,3330,278],{"class":264},[254,3332,819],{"class":281},[254,3334,285],{"class":264},[254,3336,3337,3339,3341,3343,3345,3347,3349,3351],{"class":256,"line":288},[254,3338,261],{"class":260},[254,3340,265],{"class":264},[254,3342,269],{"class":268},[254,3344,272],{"class":264},[254,3346,275],{"class":260},[254,3348,278],{"class":264},[254,3350,282],{"class":281},[254,3352,285],{"class":264},[254,3354,3355],{"class":256,"line":295},[254,3356,292],{"emptyLinePlaceholder":291},[254,3358,3359,3361,3363,3365,3367],{"class":256,"line":313},[254,3360,298],{"class":260},[254,3362,301],{"class":260},[254,3364,269],{"class":304},[254,3366,307],{"class":268},[254,3368,310],{"class":264},[254,3370,3371,3373,3375,3377,3380,3382],{"class":256,"line":320},[254,3372,336],{"class":335},[254,3374,339],{"class":264},[254,3376,278],{"class":264},[254,3378,3379],{"class":281},"Apply team code review standards",[254,3381,347],{"class":264},[254,3383,350],{"class":264},[254,3385,3386,3388,3390],{"class":256,"line":326},[254,3387,905],{"class":335},[254,3389,339],{"class":264},[254,3391,371],{"class":264},[254,3393,3394,3397,3399,3401,3403,3405,3407,3409,3412,3414,3416,3418,3421,3423,3425,3427,3430,3432,3434,3436,3439,3441,3443,3445,3447,3449,3451,3453,3455,3457],{"class":256,"line":332},[254,3395,3396],{"class":335},"    focus",[254,3398,339],{"class":264},[254,3400,810],{"class":268},[254,3402,555],{"class":264},[254,3404,1714],{"class":304},[254,3406,1717],{"class":268},[254,3408,347],{"class":264},[254,3410,3411],{"class":281},"security",[254,3413,347],{"class":264},[254,3415,1004],{"class":264},[254,3417,278],{"class":264},[254,3419,3420],{"class":281},"performance",[254,3422,347],{"class":264},[254,3424,1004],{"class":264},[254,3426,278],{"class":264},[254,3428,3429],{"class":281},"maintainability",[254,3431,347],{"class":264},[254,3433,1004],{"class":264},[254,3435,278],{"class":264},[254,3437,3438],{"class":281},"all",[254,3440,347],{"class":264},[254,3442,1754],{"class":268},[254,3444,555],{"class":264},[254,3446,1865],{"class":304},[254,3448,307],{"class":268},[254,3450,347],{"class":264},[254,3452,3438],{"class":281},[254,3454,347],{"class":264},[254,3456,221],{"class":268},[254,3458,350],{"class":264},[254,3460,3461],{"class":256,"line":353},[254,3462,383],{"class":264},[254,3464,3465,3467,3469,3471,3473,3476,3478,3480,3482,3485,3487,3490,3492],{"class":256,"line":374},[254,3466,356],{"class":304},[254,3468,339],{"class":264},[254,3470,362],{"class":361},[254,3472,997],{"class":264},[254,3474,3475],{"class":1000}," focus",[254,3477,1010],{"class":264},[254,3479,368],{"class":361},[254,3481,629],{"class":264},[254,3483,3484],{"class":281},"You are a code reviewer following our team standards. Focus on: ",[254,3486,635],{"class":264},[254,3488,3489],{"class":268},"focus",[254,3491,389],{"class":264},[254,3493,3494],{"class":281},".\n",[254,3496,3497],{"class":256,"line":380},[254,3498,292],{"emptyLinePlaceholder":291},[254,3500,3501,3504,3506],{"class":256,"line":386},[254,3502,3503],{"class":281},"Review the code I provide, checking for best practices and potential issues.",[254,3505,3046],{"class":264},[254,3507,350],{"class":264},[254,3509,3510,3512],{"class":256,"line":649},[254,3511,389],{"class":264},[254,3513,392],{"class":268},[190,3515,3517],{"id":3516},"_3-documentation-generation","3. Documentation Generation",[150,3519,3520],{},"Standardize documentation format:",[244,3522,3525],{"className":246,"code":3523,"filename":3524,"language":249,"meta":250,"style":250},"import { z } from 'zod'\nimport { defineMcpPrompt } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpPrompt({\n  description: 'Generate documentation in team format',\n  inputSchema: {\n    type: z.enum(['api', 'component', 'function']).describe('What to document'),\n  },\n  handler: async ({ type }) => {\n    const templates = {\n      api: 'Document this API endpoint with: endpoint, method, parameters, response format, and examples.',\n      component: 'Document this Vue component with: props, emits, slots, and usage examples.',\n      function: 'Document this function with: parameters, return value, and usage examples.',\n    }\n\n    return templates[type]\n  },\n})\n","server\u002Fmcp\u002Fprompts\u002Fgenerate-docs.ts",[205,3526,3527,3545,3563,3567,3579,3594,3602,3661,3665,3683,3694,3710,3726,3742,3746,3750,3764,3768],{"__ignoreMap":250},[254,3528,3529,3531,3533,3535,3537,3539,3541,3543],{"class":256,"line":257},[254,3530,261],{"class":260},[254,3532,265],{"class":264},[254,3534,810],{"class":268},[254,3536,272],{"class":264},[254,3538,275],{"class":260},[254,3540,278],{"class":264},[254,3542,819],{"class":281},[254,3544,285],{"class":264},[254,3546,3547,3549,3551,3553,3555,3557,3559,3561],{"class":256,"line":288},[254,3548,261],{"class":260},[254,3550,265],{"class":264},[254,3552,269],{"class":268},[254,3554,272],{"class":264},[254,3556,275],{"class":260},[254,3558,278],{"class":264},[254,3560,282],{"class":281},[254,3562,285],{"class":264},[254,3564,3565],{"class":256,"line":295},[254,3566,292],{"emptyLinePlaceholder":291},[254,3568,3569,3571,3573,3575,3577],{"class":256,"line":313},[254,3570,298],{"class":260},[254,3572,301],{"class":260},[254,3574,269],{"class":304},[254,3576,307],{"class":268},[254,3578,310],{"class":264},[254,3580,3581,3583,3585,3587,3590,3592],{"class":256,"line":320},[254,3582,336],{"class":335},[254,3584,339],{"class":264},[254,3586,278],{"class":264},[254,3588,3589],{"class":281},"Generate documentation in team format",[254,3591,347],{"class":264},[254,3593,350],{"class":264},[254,3595,3596,3598,3600],{"class":256,"line":326},[254,3597,905],{"class":335},[254,3599,339],{"class":264},[254,3601,371],{"class":264},[254,3603,3604,3607,3609,3611,3613,3615,3617,3619,3622,3624,3626,3628,3631,3633,3635,3637,3640,3642,3644,3646,3648,3650,3652,3655,3657,3659],{"class":256,"line":332},[254,3605,3606],{"class":335},"    type",[254,3608,339],{"class":264},[254,3610,810],{"class":268},[254,3612,555],{"class":264},[254,3614,1714],{"class":304},[254,3616,1717],{"class":268},[254,3618,347],{"class":264},[254,3620,3621],{"class":281},"api",[254,3623,347],{"class":264},[254,3625,1004],{"class":264},[254,3627,278],{"class":264},[254,3629,3630],{"class":281},"component",[254,3632,347],{"class":264},[254,3634,1004],{"class":264},[254,3636,278],{"class":264},[254,3638,3639],{"class":281},"function",[254,3641,347],{"class":264},[254,3643,1754],{"class":268},[254,3645,555],{"class":264},[254,3647,930],{"class":304},[254,3649,307],{"class":268},[254,3651,347],{"class":264},[254,3653,3654],{"class":281},"What to document",[254,3656,347],{"class":264},[254,3658,221],{"class":268},[254,3660,350],{"class":264},[254,3662,3663],{"class":256,"line":353},[254,3664,383],{"class":264},[254,3666,3667,3669,3671,3673,3675,3677,3679,3681],{"class":256,"line":374},[254,3668,356],{"class":304},[254,3670,339],{"class":264},[254,3672,362],{"class":361},[254,3674,997],{"class":264},[254,3676,2429],{"class":1000},[254,3678,1010],{"class":264},[254,3680,368],{"class":361},[254,3682,371],{"class":264},[254,3684,3685,3687,3690,3692],{"class":256,"line":380},[254,3686,537],{"class":361},[254,3688,3689],{"class":268}," templates",[254,3691,543],{"class":264},[254,3693,371],{"class":264},[254,3695,3696,3699,3701,3703,3706,3708],{"class":256,"line":386},[254,3697,3698],{"class":335},"      api",[254,3700,339],{"class":264},[254,3702,278],{"class":264},[254,3704,3705],{"class":281},"Document this API endpoint with: endpoint, method, parameters, response format, and examples.",[254,3707,347],{"class":264},[254,3709,350],{"class":264},[254,3711,3712,3715,3717,3719,3722,3724],{"class":256,"line":649},[254,3713,3714],{"class":335},"      component",[254,3716,339],{"class":264},[254,3718,278],{"class":264},[254,3720,3721],{"class":281},"Document this Vue component with: props, emits, slots, and usage examples.",[254,3723,347],{"class":264},[254,3725,350],{"class":264},[254,3727,3728,3731,3733,3735,3738,3740],{"class":256,"line":654},[254,3729,3730],{"class":335},"      function",[254,3732,339],{"class":264},[254,3734,278],{"class":264},[254,3736,3737],{"class":281},"Document this function with: parameters, return value, and usage examples.",[254,3739,347],{"class":264},[254,3741,350],{"class":264},[254,3743,3744],{"class":256,"line":1045},[254,3745,3146],{"class":264},[254,3747,3748],{"class":256,"line":1103},[254,3749,292],{"emptyLinePlaceholder":291},[254,3751,3752,3754,3756,3759,3762],{"class":256,"line":1144},[254,3753,626],{"class":260},[254,3755,3689],{"class":268},[254,3757,3758],{"class":335},"[",[254,3760,3761],{"class":268},"type",[254,3763,2175],{"class":335},[254,3765,3766],{"class":256,"line":1149},[254,3767,383],{"class":264},[254,3769,3770,3772],{"class":256,"line":1205},[254,3771,389],{"class":264},[254,3773,392],{"class":268},[190,3775,3777],{"id":3776},"_4-troubleshooting-workflows","4. Troubleshooting Workflows",[150,3779,3780],{},"Guide debugging for common issues:",[244,3782,3785],{"className":246,"code":3783,"filename":3784,"language":249,"meta":250,"style":250},"import { z } from 'zod'\nimport { defineMcpPrompt } from '@nuxtjs\u002Fmcp-toolkit\u002Fserver'\n\nexport default defineMcpPrompt({\n  description: 'Help debug common issues',\n  inputSchema: {\n    area: z.enum(['api', 'auth', 'database', 'frontend']).describe('Area of the issue'),\n  },\n  handler: async ({ area }) => `You are debugging a ${area} issue. Ask clarifying questions and suggest diagnostic steps.`,\n})\n","server\u002Fmcp\u002Fprompts\u002Fdebug-helper.ts",[205,3786,3787,3805,3823,3827,3839,3854,3862,3929,3933,3969],{"__ignoreMap":250},[254,3788,3789,3791,3793,3795,3797,3799,3801,3803],{"class":256,"line":257},[254,3790,261],{"class":260},[254,3792,265],{"class":264},[254,3794,810],{"class":268},[254,3796,272],{"class":264},[254,3798,275],{"class":260},[254,3800,278],{"class":264},[254,3802,819],{"class":281},[254,3804,285],{"class":264},[254,3806,3807,3809,3811,3813,3815,3817,3819,3821],{"class":256,"line":288},[254,3808,261],{"class":260},[254,3810,265],{"class":264},[254,3812,269],{"class":268},[254,3814,272],{"class":264},[254,3816,275],{"class":260},[254,3818,278],{"class":264},[254,3820,282],{"class":281},[254,3822,285],{"class":264},[254,3824,3825],{"class":256,"line":295},[254,3826,292],{"emptyLinePlaceholder":291},[254,3828,3829,3831,3833,3835,3837],{"class":256,"line":313},[254,3830,298],{"class":260},[254,3832,301],{"class":260},[254,3834,269],{"class":304},[254,3836,307],{"class":268},[254,3838,310],{"class":264},[254,3840,3841,3843,3845,3847,3850,3852],{"class":256,"line":320},[254,3842,336],{"class":335},[254,3844,339],{"class":264},[254,3846,278],{"class":264},[254,3848,3849],{"class":281},"Help debug common issues",[254,3851,347],{"class":264},[254,3853,350],{"class":264},[254,3855,3856,3858,3860],{"class":256,"line":326},[254,3857,905],{"class":335},[254,3859,339],{"class":264},[254,3861,371],{"class":264},[254,3863,3864,3867,3869,3871,3873,3875,3877,3879,3881,3883,3885,3887,3890,3892,3894,3896,3899,3901,3903,3905,3908,3910,3912,3914,3916,3918,3920,3923,3925,3927],{"class":256,"line":332},[254,3865,3866],{"class":335},"    area",[254,3868,339],{"class":264},[254,3870,810],{"class":268},[254,3872,555],{"class":264},[254,3874,1714],{"class":304},[254,3876,1717],{"class":268},[254,3878,347],{"class":264},[254,3880,3621],{"class":281},[254,3882,347],{"class":264},[254,3884,1004],{"class":264},[254,3886,278],{"class":264},[254,3888,3889],{"class":281},"auth",[254,3891,347],{"class":264},[254,3893,1004],{"class":264},[254,3895,278],{"class":264},[254,3897,3898],{"class":281},"database",[254,3900,347],{"class":264},[254,3902,1004],{"class":264},[254,3904,278],{"class":264},[254,3906,3907],{"class":281},"frontend",[254,3909,347],{"class":264},[254,3911,1754],{"class":268},[254,3913,555],{"class":264},[254,3915,930],{"class":304},[254,3917,307],{"class":268},[254,3919,347],{"class":264},[254,3921,3922],{"class":281},"Area of the issue",[254,3924,347],{"class":264},[254,3926,221],{"class":268},[254,3928,350],{"class":264},[254,3930,3931],{"class":256,"line":353},[254,3932,383],{"class":264},[254,3934,3935,3937,3939,3941,3943,3946,3948,3950,3952,3955,3957,3960,3962,3965,3967],{"class":256,"line":374},[254,3936,356],{"class":304},[254,3938,339],{"class":264},[254,3940,362],{"class":361},[254,3942,997],{"class":264},[254,3944,3945],{"class":1000}," area",[254,3947,1010],{"class":264},[254,3949,368],{"class":361},[254,3951,629],{"class":264},[254,3953,3954],{"class":281},"You are debugging a ",[254,3956,635],{"class":264},[254,3958,3959],{"class":268},"area",[254,3961,389],{"class":264},[254,3963,3964],{"class":281}," issue. Ask clarifying questions and suggest diagnostic steps.",[254,3966,3046],{"class":264},[254,3968,350],{"class":264},[254,3970,3971,3973],{"class":256,"line":380},[254,3972,389],{"class":264},[254,3974,392],{"class":268},[145,3976,3978],{"id":3977},"file-organization","File Organization",[150,3980,3981,3982,3985],{},"Organize your prompts in the ",[205,3983,3984],{},"server\u002Fmcp\u002Fprompts\u002F"," directory:",[244,3987,3991],{"className":3988,"code":3990,"language":2436},[3989],"language-text","server\u002F\n└── mcp\u002F\n    └── prompts\u002F\n        ├── greeting.ts\n        ├── summarize.ts\n        └── translate.ts\n",[205,3992,3990],{"__ignoreMap":250},[150,3994,3995],{},"Each file should export a default prompt definition.",[145,3997,3999],{"id":3998},"type-safety","Type Safety",[150,4001,4002],{},"The module provides full TypeScript type inference:",[244,4004,4006],{"className":246,"code":4005,"language":249,"meta":250,"style":250},"\u002F\u002F Argument types are inferred from inputSchema\nhandler: async ({ text, maxLength }) => {\n  \u002F\u002F text is typed as string\n  \u002F\u002F maxLength is typed as string | undefined\n}\n",[205,4007,4008,4013,4035,4040,4045],{"__ignoreMap":250},[254,4009,4010],{"class":256,"line":257},[254,4011,4012],{"class":316},"\u002F\u002F Argument types are inferred from inputSchema\n",[254,4014,4015,4017,4019,4021,4023,4025,4027,4029,4031,4033],{"class":256,"line":288},[254,4016,2307],{"class":2306},[254,4018,339],{"class":264},[254,4020,362],{"class":361},[254,4022,997],{"class":264},[254,4024,1001],{"class":1000},[254,4026,1004],{"class":264},[254,4028,1007],{"class":1000},[254,4030,1010],{"class":264},[254,4032,368],{"class":361},[254,4034,371],{"class":264},[254,4036,4037],{"class":256,"line":295},[254,4038,4039],{"class":316},"  \u002F\u002F text is typed as string\n",[254,4041,4042],{"class":256,"line":313},[254,4043,4044],{"class":316},"  \u002F\u002F maxLength is typed as string | undefined\n",[254,4046,4047],{"class":256,"line":320},[254,4048,2632],{"class":264},[145,4050,4052],{"id":4051},"best-practices","Best Practices",[190,4054,4056],{"id":4055},"_1-design-for-ai-understanding","1. Design for AI Understanding",[150,4058,4059],{},"Write prompts that give the AI clear context and expectations:",[244,4061,4063],{"className":246,"code":4062,"language":249,"meta":250,"style":250},"\u002F\u002F Good: Clear context and instructions\nhandler: async ({ code }) =>\n  `You are a senior developer reviewing code for a Nuxt application.\n\nReview this code for Vue 3 best practices:\\n\\n${code}`\n\n\u002F\u002F Less effective: Vague instructions\nhandler: async ({ code }) => code\n",[205,4064,4065,4070,4088,4096,4100,4114,4118,4123],{"__ignoreMap":250},[254,4066,4067],{"class":256,"line":257},[254,4068,4069],{"class":316},"\u002F\u002F Good: Clear context and instructions\n",[254,4071,4072,4074,4076,4078,4080,4083,4085],{"class":256,"line":288},[254,4073,2307],{"class":2306},[254,4075,339],{"class":264},[254,4077,362],{"class":361},[254,4079,997],{"class":264},[254,4081,4082],{"class":1000}," code",[254,4084,1010],{"class":264},[254,4086,4087],{"class":361}," =>\n",[254,4089,4090,4093],{"class":256,"line":295},[254,4091,4092],{"class":264},"  `",[254,4094,4095],{"class":281},"You are a senior developer reviewing code for a Nuxt application.\n",[254,4097,4098],{"class":256,"line":313},[254,4099,292],{"emptyLinePlaceholder":291},[254,4101,4102,4105,4108,4110,4112],{"class":256,"line":320},[254,4103,4104],{"class":281},"Review this code for Vue 3 best practices:",[254,4106,4107],{"class":268},"\\n\\n",[254,4109,635],{"class":264},[254,4111,205],{"class":268},[254,4113,1557],{"class":264},[254,4115,4116],{"class":256,"line":326},[254,4117,292],{"emptyLinePlaceholder":291},[254,4119,4120],{"class":256,"line":332},[254,4121,4122],{"class":316},"\u002F\u002F Less effective: Vague instructions\n",[254,4124,4125,4127,4129,4131,4133,4135,4137,4139],{"class":256,"line":353},[254,4126,2307],{"class":2306},[254,4128,339],{"class":264},[254,4130,362],{"class":361},[254,4132,997],{"class":264},[254,4134,4082],{"class":1000},[254,4136,1010],{"class":264},[254,4138,368],{"class":361},[254,4140,4141],{"class":268}," code\n",[190,4143,4145],{"id":4144},"_2-use-descriptive-arguments","2. Use Descriptive Arguments",[150,4147,4148,4149,4152],{},"Always use ",[205,4150,4151],{},".describe()"," on Zod fields to help both users and AI understand what's expected:",[244,4154,4156],{"className":246,"code":4155,"language":249,"meta":250,"style":250},"inputSchema: {\n  \u002F\u002F Good: Clear descriptions\n  language: z.enum(['typescript', 'javascript']).describe('Programming language of the code'),\n  strict: z.boolean().default(true).describe('Whether to enforce strict TypeScript rules'),\n\n  \u002F\u002F Less helpful: No descriptions\n  lang: z.string(),\n  s: z.boolean(),\n}\n",[205,4157,4158,4166,4171,4219,4264,4268,4273,4290,4307],{"__ignoreMap":250},[254,4159,4160,4162,4164],{"class":256,"line":257},[254,4161,2280],{"class":2306},[254,4163,339],{"class":264},[254,4165,371],{"class":264},[254,4167,4168],{"class":256,"line":288},[254,4169,4170],{"class":316},"  \u002F\u002F Good: Clear descriptions\n",[254,4172,4173,4176,4178,4180,4182,4184,4186,4188,4190,4192,4194,4196,4198,4200,4202,4204,4206,4208,4210,4213,4215,4217],{"class":256,"line":295},[254,4174,4175],{"class":2306},"  language",[254,4177,339],{"class":264},[254,4179,810],{"class":268},[254,4181,555],{"class":264},[254,4183,1714],{"class":304},[254,4185,1717],{"class":335},[254,4187,347],{"class":264},[254,4189,249],{"class":281},[254,4191,347],{"class":264},[254,4193,1004],{"class":264},[254,4195,278],{"class":264},[254,4197,2143],{"class":281},[254,4199,347],{"class":264},[254,4201,1754],{"class":335},[254,4203,555],{"class":264},[254,4205,930],{"class":304},[254,4207,307],{"class":335},[254,4209,347],{"class":264},[254,4211,4212],{"class":281},"Programming language of the code",[254,4214,347],{"class":264},[254,4216,221],{"class":335},[254,4218,350],{"class":264},[254,4220,4221,4224,4226,4228,4230,4233,4235,4237,4239,4241,4245,4247,4249,4251,4253,4255,4258,4260,4262],{"class":256,"line":313},[254,4222,4223],{"class":2306},"  strict",[254,4225,339],{"class":264},[254,4227,810],{"class":268},[254,4229,555],{"class":264},[254,4231,4232],{"class":304},"boolean",[254,4234,552],{"class":335},[254,4236,555],{"class":264},[254,4238,1865],{"class":304},[254,4240,307],{"class":335},[254,4242,4244],{"class":4243},"sfNiH","true",[254,4246,221],{"class":335},[254,4248,555],{"class":264},[254,4250,930],{"class":304},[254,4252,307],{"class":335},[254,4254,347],{"class":264},[254,4256,4257],{"class":281},"Whether to enforce strict TypeScript rules",[254,4259,347],{"class":264},[254,4261,221],{"class":335},[254,4263,350],{"class":264},[254,4265,4266],{"class":256,"line":320},[254,4267,292],{"emptyLinePlaceholder":291},[254,4269,4270],{"class":256,"line":326},[254,4271,4272],{"class":316},"  \u002F\u002F Less helpful: No descriptions\n",[254,4274,4275,4278,4280,4282,4284,4286,4288],{"class":256,"line":332},[254,4276,4277],{"class":2306},"  lang",[254,4279,339],{"class":264},[254,4281,810],{"class":268},[254,4283,555],{"class":264},[254,4285,923],{"class":304},[254,4287,552],{"class":335},[254,4289,350],{"class":264},[254,4291,4292,4295,4297,4299,4301,4303,4305],{"class":256,"line":353},[254,4293,4294],{"class":2306},"  s",[254,4296,339],{"class":264},[254,4298,810],{"class":268},[254,4300,555],{"class":264},[254,4302,4232],{"class":304},[254,4304,552],{"class":335},[254,4306,350],{"class":264},[254,4308,4309],{"class":256,"line":374},[254,4310,2632],{"class":264},[190,4312,4314],{"id":4313},"_3-use-conversation-flow","3. Use Conversation Flow",[150,4316,4317],{},"Use user and assistant messages to guide the AI:",[244,4319,4321],{"className":246,"code":4320,"language":249,"meta":250,"style":250},"\u002F\u002F Effective: User provides context, assistant acknowledges\nmessages: [\n  { role: 'user', content: { type: 'text', text: 'You are an expert in accessibility. Review this HTML for a11y issues.' } },\n  { role: 'assistant', content: { type: 'text', text: 'I\\'ll analyze the HTML for accessibility issues.' } },\n]\n",[205,4322,4323,4328,4336,4386,4441],{"__ignoreMap":250},[254,4324,4325],{"class":256,"line":257},[254,4326,4327],{"class":316},"\u002F\u002F Effective: User provides context, assistant acknowledges\n",[254,4329,4330,4332,4334],{"class":256,"line":288},[254,4331,787],{"class":2306},[254,4333,339],{"class":264},[254,4335,2401],{"class":268},[254,4337,4338,4341,4343,4345,4347,4349,4351,4353,4355,4357,4359,4361,4363,4365,4367,4369,4371,4373,4375,4377,4380,4382,4384],{"class":256,"line":295},[254,4339,4340],{"class":264},"  {",[254,4342,2409],{"class":335},[254,4344,339],{"class":264},[254,4346,278],{"class":264},[254,4348,668],{"class":281},[254,4350,347],{"class":264},[254,4352,1004],{"class":264},[254,4354,2422],{"class":335},[254,4356,339],{"class":264},[254,4358,265],{"class":264},[254,4360,2429],{"class":335},[254,4362,339],{"class":264},[254,4364,278],{"class":264},[254,4366,2436],{"class":281},[254,4368,347],{"class":264},[254,4370,1004],{"class":264},[254,4372,1001],{"class":335},[254,4374,339],{"class":264},[254,4376,278],{"class":264},[254,4378,4379],{"class":281},"You are an expert in accessibility. Review this HTML for a11y issues.",[254,4381,347],{"class":264},[254,4383,272],{"class":264},[254,4385,2456],{"class":264},[254,4387,4388,4390,4392,4394,4396,4398,4400,4402,4404,4406,4408,4410,4412,4414,4416,4418,4420,4422,4424,4426,4429,4432,4435,4437,4439],{"class":256,"line":313},[254,4389,4340],{"class":264},[254,4391,2409],{"class":335},[254,4393,339],{"class":264},[254,4395,278],{"class":264},[254,4397,725],{"class":281},[254,4399,347],{"class":264},[254,4401,1004],{"class":264},[254,4403,2422],{"class":335},[254,4405,339],{"class":264},[254,4407,265],{"class":264},[254,4409,2429],{"class":335},[254,4411,339],{"class":264},[254,4413,278],{"class":264},[254,4415,2436],{"class":281},[254,4417,347],{"class":264},[254,4419,1004],{"class":264},[254,4421,1001],{"class":335},[254,4423,339],{"class":264},[254,4425,278],{"class":264},[254,4427,4428],{"class":281},"I",[254,4430,4431],{"class":268},"\\'",[254,4433,4434],{"class":281},"ll analyze the HTML for accessibility issues.",[254,4436,347],{"class":264},[254,4438,272],{"class":264},[254,4440,2456],{"class":264},[254,4442,4443],{"class":256,"line":320},[254,4444,2175],{"class":268},[190,4446,4448],{"id":4447},"_4-keep-prompts-focused","4. Keep Prompts Focused",[150,4450,4451],{},"Each prompt should have a single, clear purpose. Create multiple prompts instead of one complex one:",[244,4453,4455],{"className":246,"code":4454,"language":249,"meta":250,"style":250},"\u002F\u002F Good: Separate focused prompts\n\u002F\u002F server\u002Fmcp\u002Fprompts\u002Freview-security.ts\n\u002F\u002F server\u002Fmcp\u002Fprompts\u002Freview-performance.ts\n\u002F\u002F server\u002Fmcp\u002Fprompts\u002Freview-style.ts\n\n\u002F\u002F Less maintainable: One complex prompt trying to do everything\n",[205,4456,4457,4462,4467,4472,4477,4481],{"__ignoreMap":250},[254,4458,4459],{"class":256,"line":257},[254,4460,4461],{"class":316},"\u002F\u002F Good: Separate focused prompts\n",[254,4463,4464],{"class":256,"line":288},[254,4465,4466],{"class":316},"\u002F\u002F server\u002Fmcp\u002Fprompts\u002Freview-security.ts\n",[254,4468,4469],{"class":256,"line":295},[254,4470,4471],{"class":316},"\u002F\u002F server\u002Fmcp\u002Fprompts\u002Freview-performance.ts\n",[254,4473,4474],{"class":256,"line":313},[254,4475,4476],{"class":316},"\u002F\u002F server\u002Fmcp\u002Fprompts\u002Freview-style.ts\n",[254,4478,4479],{"class":256,"line":320},[254,4480,292],{"emptyLinePlaceholder":291},[254,4482,4483],{"class":256,"line":326},[254,4484,4485],{"class":316},"\u002F\u002F Less maintainable: One complex prompt trying to do everything\n",[190,4487,4489],{"id":4488},"_5-provide-default-values","5. Provide Default Values",[150,4491,4492,4493,4496],{},"Use ",[205,4494,4495],{},".default()"," for optional arguments to improve usability:",[244,4498,4500],{"className":246,"code":4499,"language":249,"meta":250,"style":250},"inputSchema: {\n  format: z.enum(['brief', 'detailed']).default('detailed').describe('Output format'),\n  language: z.string().default('en').describe('Response language'),\n}\n",[205,4501,4502,4510,4574,4619],{"__ignoreMap":250},[254,4503,4504,4506,4508],{"class":256,"line":257},[254,4505,2280],{"class":2306},[254,4507,339],{"class":264},[254,4509,371],{"class":264},[254,4511,4512,4515,4517,4519,4521,4523,4525,4527,4530,4532,4534,4536,4539,4541,4543,4545,4547,4549,4551,4553,4555,4557,4559,4561,4563,4565,4568,4570,4572],{"class":256,"line":288},[254,4513,4514],{"class":2306},"  format",[254,4516,339],{"class":264},[254,4518,810],{"class":268},[254,4520,555],{"class":264},[254,4522,1714],{"class":304},[254,4524,1717],{"class":335},[254,4526,347],{"class":264},[254,4528,4529],{"class":281},"brief",[254,4531,347],{"class":264},[254,4533,1004],{"class":264},[254,4535,278],{"class":264},[254,4537,4538],{"class":281},"detailed",[254,4540,347],{"class":264},[254,4542,1754],{"class":335},[254,4544,555],{"class":264},[254,4546,1865],{"class":304},[254,4548,307],{"class":335},[254,4550,347],{"class":264},[254,4552,4538],{"class":281},[254,4554,347],{"class":264},[254,4556,221],{"class":335},[254,4558,555],{"class":264},[254,4560,930],{"class":304},[254,4562,307],{"class":335},[254,4564,347],{"class":264},[254,4566,4567],{"class":281},"Output format",[254,4569,347],{"class":264},[254,4571,221],{"class":335},[254,4573,350],{"class":264},[254,4575,4576,4578,4580,4582,4584,4586,4588,4590,4592,4594,4596,4598,4600,4602,4604,4606,4608,4610,4613,4615,4617],{"class":256,"line":295},[254,4577,4175],{"class":2306},[254,4579,339],{"class":264},[254,4581,810],{"class":268},[254,4583,555],{"class":264},[254,4585,923],{"class":304},[254,4587,552],{"class":335},[254,4589,555],{"class":264},[254,4591,1865],{"class":304},[254,4593,307],{"class":335},[254,4595,347],{"class":264},[254,4597,1722],{"class":281},[254,4599,347],{"class":264},[254,4601,221],{"class":335},[254,4603,555],{"class":264},[254,4605,930],{"class":304},[254,4607,307],{"class":335},[254,4609,347],{"class":264},[254,4611,4612],{"class":281},"Response language",[254,4614,347],{"class":264},[254,4616,221],{"class":335},[254,4618,350],{"class":264},[254,4620,4621],{"class":256,"line":313},[254,4622,2632],{"class":264},[190,4624,4626],{"id":4625},"_6-include-examples-in-complex-prompts","6. Include Examples in Complex Prompts",[150,4628,4629],{},"For prompts that need specific output formats, include examples:",[244,4631,4633],{"className":246,"code":4632,"language":249,"meta":250,"style":250},"handler: async () => `Generate a commit message following this format:\n\ntype(scope): description\n\nExample:\nfeat(auth): add OAuth2 login support\n\nTypes: feat, fix, docs, style, refactor, test, chore`\n",[205,4634,4635,4652,4656,4661,4665,4670,4675,4679],{"__ignoreMap":250},[254,4636,4637,4639,4641,4643,4645,4647,4649],{"class":256,"line":257},[254,4638,2307],{"class":2306},[254,4640,339],{"class":264},[254,4642,362],{"class":361},[254,4644,365],{"class":264},[254,4646,368],{"class":361},[254,4648,629],{"class":264},[254,4650,4651],{"class":281},"Generate a commit message following this format:\n",[254,4653,4654],{"class":256,"line":288},[254,4655,292],{"emptyLinePlaceholder":291},[254,4657,4658],{"class":256,"line":295},[254,4659,4660],{"class":281},"type(scope): description\n",[254,4662,4663],{"class":256,"line":313},[254,4664,292],{"emptyLinePlaceholder":291},[254,4666,4667],{"class":256,"line":320},[254,4668,4669],{"class":281},"Example:\n",[254,4671,4672],{"class":256,"line":326},[254,4673,4674],{"class":281},"feat(auth): add OAuth2 login support\n",[254,4676,4677],{"class":256,"line":332},[254,4678,292],{"emptyLinePlaceholder":291},[254,4680,4681,4684],{"class":256,"line":353},[254,4682,4683],{"class":281},"Types: feat, fix, docs, style, refactor, test, chore",[254,4685,646],{"class":264},[145,4687,4689],{"id":4688},"conditional-registration","Conditional Registration",[150,4691,4692,4693,4696],{},"You can control whether a prompt is visible to clients using the ",[205,4694,4695],{},"enabled"," guard:",[244,4698,4701],{"className":246,"code":4699,"filename":4700,"language":249,"meta":250,"style":250},"export default defineMcpPrompt({\n  name: 'admin-prompt',\n  description: 'Admin-only prompt',\n  enabled: event => event.context.user?.role === 'admin',\n  handler: async () => 'Admin instructions...',\n})\n","server\u002Fmcp\u002Fprompts\u002Fadmin-prompt.ts",[205,4702,4703,4715,4730,4745,4786,4807],{"__ignoreMap":250},[254,4704,4705,4707,4709,4711,4713],{"class":256,"line":257},[254,4706,298],{"class":260},[254,4708,301],{"class":260},[254,4710,269],{"class":304},[254,4712,307],{"class":268},[254,4714,310],{"class":264},[254,4716,4717,4719,4721,4723,4726,4728],{"class":256,"line":288},[254,4718,479],{"class":335},[254,4720,339],{"class":264},[254,4722,278],{"class":264},[254,4724,4725],{"class":281},"admin-prompt",[254,4727,347],{"class":264},[254,4729,350],{"class":264},[254,4731,4732,4734,4736,4738,4741,4743],{"class":256,"line":295},[254,4733,336],{"class":335},[254,4735,339],{"class":264},[254,4737,278],{"class":264},[254,4739,4740],{"class":281},"Admin-only prompt",[254,4742,347],{"class":264},[254,4744,350],{"class":264},[254,4746,4747,4750,4752,4755,4757,4759,4761,4764,4766,4768,4771,4774,4777,4779,4782,4784],{"class":256,"line":313},[254,4748,4749],{"class":304},"  enabled",[254,4751,339],{"class":264},[254,4753,4754],{"class":1000}," event",[254,4756,368],{"class":361},[254,4758,4754],{"class":268},[254,4760,555],{"class":264},[254,4762,4763],{"class":268},"context",[254,4765,555],{"class":264},[254,4767,668],{"class":268},[254,4769,4770],{"class":264},"?.",[254,4772,4773],{"class":268},"role ",[254,4775,4776],{"class":264},"===",[254,4778,278],{"class":264},[254,4780,4781],{"class":281},"admin",[254,4783,347],{"class":264},[254,4785,350],{"class":264},[254,4787,4788,4790,4792,4794,4796,4798,4800,4803,4805],{"class":256,"line":320},[254,4789,356],{"class":304},[254,4791,339],{"class":264},[254,4793,362],{"class":361},[254,4795,365],{"class":264},[254,4797,368],{"class":361},[254,4799,278],{"class":264},[254,4801,4802],{"class":281},"Admin instructions...",[254,4804,347],{"class":264},[254,4806,350],{"class":264},[254,4808,4809,4811],{"class":256,"line":326},[254,4810,389],{"class":264},[254,4812,392],{"class":268},[773,4814,4816,4817,4820],{"color":4815,"icon":13},"primary","See the ",[4818,4819,101],"a",{"href":102}," guide for detailed documentation on auth-based filtering.",[145,4822,4824],{"id":4823},"next-steps","Next Steps",[401,4826,4827,4832,4837,4842,4847],{},[198,4828,4829,4831],{},[4818,4830,136],{"href":137}," - See advanced prompt examples",[198,4833,4834,4836],{},[4818,4835,46],{"href":47}," - Create tools to perform actions",[198,4838,4839,4841],{},[4818,4840,51],{"href":52}," - Create resources to expose data",[198,4843,4844,4846],{},[4818,4845,61],{"href":62}," - Create custom MCP endpoints",[198,4848,4849,4851],{},[4818,4850,101],{"href":102}," - Conditionally register definitions",[4853,4854,4855],"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 .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 .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 .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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":250,"searchDepth":288,"depth":288,"links":4857},[4858,4859,4860,4863,4864,4867,4868,4869,4873,4877,4878,4879,4885,4886,4887,4895,4896],{"id":147,"depth":288,"text":148},{"id":155,"depth":288,"text":156},{"id":185,"depth":288,"text":181,"children":4861},[4862],{"id":192,"depth":295,"text":193},{"id":230,"depth":288,"text":231},{"id":431,"depth":288,"text":432,"children":4865},[4866],{"id":661,"depth":295,"text":662},{"id":791,"depth":288,"text":792},{"id":1217,"depth":288,"text":1218},{"id":1570,"depth":288,"text":1571,"children":4870},[4871,4872],{"id":1935,"depth":295,"text":1936},{"id":2030,"depth":295,"text":2031},{"id":2273,"depth":288,"text":2274,"children":4874},[4875,4876],{"id":2284,"depth":295,"text":2285},{"id":2535,"depth":295,"text":2536},{"id":2635,"depth":288,"text":2636},{"id":2843,"depth":288,"text":2844},{"id":3161,"depth":288,"text":3162,"children":4880},[4881,4882,4883,4884],{"id":3168,"depth":295,"text":3169},{"id":3306,"depth":295,"text":3307},{"id":3516,"depth":295,"text":3517},{"id":3776,"depth":295,"text":3777},{"id":3977,"depth":288,"text":3978},{"id":3998,"depth":288,"text":3999},{"id":4051,"depth":288,"text":4052,"children":4888},[4889,4890,4891,4892,4893,4894],{"id":4055,"depth":295,"text":4056},{"id":4144,"depth":295,"text":4145},{"id":4313,"depth":295,"text":4314},{"id":4447,"depth":295,"text":4448},{"id":4488,"depth":295,"text":4489},{"id":4625,"depth":295,"text":4626},{"id":4688,"depth":288,"text":4689},{"id":4823,"depth":288,"text":4824},"Create reusable prompts for AI assistants with optional arguments.","md",null,{},{"icon":59},{"title":56,"description":4903},"Create reusable MCP prompts with optional arguments and full type safety.","tzkbKFSk8UoNZIG4loHavN9AnxrVYclaXvuZJdofnO0",[4906,4908],{"title":51,"path":52,"stem":53,"description":4907,"icon":54,"children":-1},"Expose read-only data sources as MCP resources to provide context to AI models.",{"title":61,"path":62,"stem":63,"description":4909,"icon":64,"children":-1},"Create custom MCP endpoints with their own tools, resources, and prompts.",1774014302737]