[{"data":1,"prerenderedAt":3899},["ShallowReactive",2],{"docs-navigation:en":3,"content-page:docs:T8kvBS9U6hcvivIscIo_XIWue9FL0ORbe4hD5CqMFpU":595,"content-page-surround:docs:T8kvBS9U6hcvivIscIo_XIWue9FL0ORbe4hD5CqMFpU":3885,"i-lucide:terminal":3890,"i-logos:typescript-icon":3894,"i-lucide:clipboard":3897},[4,55,123,191,450,509,554,590],{"title":5,"page":6,"canonicalKey":7,"locale":8,"id":9,"draft":6,"icon":10,"sidebar":11,"children":12},"Learn",false,"1","en","content:docs:1.overview:.navigation.yml","i-lucide-book-open","section",[13,20,27,34,41,48],{"title":14,"id":15,"canonicalKey":16,"locale":8,"draft":6,"navigation":17,"icon":18,"path":19},"Better Convex Nuxt","content:docs:1.overview:1.introduction.md","1\u002F1",{"icon":18},"i-lucide-orbit","\u002Fdocs\u002Foverview\u002Fintroduction",{"title":21,"id":22,"canonicalKey":23,"locale":8,"draft":6,"navigation":24,"icon":25,"path":26},"Why Better Convex Nuxt","content:docs:1.overview:2.why-better-convex-nuxt.md","1\u002F2",{"icon":25},"i-lucide-badge-check","\u002Fdocs\u002Foverview\u002Fwhy-better-convex-nuxt",{"title":28,"id":29,"canonicalKey":30,"locale":8,"draft":6,"navigation":31,"icon":32,"path":33},"Who It Is For","content:docs:1.overview:3.who-it-is-for.md","1\u002F3",{"icon":32},"i-lucide-users","\u002Fdocs\u002Foverview\u002Fwho-it-is-for",{"title":35,"id":36,"canonicalKey":37,"locale":8,"draft":6,"navigation":38,"icon":39,"path":40},"Use Cases","content:docs:1.overview:4.use-cases.md","1\u002F4",{"icon":39},"i-lucide-layout-dashboard","\u002Fdocs\u002Foverview\u002Fuse-cases",{"title":42,"id":43,"canonicalKey":44,"locale":8,"draft":6,"navigation":45,"icon":46,"path":47},"Compare Nuxt Integrations","content:docs:1.overview:5.comparison.md","1\u002F5",{"icon":46},"i-lucide-scale","\u002Fdocs\u002Foverview\u002Fcomparison",{"title":49,"id":50,"canonicalKey":51,"locale":8,"draft":6,"navigation":52,"icon":53,"path":54},"Limitations and Trade-offs","content:docs:1.overview:6.limitations.md","1\u002F6",{"icon":53},"i-lucide-triangle-alert","\u002Fdocs\u002Foverview\u002Flimitations",{"title":56,"page":6,"canonicalKey":57,"locale":8,"id":58,"draft":6,"icon":59,"children":60},"Understand","2","content:docs:2.understand:.navigation.yml","i-lucide-brain",[61,67,74,81,88,95,102,109,116],{"title":62,"id":63,"canonicalKey":64,"locale":8,"draft":6,"navigation":65,"icon":59,"path":66},"Mental Model","content:docs:2.understand:1.mental-model.md","2\u002F1",{"icon":59},"\u002Fdocs\u002Funderstand\u002Fmental-model",{"title":68,"id":69,"canonicalKey":70,"locale":8,"draft":6,"navigation":71,"icon":72,"path":73},"Request Lifecycle","content:docs:2.understand:2.request-lifecycle.md","2\u002F2",{"icon":72},"i-lucide-route","\u002Fdocs\u002Funderstand\u002Frequest-lifecycle",{"title":75,"id":76,"canonicalKey":77,"locale":8,"draft":6,"navigation":78,"icon":79,"path":80},"SSR, Hydration, and Real-Time","content:docs:2.understand:3.ssr-hydration-realtime.md","2\u002F3",{"icon":79},"i-lucide-refresh-cw","\u002Fdocs\u002Funderstand\u002Fssr-hydration-realtime",{"title":82,"id":83,"canonicalKey":84,"locale":8,"draft":6,"navigation":85,"icon":86,"path":87},"Query Ownership and Caching","content:docs:2.understand:4.query-ownership-and-caching.md","2\u002F4",{"icon":86},"i-lucide-database","\u002Fdocs\u002Funderstand\u002Fquery-ownership-and-caching",{"title":89,"id":90,"canonicalKey":91,"locale":8,"draft":6,"navigation":92,"icon":93,"path":94},"Authentication and Identity","content:docs:2.understand:5.authentication-and-identity.md","2\u002F5",{"icon":93},"i-lucide-fingerprint","\u002Fdocs\u002Funderstand\u002Fauthentication-and-identity",{"title":96,"id":97,"canonicalKey":98,"locale":8,"draft":6,"navigation":99,"icon":100,"path":101},"Server and Client Boundaries","content:docs:2.understand:6.server-and-client-boundaries.md","2\u002F6",{"icon":100},"i-lucide-panels-top-left","\u002Fdocs\u002Funderstand\u002Fserver-and-client-boundaries",{"title":103,"id":104,"canonicalKey":105,"locale":8,"draft":6,"navigation":106,"icon":107,"path":108},"Errors and Failures","content:docs:2.understand:7.errors-and-failures.md","2\u002F7",{"icon":107},"i-lucide-circle-x","\u002Fdocs\u002Funderstand\u002Ferrors-and-failures",{"title":110,"id":111,"canonicalKey":112,"locale":8,"draft":6,"navigation":113,"icon":114,"path":115},"Design Decisions","content:docs:2.understand:8.design-decisions.md","2\u002F8",{"icon":114},"i-lucide-git-branch","\u002Fdocs\u002Funderstand\u002Fdesign-decisions",{"title":117,"id":118,"canonicalKey":119,"locale":8,"draft":6,"navigation":120,"icon":121,"path":122},"Glossary","content:docs:2.understand:9.glossary.md","2\u002F9",{"icon":121},"i-lucide-book-a","\u002Fdocs\u002Funderstand\u002Fglossary",{"title":124,"page":6,"canonicalKey":125,"locale":8,"id":126,"draft":6,"icon":127,"children":128},"Get Started","3","content:docs:3.get-started:.navigation.yml","i-lucide-rocket",[129,136,143,150,157,164,171,178,185],{"title":130,"id":131,"canonicalKey":132,"locale":8,"draft":6,"navigation":133,"icon":134,"path":135},"Choose Your Path","content:docs:3.get-started:1.choose-your-path.md","3\u002F1",{"icon":134},"i-lucide-signpost","\u002Fdocs\u002Fget-started\u002Fchoose-your-path",{"title":137,"id":138,"canonicalKey":139,"locale":8,"draft":6,"navigation":140,"icon":141,"path":142},"Installation","content:docs:3.get-started:2.installation.md","3\u002F2",{"icon":141},"i-lucide-download","\u002Fdocs\u002Fget-started\u002Finstallation",{"title":144,"id":145,"canonicalKey":146,"locale":8,"draft":6,"navigation":147,"icon":148,"path":149},"First Real-Time Page","content:docs:3.get-started:3.first-realtime-page.md","3\u002F3",{"icon":148},"i-lucide-radio","\u002Fdocs\u002Fget-started\u002Ffirst-realtime-page",{"title":151,"id":152,"canonicalKey":153,"locale":8,"draft":6,"navigation":154,"icon":155,"path":156},"Add a Mutation","content:docs:3.get-started:4.add-a-mutation.md","3\u002F4",{"icon":155},"i-lucide-square-pen","\u002Fdocs\u002Fget-started\u002Fadd-a-mutation",{"title":158,"id":159,"canonicalKey":160,"locale":8,"draft":6,"navigation":161,"icon":162,"path":163},"Add Authentication","content:docs:3.get-started:5.add-authentication.md","3\u002F5",{"icon":162},"i-lucide-log-in","\u002Fdocs\u002Fget-started\u002Fadd-authentication",{"title":165,"id":166,"canonicalKey":167,"locale":8,"draft":6,"navigation":168,"icon":169,"path":170},"Protect Data","content:docs:3.get-started:6.protect-data.md","3\u002F6",{"icon":169},"i-lucide-shield-check","\u002Fdocs\u002Fget-started\u002Fprotect-data",{"title":172,"id":173,"canonicalKey":174,"locale":8,"draft":6,"navigation":175,"icon":176,"path":177},"Project Structure","content:docs:3.get-started:7.project-structure.md","3\u002F7",{"icon":176},"i-lucide-folder-tree","\u002Fdocs\u002Fget-started\u002Fproject-structure",{"title":179,"id":180,"canonicalKey":181,"locale":8,"draft":6,"navigation":182,"icon":183,"path":184},"Next Steps","content:docs:3.get-started:8.next-steps.md","3\u002F8",{"icon":183},"i-lucide-arrow-right","\u002Fdocs\u002Fget-started\u002Fnext-steps",{"title":186,"id":187,"canonicalKey":188,"locale":8,"draft":6,"navigation":189,"icon":100,"path":190},"Plain Vue and Vite","content:docs:3.get-started:9.plain-vue.md","3\u002F9",{"icon":100},"\u002Fdocs\u002Fget-started\u002Fplain-vue",{"title":192,"page":6,"canonicalKey":193,"locale":8,"id":194,"draft":6,"icon":195,"sidebar":11,"children":196},"Build","4","content:docs:4.build:.navigation.yml","i-lucide-blocks",[197,234,265,336,368,393,432],{"title":198,"page":6,"canonicalKey":199,"locale":8,"children":200},"Queries","4\u002F1",[201,206,213,220,227],{"title":198,"id":202,"canonicalKey":203,"locale":8,"draft":6,"navigation":204,"icon":86,"path":205},"content:docs:4.build:1.queries:1.queries.md","4\u002F1\u002F1",{"icon":86},"\u002Fdocs\u002Fbuild\u002Fqueries\u002Fqueries",{"title":207,"id":208,"canonicalKey":209,"locale":8,"draft":6,"navigation":210,"icon":211,"path":212},"Reactive Arguments","content:docs:4.build:1.queries:2.reactive-arguments.md","4\u002F1\u002F2",{"icon":211},"i-lucide-sliders-horizontal","\u002Fdocs\u002Fbuild\u002Fqueries\u002Freactive-arguments",{"title":214,"id":215,"canonicalKey":216,"locale":8,"draft":6,"navigation":217,"icon":218,"path":219},"Loading and Stale Data","content:docs:4.build:1.queries:3.loading-and-stale-data.md","4\u002F1\u002F3",{"icon":218},"i-lucide-loader-circle","\u002Fdocs\u002Fbuild\u002Fqueries\u002Floading-and-stale-data",{"title":221,"id":222,"canonicalKey":223,"locale":8,"draft":6,"navigation":224,"icon":225,"path":226},"Query Execution Options","content:docs:4.build:1.queries:4.ssr-options.md","4\u002F1\u002F4",{"icon":225},"i-lucide-server-cog","\u002Fdocs\u002Fbuild\u002Fqueries\u002Fssr-options",{"title":228,"id":229,"canonicalKey":230,"locale":8,"draft":6,"navigation":231,"icon":232,"path":233},"Pagination","content:docs:4.build:1.queries:6.pagination.md","4\u002F1\u002F6",{"icon":232},"i-lucide-list-plus","\u002Fdocs\u002Fbuild\u002Fqueries\u002Fpagination",{"title":235,"page":6,"canonicalKey":236,"locale":8,"children":237},"Write Data","4\u002F2",[238,244,251,258],{"title":239,"id":240,"canonicalKey":241,"locale":8,"draft":6,"navigation":242,"icon":155,"path":243},"Mutations","content:docs:4.build:2.write-data:1.mutations.md","4\u002F2\u002F1",{"icon":155},"\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Fmutations",{"title":245,"id":246,"canonicalKey":247,"locale":8,"draft":6,"navigation":248,"icon":249,"path":250},"Actions","content:docs:4.build:2.write-data:2.actions.md","4\u002F2\u002F2",{"icon":249},"i-lucide-zap","\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Factions",{"title":252,"id":253,"canonicalKey":254,"locale":8,"draft":6,"navigation":255,"icon":256,"path":257},"Optimistic Updates","content:docs:4.build:2.write-data:3.optimistic-updates.md","4\u002F2\u002F3",{"icon":256},"i-lucide-gauge","\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Foptimistic-updates",{"title":259,"id":260,"canonicalKey":261,"locale":8,"draft":6,"navigation":262,"icon":263,"path":264},"Concurrent Operations","content:docs:4.build:2.write-data:4.concurrent-operations.md","4\u002F2\u002F4",{"icon":263},"i-lucide-git-fork","\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Fconcurrent-operations",{"title":266,"page":6,"canonicalKey":267,"locale":8,"children":268},"Authentication","4\u002F3",[269,275,282,289,295,301,308,315,322,329],{"title":266,"id":270,"canonicalKey":271,"locale":8,"draft":6,"navigation":272,"icon":273,"path":274},"content:docs:4.build:3.authentication:1.overview.md","4\u002F3\u002F1",{"icon":273},"i-lucide-shield","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Foverview",{"title":276,"id":277,"canonicalKey":278,"locale":8,"draft":6,"navigation":279,"icon":280,"path":281},"Better Auth Setup","content:docs:4.build:3.authentication:2.better-auth-setup.md","4\u002F3\u002F2",{"icon":280},"i-lucide-settings-2","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fbetter-auth-setup",{"title":283,"id":284,"canonicalKey":285,"locale":8,"draft":6,"navigation":286,"icon":287,"path":288},"Auth State and User Data","content:docs:4.build:3.authentication:3.auth-state-and-user.md","4\u002F3\u002F3",{"icon":287},"i-lucide-user-round","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fauth-state-and-user",{"title":290,"id":291,"canonicalKey":292,"locale":8,"draft":6,"navigation":293,"icon":162,"path":294},"Sign In and Sign Out","content:docs:4.build:3.authentication:4.sign-in-and-sign-out.md","4\u002F3\u002F4",{"icon":162},"\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fsign-in-and-sign-out",{"title":296,"id":297,"canonicalKey":298,"locale":8,"draft":6,"navigation":299,"icon":72,"path":300},"Route Protection","content:docs:4.build:3.authentication:5.route-protection.md","4\u002F3\u002F5",{"icon":72},"\u002Fdocs\u002Fbuild\u002Fauthentication\u002Froute-protection",{"title":302,"id":303,"canonicalKey":304,"locale":8,"draft":6,"navigation":305,"icon":306,"path":307},"Backend Authorization","content:docs:4.build:3.authentication:6.backend-authorization.md","4\u002F3\u002F6",{"icon":306},"i-lucide-lock-keyhole","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fbackend-authorization",{"title":309,"id":310,"canonicalKey":311,"locale":8,"draft":6,"navigation":312,"icon":313,"path":314},"Better Auth Plugins","content:docs:4.build:3.authentication:7.better-auth-plugins.md","4\u002F3\u002F7",{"icon":313},"i-lucide-plug","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fbetter-auth-plugins",{"title":316,"id":317,"canonicalKey":318,"locale":8,"draft":6,"navigation":319,"icon":320,"path":321},"Custom User Fields","content:docs:4.build:3.authentication:8.custom-user-fields.md","4\u002F3\u002F8",{"icon":320},"i-lucide-user-cog","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fcustom-user-fields",{"title":323,"id":324,"canonicalKey":325,"locale":8,"draft":6,"navigation":326,"icon":327,"path":328},"User Synchronization","content:docs:4.build:3.authentication:9.user-synchronization.md","4\u002F3\u002F9",{"icon":327},"i-lucide-refresh-ccw","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fuser-synchronization",{"title":330,"id":331,"canonicalKey":332,"locale":8,"draft":6,"navigation":333,"icon":334,"path":335},"Delegated OAuth and MCP","content:docs:4.build:3.authentication:10.delegated-oauth-and-mcp.md","4\u002F3\u002F10",{"icon":334},"i-lucide-bot","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fdelegated-oauth-and-mcp",{"title":337,"page":6,"canonicalKey":338,"locale":8,"children":339},"Server","4\u002F4",[340,347,354,361],{"title":341,"id":342,"canonicalKey":343,"locale":8,"draft":6,"navigation":344,"icon":345,"path":346},"serverConvex","content:docs:4.build:4.server:1.server-convex.md","4\u002F4\u002F1",{"icon":345},"i-lucide-server","\u002Fdocs\u002Fbuild\u002Fserver\u002Fserver-convex",{"title":348,"id":349,"canonicalKey":350,"locale":8,"draft":6,"navigation":351,"icon":352,"path":353},"Server Routes","content:docs:4.build:4.server:2.server-routes.md","4\u002F4\u002F2",{"icon":352},"i-lucide-waypoints","\u002Fdocs\u002Fbuild\u002Fserver\u002Fserver-routes",{"title":355,"id":356,"canonicalKey":357,"locale":8,"draft":6,"navigation":358,"icon":359,"path":360},"Webhooks and Jobs","content:docs:4.build:4.server:3.webhooks-and-jobs.md","4\u002F4\u002F3",{"icon":359},"i-lucide-webhook","\u002Fdocs\u002Fbuild\u002Fserver\u002Fwebhooks-and-jobs",{"title":362,"id":363,"canonicalKey":364,"locale":8,"draft":6,"navigation":365,"icon":366,"path":367},"Credentials and Server Security","content:docs:4.build:4.server:4.credentials-and-security.md","4\u002F4\u002F4",{"icon":366},"i-lucide-key-round","\u002Fdocs\u002Fbuild\u002Fserver\u002Fcredentials-and-security",{"title":369,"page":6,"canonicalKey":370,"locale":8,"children":371},"Files","4\u002F5",[372,379,386],{"title":373,"id":374,"canonicalKey":375,"locale":8,"draft":6,"navigation":376,"icon":377,"path":378},"Upload Files","content:docs:4.build:5.files:1.upload-files.md","4\u002F5\u002F1",{"icon":377},"i-lucide-upload","\u002Fdocs\u002Fbuild\u002Ffiles\u002Fupload-files",{"title":380,"id":381,"canonicalKey":382,"locale":8,"draft":6,"navigation":383,"icon":384,"path":385},"Storage URLs","content:docs:4.build:5.files:3.storage-urls.md","4\u002F5\u002F3",{"icon":384},"i-lucide-link","\u002Fdocs\u002Fbuild\u002Ffiles\u002Fstorage-urls",{"title":387,"id":388,"canonicalKey":389,"locale":8,"draft":6,"navigation":390,"icon":391,"path":392},"File Validation and Deletion","content:docs:4.build:5.files:4.validation-and-deletion.md","4\u002F5\u002F4",{"icon":391},"i-lucide-file-x","\u002Fdocs\u002Fbuild\u002Ffiles\u002Fvalidation-and-deletion",{"title":394,"page":6,"canonicalKey":395,"locale":8,"children":396},"Application Behavior","4\u002F6",[397,404,411,418,425],{"title":398,"id":399,"canonicalKey":400,"locale":8,"draft":6,"navigation":401,"icon":402,"path":403},"Connection State","content:docs:4.build:6.application-behavior:1.connection-state.md","4\u002F6\u002F1",{"icon":402},"i-lucide-wifi","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Fconnection-state",{"title":405,"id":406,"canonicalKey":407,"locale":8,"draft":6,"navigation":408,"icon":409,"path":410},"Error Handling","content:docs:4.build:6.application-behavior:2.error-handling.md","4\u002F6\u002F2",{"icon":409},"i-lucide-circle-alert","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Ferror-handling",{"title":412,"id":413,"canonicalKey":414,"locale":8,"draft":6,"navigation":415,"icon":416,"path":417},"Logging","content:docs:4.build:6.application-behavior:3.logging.md","4\u002F6\u002F3",{"icon":416},"i-lucide-scroll-text","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Flogging",{"title":419,"id":420,"canonicalKey":421,"locale":8,"draft":6,"navigation":422,"icon":423,"path":424},"DevTools","content:docs:4.build:6.application-behavior:4.devtools.md","4\u002F6\u002F4",{"icon":423},"i-lucide-wrench","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Fdevtools",{"title":426,"id":427,"canonicalKey":428,"locale":8,"draft":6,"navigation":429,"icon":430,"path":431},"Performance","content:docs:4.build:6.application-behavior:5.performance.md","4\u002F6\u002F5",{"icon":430},"i-lucide-chart-no-axes-combined","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Fperformance",{"title":433,"page":6,"canonicalKey":434,"locale":8,"id":435,"draft":6,"icon":334,"children":436},"Agents and MCP","4\u002F7","content:docs:4.build:7.agents:.navigation.yml",[437,444],{"title":438,"id":439,"canonicalKey":440,"locale":8,"draft":6,"navigation":441,"icon":442,"path":443},"MCP on Convex","content:docs:4.build:7.agents:1.mcp.md","4\u002F7\u002F1",{"icon":442},"i-lucide-plug-zap","\u002Fdocs\u002Fbuild\u002Fagents\u002Fmcp",{"title":445,"id":446,"canonicalKey":447,"locale":8,"draft":6,"navigation":448,"icon":100,"path":449},"Vue MCP Apps","content:docs:4.build:7.agents:2.mcp-apps.md","4\u002F7\u002F2",{"icon":100},"\u002Fdocs\u002Fbuild\u002Fagents\u002Fmcp-apps",{"title":451,"page":6,"canonicalKey":452,"locale":8,"id":453,"draft":6,"icon":454,"children":455},"Recipes","5","content:docs:5.recipes:.navigation.yml","i-lucide-cooking-pot",[456,462,469,476,483,490,497,503],{"title":457,"id":458,"canonicalKey":459,"locale":8,"draft":6,"navigation":460,"icon":39,"path":461},"Protected Dashboard","content:docs:5.recipes:1.protected-dashboard.md","5\u002F1",{"icon":39},"\u002Fdocs\u002Frecipes\u002Fprotected-dashboard",{"title":463,"id":464,"canonicalKey":465,"locale":8,"draft":6,"navigation":466,"icon":467,"path":468},"Real-Time Feed","content:docs:5.recipes:2.realtime-feed.md","5\u002F2",{"icon":467},"i-lucide-messages-square","\u002Fdocs\u002Frecipes\u002Frealtime-feed",{"title":470,"id":471,"canonicalKey":472,"locale":8,"draft":6,"navigation":473,"icon":474,"path":475},"Optimistic Todo List","content:docs:5.recipes:3.optimistic-todo-list.md","5\u002F3",{"icon":474},"i-lucide-list-todo","\u002Fdocs\u002Frecipes\u002Foptimistic-todo-list",{"title":477,"id":478,"canonicalKey":479,"locale":8,"draft":6,"navigation":480,"icon":481,"path":482},"Infinite Scroll","content:docs:5.recipes:4.infinite-scroll.md","5\u002F4",{"icon":481},"i-lucide-mouse","\u002Fdocs\u002Frecipes\u002Finfinite-scroll",{"title":484,"id":485,"canonicalKey":486,"locale":8,"draft":6,"navigation":487,"icon":488,"path":489},"File Upload Form","content:docs:5.recipes:5.file-upload-form.md","5\u002F5",{"icon":488},"i-lucide-file-up","\u002Fdocs\u002Frecipes\u002Ffile-upload-form",{"title":491,"id":492,"canonicalKey":493,"locale":8,"draft":6,"navigation":494,"icon":495,"path":496},"Organization Permissions","content:docs:5.recipes:6.organization-permissions.md","5\u002F6",{"icon":495},"i-lucide-building-2","\u002Fdocs\u002Frecipes\u002Forganization-permissions",{"title":498,"id":499,"canonicalKey":500,"locale":8,"draft":6,"navigation":501,"icon":345,"path":502},"Authenticated Server Route","content:docs:5.recipes:7.authenticated-server-route.md","5\u002F7",{"icon":345},"\u002Fdocs\u002Frecipes\u002Fauthenticated-server-route",{"title":504,"id":505,"canonicalKey":506,"locale":8,"draft":6,"navigation":507,"icon":100,"path":508},"Public and Private Data","content:docs:5.recipes:8.public-and-private-data.md","5\u002F8",{"icon":100},"\u002Fdocs\u002Frecipes\u002Fpublic-and-private-data",{"title":510,"page":6,"canonicalKey":511,"locale":8,"id":512,"draft":6,"icon":513,"children":514},"Reference","6","content:docs:6.reference:.navigation.yml","i-lucide-braces",[515,521,527,533,540,547],{"title":516,"id":517,"canonicalKey":518,"locale":8,"draft":6,"navigation":519,"icon":513,"path":520},"Composables","content:docs:6.reference:1.composables.md","6\u002F1",{"icon":513},"\u002Fdocs\u002Freference\u002Fcomposables",{"title":522,"id":523,"canonicalKey":524,"locale":8,"draft":6,"navigation":525,"icon":345,"path":526},"Server API","content:docs:6.reference:3.server-api.md","6\u002F3",{"icon":345},"\u002Fdocs\u002Freference\u002Fserver-api",{"title":528,"id":529,"canonicalKey":530,"locale":8,"draft":6,"navigation":531,"icon":107,"path":532},"Error Types","content:docs:6.reference:4.error-types.md","6\u002F4",{"icon":107},"\u002Fdocs\u002Freference\u002Ferror-types",{"title":534,"id":535,"canonicalKey":536,"locale":8,"draft":6,"navigation":537,"icon":538,"path":539},"Module Configuration","content:docs:6.reference:5.module-configuration.md","6\u002F5",{"icon":538},"i-lucide-settings","\u002Fdocs\u002Freference\u002Fmodule-configuration",{"title":541,"id":542,"canonicalKey":543,"locale":8,"draft":6,"navigation":544,"icon":545,"path":546},"Package Exports","content:docs:6.reference:6.package-exports.md","6\u002F6",{"icon":545},"i-lucide-package-open","\u002Fdocs\u002Freference\u002Fpackage-exports",{"title":548,"id":549,"canonicalKey":550,"locale":8,"draft":6,"navigation":551,"icon":552,"path":553},"API Surface","content:docs:6.reference:7.api-surface.md","6\u002F7",{"icon":552},"i-lucide-list","\u002Fdocs\u002Freference\u002Fapi-surface",{"title":555,"page":6,"canonicalKey":556,"locale":8,"id":557,"draft":6,"icon":280,"children":558},"Operations","7","content:docs:7.operations:.navigation.yml",[559,566,572,578,584],{"title":560,"id":561,"canonicalKey":562,"locale":8,"draft":6,"navigation":563,"icon":564,"path":565},"Environment Variables","content:docs:7.operations:1.environment-variables.md","7\u002F1",{"icon":564},"i-lucide-variable","\u002Fdocs\u002Foperations\u002Fenvironment-variables",{"title":567,"id":568,"canonicalKey":569,"locale":8,"draft":6,"navigation":570,"icon":127,"path":571},"Deployment","content:docs:7.operations:2.deployment.md","7\u002F2",{"icon":127},"\u002Fdocs\u002Foperations\u002Fdeployment",{"title":573,"id":574,"canonicalKey":575,"locale":8,"draft":6,"navigation":576,"icon":169,"path":577},"Security Model","content:docs:7.operations:3.security-model.md","7\u002F3",{"icon":169},"\u002Fdocs\u002Foperations\u002Fsecurity-model",{"title":579,"id":580,"canonicalKey":581,"locale":8,"draft":6,"navigation":582,"icon":423,"path":583},"Troubleshooting","content:docs:7.operations:4.troubleshooting.md","7\u002F4",{"icon":423},"\u002Fdocs\u002Foperations\u002Ftroubleshooting",{"title":585,"id":586,"canonicalKey":587,"locale":8,"draft":6,"navigation":588,"icon":25,"path":589},"Release Compatibility","content:docs:7.operations:5.release-compatibility.md","7\u002F5",{"icon":25},"\u002Fdocs\u002Foperations\u002Frelease-compatibility",{"title":591,"id":592,"canonicalKey":593,"locale":8,"draft":6,"path":594},"Better Convex documentation","content:docs:index.md","\u002F","\u002Fdocs",{"title":438,"description":596,"navigation":597,"body":598,"type":3872,"id":439,"canonicalKey":440,"draft":6,"partial":6,"locale":8,"collection":3873,"navigationFile":6,"file":3874,"route":3880,"resolution":3882},"Expose explicit application operations through the provider-neutral Better Convex MCP resource boundary.",{"icon":442},{"type":599,"children":600,"toc":3853},"root",[601,615,641,648,730,735,741,746,789,794,800,805,1079,2395,2405,2458,2919,2952,2957,2963,2968,3349,3354,3380,3406,3412,3417,3463,3472,3478,3483,3496,3501,3507,3512,3611,3616,3623,3628,3667,3672,3677,3683,3694,3699,3705,3710,3715,3746,3752,3757,3762,3795,3800,3818,3824,3835],{"type":602,"tag":603,"props":604,"children":605},"element","p",{},[606,613],{"type":602,"tag":607,"props":608,"children":609},"code",{},[610],{"type":611,"value":612},"text","@lupinum\u002Fbetter-convex-mcp",{"type":611,"value":614}," is the provider-neutral MCP resource-server package for\nConvex applications. It terminates MCP and bearer authentication in one\ndeployment-owned Convex HTTP Action. It does not depend on Nuxt, Nitro, Better\nAuth, or an application authorization model.",{"type":602,"tag":603,"props":616,"children":617},{},[618,620,625,627,632,634,639],{"type":611,"value":619},"The current package is an experimental ",{"type":602,"tag":607,"props":621,"children":622},{},[623],{"type":611,"value":624},"0.1.0-beta.28",{"type":611,"value":626}," candidate. It uses the\nfinal MCP ",{"type":602,"tag":607,"props":628,"children":629},{},[630],{"type":611,"value":631},"2026-07-28",{"type":611,"value":633}," contract through exact ",{"type":602,"tag":607,"props":635,"children":636},{},[637],{"type":611,"value":638},"@modelcontextprotocol\u002Fserver@2.0.0",{"type":611,"value":640},".\nThe protocol is stable; this integration remains prerelease until its complete\ncompatibility and security matrices pass against the exact release.",{"type":602,"tag":642,"props":643,"children":645},"h2",{"id":644},"ownership-boundary",[646],{"type":611,"value":647},"Ownership boundary",{"type":602,"tag":649,"props":650,"children":651},"table",{},[652,671],{"type":602,"tag":653,"props":654,"children":655},"thead",{},[656],{"type":602,"tag":657,"props":658,"children":659},"tr",{},[660,666],{"type":602,"tag":661,"props":662,"children":663},"th",{},[664],{"type":611,"value":665},"Layer",{"type":602,"tag":661,"props":667,"children":668},{},[669],{"type":611,"value":670},"Owns",{"type":602,"tag":672,"props":673,"children":674},"tbody",{},[675,689,704,717],{"type":602,"tag":657,"props":676,"children":677},{},[678,684],{"type":602,"tag":679,"props":680,"children":681},"td",{},[682],{"type":611,"value":683},"Official MCP SDK",{"type":602,"tag":679,"props":685,"children":686},{},[687],{"type":611,"value":688},"Protocol parsing, method dispatch, schemas, capabilities, and wire responses.",{"type":602,"tag":657,"props":690,"children":691},{},[692,699],{"type":602,"tag":679,"props":693,"children":694},{},[695],{"type":602,"tag":607,"props":696,"children":697},{},[698],{"type":611,"value":612},{"type":602,"tag":679,"props":700,"children":701},{},[702],{"type":611,"value":703},"Bounded HTTP transport, bearer challenge, exact resource\u002Fissuer binding, verifier normalization, and a safe access context.",{"type":602,"tag":657,"props":705,"children":706},{},[707,712],{"type":602,"tag":679,"props":708,"children":709},{},[710],{"type":611,"value":711},"Token verifier",{"type":602,"tag":679,"props":713,"children":714},{},[715],{"type":611,"value":716},"Signature or introspection, token class, issuer, subject, client, expiry, scopes, and exact resource.",{"type":602,"tag":657,"props":718,"children":719},{},[720,725],{"type":602,"tag":679,"props":721,"children":722},{},[723],{"type":611,"value":724},"Application",{"type":602,"tag":679,"props":726,"children":727},{},[728],{"type":611,"value":729},"Tool\u002Fresource registration, canonical data, membership, roles, delegation, authorization, rate limits, idempotency, and effects.",{"type":602,"tag":603,"props":731,"children":732},{},[733],{"type":611,"value":734},"Token scopes and OAuth consent are ceilings, not application authorization.\nEvery effect must reload current application authority inside the same Convex\ntransaction as the write. Never put roles or permissions in a long-lived access\ntoken and never pass the bearer token to a query, mutation, action, tool result,\ndiagnostic, or iframe.",{"type":602,"tag":642,"props":736,"children":738},{"id":737},"install-and-handle-each-request",[739],{"type":611,"value":740},"Install and handle each request",{"type":602,"tag":603,"props":742,"children":743},{},[744],{"type":611,"value":745},"Install the MCP package and the schema library used by the official SDK:",{"type":602,"tag":747,"props":748,"children":751},"pre",{"language":749,"class":750},"bash","shiki shiki-themes light-plus dark-plus dark:dark-plus",[752],{"type":602,"tag":607,"props":753,"children":755},{"class":754},"language-bash",[756],{"type":602,"tag":757,"props":758,"children":761},"span",{"class":759,"style":760},"line","display: inline",[762,768,774,779,784],{"type":602,"tag":757,"props":763,"children":765},{"style":764},"color:#795E26;--shiki-dark:#DCDCAA",[766],{"type":611,"value":767},"pnpm",{"type":602,"tag":757,"props":769,"children":771},{"style":770},"color:#A31515;--shiki-dark:#CE9178",[772],{"type":611,"value":773}," add",{"type":602,"tag":757,"props":775,"children":776},{"style":770},[777],{"type":611,"value":778}," @lupinum\u002Fbetter-convex-mcp@0.1.0-beta.28",{"type":602,"tag":757,"props":780,"children":781},{"style":770},[782],{"type":611,"value":783}," @modelcontextprotocol\u002Fserver@2.0.0",{"type":602,"tag":757,"props":785,"children":786},{"style":770},[787],{"type":611,"value":788}," zod@4.4.3",{"type":602,"tag":603,"props":790,"children":791},{},[792],{"type":611,"value":793},"The package creates one official server for each authenticated request.\nConfigure only reviewed application operations; Convex functions are never\nexported as tools automatically.",{"type":602,"tag":642,"props":795,"children":797},{"id":796},"configure-one-scope-authority",[798],{"type":611,"value":799},"Configure one scope authority",{"type":602,"tag":603,"props":801,"children":802},{},[803],{"type":611,"value":804},"Keep the resource's delegated scopes in one module consumed by provider setup,\nmetadata, verification, and application authorization:",{"type":602,"tag":747,"props":806,"children":809},{"language":807,"filename":808,"class":750},"ts","convex\u002Fmcp\u002Fscopes.ts",[810],{"type":602,"tag":607,"props":811,"children":813},{"class":812},"language-ts",[814,896,898,901,902,949,950,953,954,1014,1015,1070,1071],{"type":602,"tag":757,"props":815,"children":816},{"class":759,"style":760},[817,823,829,835,841,847,852,857,862,867,872,877,882,887,891],{"type":602,"tag":757,"props":818,"children":820},{"style":819},"color:#AF00DB;--shiki-dark:#C586C0",[821],{"type":611,"value":822},"export",{"type":602,"tag":757,"props":824,"children":826},{"style":825},"color:#0000FF;--shiki-dark:#569CD6",[827],{"type":611,"value":828}," const",{"type":602,"tag":757,"props":830,"children":832},{"style":831},"color:#0070C1;--shiki-dark:#4FC1FF",[833],{"type":611,"value":834}," MCP_SCOPES",{"type":602,"tag":757,"props":836,"children":838},{"style":837},"color:#000000;--shiki-dark:#D4D4D4",[839],{"type":611,"value":840}," = ",{"type":602,"tag":757,"props":842,"children":844},{"style":843},"color:#001080;--shiki-dark:#9CDCFE",[845],{"type":611,"value":846},"Object",{"type":602,"tag":757,"props":848,"children":849},{"style":837},[850],{"type":611,"value":851},".",{"type":602,"tag":757,"props":853,"children":854},{"style":764},[855],{"type":611,"value":856},"freeze",{"type":602,"tag":757,"props":858,"children":859},{"style":837},[860],{"type":611,"value":861},"([",{"type":602,"tag":757,"props":863,"children":864},{"style":770},[865],{"type":611,"value":866},"'mcp:read'",{"type":602,"tag":757,"props":868,"children":869},{"style":837},[870],{"type":611,"value":871},", ",{"type":602,"tag":757,"props":873,"children":874},{"style":770},[875],{"type":611,"value":876},"'mcp:write'",{"type":602,"tag":757,"props":878,"children":879},{"style":837},[880],{"type":611,"value":881},"] ",{"type":602,"tag":757,"props":883,"children":884},{"style":819},[885],{"type":611,"value":886},"as",{"type":602,"tag":757,"props":888,"children":889},{"style":825},[890],{"type":611,"value":828},{"type":602,"tag":757,"props":892,"children":893},{"style":837},[894],{"type":611,"value":895},")",{"type":611,"value":897},"\n",{"type":602,"tag":757,"props":899,"children":900},{"class":759,"style":760},[],{"type":611,"value":897},{"type":602,"tag":757,"props":903,"children":904},{"class":759,"style":760},[905,909,914,920,925,930,934,939,944],{"type":602,"tag":757,"props":906,"children":907},{"style":819},[908],{"type":611,"value":822},{"type":602,"tag":757,"props":910,"children":911},{"style":825},[912],{"type":611,"value":913}," type",{"type":602,"tag":757,"props":915,"children":917},{"style":916},"color:#267F99;--shiki-dark:#4EC9B0",[918],{"type":611,"value":919}," McpScope",{"type":602,"tag":757,"props":921,"children":922},{"style":837},[923],{"type":611,"value":924}," = (",{"type":602,"tag":757,"props":926,"children":927},{"style":825},[928],{"type":611,"value":929},"typeof",{"type":602,"tag":757,"props":931,"children":932},{"style":831},[933],{"type":611,"value":834},{"type":602,"tag":757,"props":935,"children":936},{"style":837},[937],{"type":611,"value":938},")[",{"type":602,"tag":757,"props":940,"children":941},{"style":916},[942],{"type":611,"value":943},"number",{"type":602,"tag":757,"props":945,"children":946},{"style":837},[947],{"type":611,"value":948},"]",{"type":611,"value":897},{"type":602,"tag":757,"props":951,"children":952},{"class":759,"style":760},[],{"type":611,"value":897},{"type":602,"tag":757,"props":955,"children":956},{"class":759,"style":760},[957,961,966,971,976,981,986,991,996,1000,1005,1009],{"type":602,"tag":757,"props":958,"children":959},{"style":819},[960],{"type":611,"value":822},{"type":602,"tag":757,"props":962,"children":963},{"style":825},[964],{"type":611,"value":965}," function",{"type":602,"tag":757,"props":967,"children":968},{"style":764},[969],{"type":611,"value":970}," isMcpScope",{"type":602,"tag":757,"props":972,"children":973},{"style":837},[974],{"type":611,"value":975},"(",{"type":602,"tag":757,"props":977,"children":978},{"style":843},[979],{"type":611,"value":980},"value",{"type":602,"tag":757,"props":982,"children":983},{"style":837},[984],{"type":611,"value":985},": ",{"type":602,"tag":757,"props":987,"children":988},{"style":916},[989],{"type":611,"value":990},"string",{"type":602,"tag":757,"props":992,"children":993},{"style":837},[994],{"type":611,"value":995},"): ",{"type":602,"tag":757,"props":997,"children":998},{"style":843},[999],{"type":611,"value":980},{"type":602,"tag":757,"props":1001,"children":1002},{"style":825},[1003],{"type":611,"value":1004}," is",{"type":602,"tag":757,"props":1006,"children":1007},{"style":916},[1008],{"type":611,"value":919},{"type":602,"tag":757,"props":1010,"children":1011},{"style":837},[1012],{"type":611,"value":1013}," {",{"type":611,"value":897},{"type":602,"tag":757,"props":1016,"children":1017},{"class":759,"style":760},[1018,1023,1028,1033,1038,1043,1048,1053,1058,1062,1066],{"type":602,"tag":757,"props":1019,"children":1020},{"style":819},[1021],{"type":611,"value":1022},"  return",{"type":602,"tag":757,"props":1024,"children":1025},{"style":837},[1026],{"type":611,"value":1027}," (",{"type":602,"tag":757,"props":1029,"children":1030},{"style":831},[1031],{"type":611,"value":1032},"MCP_SCOPES",{"type":602,"tag":757,"props":1034,"children":1035},{"style":819},[1036],{"type":611,"value":1037}," as",{"type":602,"tag":757,"props":1039,"children":1040},{"style":825},[1041],{"type":611,"value":1042}," readonly",{"type":602,"tag":757,"props":1044,"children":1045},{"style":916},[1046],{"type":611,"value":1047}," string",{"type":602,"tag":757,"props":1049,"children":1050},{"style":837},[1051],{"type":611,"value":1052},"[]).",{"type":602,"tag":757,"props":1054,"children":1055},{"style":764},[1056],{"type":611,"value":1057},"includes",{"type":602,"tag":757,"props":1059,"children":1060},{"style":837},[1061],{"type":611,"value":975},{"type":602,"tag":757,"props":1063,"children":1064},{"style":843},[1065],{"type":611,"value":980},{"type":602,"tag":757,"props":1067,"children":1068},{"style":837},[1069],{"type":611,"value":895},{"type":611,"value":897},{"type":602,"tag":757,"props":1072,"children":1073},{"class":759,"style":760},[1074],{"type":602,"tag":757,"props":1075,"children":1076},{"style":837},[1077],{"type":611,"value":1078},"}",{"type":602,"tag":747,"props":1080,"children":1082},{"language":807,"filename":1081,"class":750},"convex\u002Fmcp.ts",[1083],{"type":602,"tag":607,"props":1084,"children":1085},{"class":812},[1086,1128,1129,1158,1159,1188,1189,1192,1193,1222,1223,1252,1253,1282,1283,1311,1312,1315,1316,1356,1357,1378,1379,1382,1383,1411,1412,1448,1449,1475,1476,1489,1490,1502,1503,1520,1521,1533,1534,1552,1553,1569,1570,1606,1607,1625,1626,1691,1692,1700,1701,1718,1719,1735,1736,1744,1745,1786,1787,1817,1818,1839,1840,1852,1853,1861,1862,1879,1880,1893,1894,1993,1994,2011,2012,2020,2021,2046,2047,2077,2078,2144,2145,2161,2162,2174,2175,2201,2202,2226,2227,2252,2253,2261,2262,2270,2271,2283,2284,2326,2327,2343,2344,2352,2353,2361,2362,2370,2371,2378,2379,2387,2388],{"type":602,"tag":757,"props":1087,"children":1088},{"class":759,"style":760},[1089,1094,1099,1104,1108,1113,1118,1123],{"type":602,"tag":757,"props":1090,"children":1091},{"style":819},[1092],{"type":611,"value":1093},"import",{"type":602,"tag":757,"props":1095,"children":1096},{"style":837},[1097],{"type":611,"value":1098}," { ",{"type":602,"tag":757,"props":1100,"children":1101},{"style":843},[1102],{"type":611,"value":1103},"handleMcpRequest",{"type":602,"tag":757,"props":1105,"children":1106},{"style":837},[1107],{"type":611,"value":871},{"type":602,"tag":757,"props":1109,"children":1110},{"style":843},[1111],{"type":611,"value":1112},"runMcpTool",{"type":602,"tag":757,"props":1114,"children":1115},{"style":837},[1116],{"type":611,"value":1117}," } ",{"type":602,"tag":757,"props":1119,"children":1120},{"style":819},[1121],{"type":611,"value":1122},"from",{"type":602,"tag":757,"props":1124,"children":1125},{"style":770},[1126],{"type":611,"value":1127}," '@lupinum\u002Fbetter-convex-mcp'",{"type":611,"value":897},{"type":602,"tag":757,"props":1130,"children":1131},{"class":759,"style":760},[1132,1136,1140,1145,1149,1153],{"type":602,"tag":757,"props":1133,"children":1134},{"style":819},[1135],{"type":611,"value":1093},{"type":602,"tag":757,"props":1137,"children":1138},{"style":837},[1139],{"type":611,"value":1098},{"type":602,"tag":757,"props":1141,"children":1142},{"style":843},[1143],{"type":611,"value":1144},"createBetterAuthMcpAccessVerifier",{"type":602,"tag":757,"props":1146,"children":1147},{"style":837},[1148],{"type":611,"value":1117},{"type":602,"tag":757,"props":1150,"children":1151},{"style":819},[1152],{"type":611,"value":1122},{"type":602,"tag":757,"props":1154,"children":1155},{"style":770},[1156],{"type":611,"value":1157}," '@lupinum\u002Fbetter-convex-nuxt\u002Fconvex-auth'",{"type":611,"value":897},{"type":602,"tag":757,"props":1160,"children":1161},{"class":759,"style":760},[1162,1166,1170,1175,1179,1183],{"type":602,"tag":757,"props":1163,"children":1164},{"style":819},[1165],{"type":611,"value":1093},{"type":602,"tag":757,"props":1167,"children":1168},{"style":837},[1169],{"type":611,"value":1098},{"type":602,"tag":757,"props":1171,"children":1172},{"style":843},[1173],{"type":611,"value":1174},"z",{"type":602,"tag":757,"props":1176,"children":1177},{"style":837},[1178],{"type":611,"value":1117},{"type":602,"tag":757,"props":1180,"children":1181},{"style":819},[1182],{"type":611,"value":1122},{"type":602,"tag":757,"props":1184,"children":1185},{"style":770},[1186],{"type":611,"value":1187}," 'zod'",{"type":611,"value":897},{"type":602,"tag":757,"props":1190,"children":1191},{"class":759,"style":760},[],{"type":611,"value":897},{"type":602,"tag":757,"props":1194,"children":1195},{"class":759,"style":760},[1196,1200,1204,1209,1213,1217],{"type":602,"tag":757,"props":1197,"children":1198},{"style":819},[1199],{"type":611,"value":1093},{"type":602,"tag":757,"props":1201,"children":1202},{"style":837},[1203],{"type":611,"value":1098},{"type":602,"tag":757,"props":1205,"children":1206},{"style":843},[1207],{"type":611,"value":1208},"internal",{"type":602,"tag":757,"props":1210,"children":1211},{"style":837},[1212],{"type":611,"value":1117},{"type":602,"tag":757,"props":1214,"children":1215},{"style":819},[1216],{"type":611,"value":1122},{"type":602,"tag":757,"props":1218,"children":1219},{"style":770},[1220],{"type":611,"value":1221}," '.\u002F_generated\u002Fapi'",{"type":611,"value":897},{"type":602,"tag":757,"props":1224,"children":1225},{"class":759,"style":760},[1226,1230,1234,1239,1243,1247],{"type":602,"tag":757,"props":1227,"children":1228},{"style":819},[1229],{"type":611,"value":1093},{"type":602,"tag":757,"props":1231,"children":1232},{"style":837},[1233],{"type":611,"value":1098},{"type":602,"tag":757,"props":1235,"children":1236},{"style":843},[1237],{"type":611,"value":1238},"httpAction",{"type":602,"tag":757,"props":1240,"children":1241},{"style":837},[1242],{"type":611,"value":1117},{"type":602,"tag":757,"props":1244,"children":1245},{"style":819},[1246],{"type":611,"value":1122},{"type":602,"tag":757,"props":1248,"children":1249},{"style":770},[1250],{"type":611,"value":1251}," '.\u002F_generated\u002Fserver'",{"type":611,"value":897},{"type":602,"tag":757,"props":1254,"children":1255},{"class":759,"style":760},[1256,1260,1264,1269,1273,1277],{"type":602,"tag":757,"props":1257,"children":1258},{"style":819},[1259],{"type":611,"value":1093},{"type":602,"tag":757,"props":1261,"children":1262},{"style":837},[1263],{"type":611,"value":1098},{"type":602,"tag":757,"props":1265,"children":1266},{"style":843},[1267],{"type":611,"value":1268},"authComponent",{"type":602,"tag":757,"props":1270,"children":1271},{"style":837},[1272],{"type":611,"value":1117},{"type":602,"tag":757,"props":1274,"children":1275},{"style":819},[1276],{"type":611,"value":1122},{"type":602,"tag":757,"props":1278,"children":1279},{"style":770},[1280],{"type":611,"value":1281}," '.\u002Fauth'",{"type":611,"value":897},{"type":602,"tag":757,"props":1284,"children":1285},{"class":759,"style":760},[1286,1290,1294,1298,1302,1306],{"type":602,"tag":757,"props":1287,"children":1288},{"style":819},[1289],{"type":611,"value":1093},{"type":602,"tag":757,"props":1291,"children":1292},{"style":837},[1293],{"type":611,"value":1098},{"type":602,"tag":757,"props":1295,"children":1296},{"style":843},[1297],{"type":611,"value":1032},{"type":602,"tag":757,"props":1299,"children":1300},{"style":837},[1301],{"type":611,"value":1117},{"type":602,"tag":757,"props":1303,"children":1304},{"style":819},[1305],{"type":611,"value":1122},{"type":602,"tag":757,"props":1307,"children":1308},{"style":770},[1309],{"type":611,"value":1310}," '.\u002Fmcp\u002Fscopes'",{"type":611,"value":897},{"type":602,"tag":757,"props":1313,"children":1314},{"class":759,"style":760},[],{"type":611,"value":897},{"type":602,"tag":757,"props":1317,"children":1318},{"class":759,"style":760},[1319,1324,1329,1333,1338,1343,1347,1352],{"type":602,"tag":757,"props":1320,"children":1321},{"style":825},[1322],{"type":611,"value":1323},"const",{"type":602,"tag":757,"props":1325,"children":1326},{"style":831},[1327],{"type":611,"value":1328}," resource",{"type":602,"tag":757,"props":1330,"children":1331},{"style":837},[1332],{"type":611,"value":840},{"type":602,"tag":757,"props":1334,"children":1335},{"style":825},[1336],{"type":611,"value":1337},"new",{"type":602,"tag":757,"props":1339,"children":1340},{"style":764},[1341],{"type":611,"value":1342}," URL",{"type":602,"tag":757,"props":1344,"children":1345},{"style":837},[1346],{"type":611,"value":975},{"type":602,"tag":757,"props":1348,"children":1349},{"style":770},[1350],{"type":611,"value":1351},"'https:\u002F\u002Fdeployment.convex.site\u002Fmcp'",{"type":602,"tag":757,"props":1353,"children":1354},{"style":837},[1355],{"type":611,"value":895},{"type":611,"value":897},{"type":602,"tag":757,"props":1358,"children":1359},{"class":759,"style":760},[1360,1364,1369,1373],{"type":602,"tag":757,"props":1361,"children":1362},{"style":825},[1363],{"type":611,"value":1323},{"type":602,"tag":757,"props":1365,"children":1366},{"style":831},[1367],{"type":611,"value":1368}," issuer",{"type":602,"tag":757,"props":1370,"children":1371},{"style":837},[1372],{"type":611,"value":840},{"type":602,"tag":757,"props":1374,"children":1375},{"style":770},[1376],{"type":611,"value":1377},"'https:\u002F\u002Faccounts.example.com'",{"type":611,"value":897},{"type":602,"tag":757,"props":1380,"children":1381},{"class":759,"style":760},[],{"type":611,"value":897},{"type":602,"tag":757,"props":1384,"children":1385},{"class":759,"style":760},[1386,1390,1394,1399,1403,1407],{"type":602,"tag":757,"props":1387,"children":1388},{"style":819},[1389],{"type":611,"value":822},{"type":602,"tag":757,"props":1391,"children":1392},{"style":825},[1393],{"type":611,"value":828},{"type":602,"tag":757,"props":1395,"children":1396},{"style":831},[1397],{"type":611,"value":1398}," handleMcp",{"type":602,"tag":757,"props":1400,"children":1401},{"style":837},[1402],{"type":611,"value":840},{"type":602,"tag":757,"props":1404,"children":1405},{"style":764},[1406],{"type":611,"value":1238},{"type":602,"tag":757,"props":1408,"children":1409},{"style":837},[1410],{"type":611,"value":975},{"type":611,"value":897},{"type":602,"tag":757,"props":1413,"children":1414},{"class":759,"style":760},[1415,1420,1424,1429,1433,1438,1443],{"type":602,"tag":757,"props":1416,"children":1417},{"style":825},[1418],{"type":611,"value":1419},"  async",{"type":602,"tag":757,"props":1421,"children":1422},{"style":837},[1423],{"type":611,"value":1027},{"type":602,"tag":757,"props":1425,"children":1426},{"style":843},[1427],{"type":611,"value":1428},"ctx",{"type":602,"tag":757,"props":1430,"children":1431},{"style":837},[1432],{"type":611,"value":871},{"type":602,"tag":757,"props":1434,"children":1435},{"style":843},[1436],{"type":611,"value":1437},"request",{"type":602,"tag":757,"props":1439,"children":1440},{"style":837},[1441],{"type":611,"value":1442},") ",{"type":602,"tag":757,"props":1444,"children":1445},{"style":825},[1446],{"type":611,"value":1447},"=>",{"type":611,"value":897},{"type":602,"tag":757,"props":1450,"children":1451},{"class":759,"style":760},[1452,1457,1462,1466,1470],{"type":602,"tag":757,"props":1453,"children":1454},{"style":819},[1455],{"type":611,"value":1456},"    await",{"type":602,"tag":757,"props":1458,"children":1459},{"style":764},[1460],{"type":611,"value":1461}," handleMcpRequest",{"type":602,"tag":757,"props":1463,"children":1464},{"style":837},[1465],{"type":611,"value":975},{"type":602,"tag":757,"props":1467,"children":1468},{"style":843},[1469],{"type":611,"value":1437},{"type":602,"tag":757,"props":1471,"children":1472},{"style":837},[1473],{"type":611,"value":1474},", {",{"type":611,"value":897},{"type":602,"tag":757,"props":1477,"children":1478},{"class":759,"style":760},[1479,1484],{"type":602,"tag":757,"props":1480,"children":1481},{"style":843},[1482],{"type":611,"value":1483},"      resource",{"type":602,"tag":757,"props":1485,"children":1486},{"style":837},[1487],{"type":611,"value":1488},",",{"type":611,"value":897},{"type":602,"tag":757,"props":1491,"children":1492},{"class":759,"style":760},[1493,1498],{"type":602,"tag":757,"props":1494,"children":1495},{"style":843},[1496],{"type":611,"value":1497},"      authorization:",{"type":602,"tag":757,"props":1499,"children":1500},{"style":837},[1501],{"type":611,"value":1013},{"type":611,"value":897},{"type":602,"tag":757,"props":1504,"children":1505},{"class":759,"style":760},[1506,1511,1516],{"type":602,"tag":757,"props":1507,"children":1508},{"style":843},[1509],{"type":611,"value":1510},"        mode:",{"type":602,"tag":757,"props":1512,"children":1513},{"style":770},[1514],{"type":611,"value":1515}," 'oauth'",{"type":602,"tag":757,"props":1517,"children":1518},{"style":837},[1519],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":1522,"children":1523},{"class":759,"style":760},[1524,1529],{"type":602,"tag":757,"props":1525,"children":1526},{"style":843},[1527],{"type":611,"value":1528},"        issuer",{"type":602,"tag":757,"props":1530,"children":1531},{"style":837},[1532],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":1535,"children":1536},{"class":759,"style":760},[1537,1542,1547],{"type":602,"tag":757,"props":1538,"children":1539},{"style":843},[1540],{"type":611,"value":1541},"        verifier:",{"type":602,"tag":757,"props":1543,"children":1544},{"style":764},[1545],{"type":611,"value":1546}," createBetterAuthMcpAccessVerifier",{"type":602,"tag":757,"props":1548,"children":1549},{"style":837},[1550],{"type":611,"value":1551},"({",{"type":611,"value":897},{"type":602,"tag":757,"props":1554,"children":1555},{"class":759,"style":760},[1556,1561,1565],{"type":602,"tag":757,"props":1557,"children":1558},{"style":843},[1559],{"type":611,"value":1560},"          allowedScopes:",{"type":602,"tag":757,"props":1562,"children":1563},{"style":831},[1564],{"type":611,"value":834},{"type":602,"tag":757,"props":1566,"children":1567},{"style":837},[1568],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":1571,"children":1572},{"class":759,"style":760},[1573,1578,1583,1588,1593,1597,1602],{"type":602,"tag":757,"props":1574,"children":1575},{"style":843},[1576],{"type":611,"value":1577},"          jwksUrl:",{"type":602,"tag":757,"props":1579,"children":1580},{"style":770},[1581],{"type":611,"value":1582}," `",{"type":602,"tag":757,"props":1584,"children":1585},{"style":825},[1586],{"type":611,"value":1587},"${",{"type":602,"tag":757,"props":1589,"children":1590},{"style":843},[1591],{"type":611,"value":1592},"issuer",{"type":602,"tag":757,"props":1594,"children":1595},{"style":825},[1596],{"type":611,"value":1078},{"type":602,"tag":757,"props":1598,"children":1599},{"style":770},[1600],{"type":611,"value":1601},"\u002Fjwks`",{"type":602,"tag":757,"props":1603,"children":1604},{"style":837},[1605],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":1608,"children":1609},{"class":759,"style":760},[1610,1615,1621],{"type":602,"tag":757,"props":1611,"children":1612},{"style":843},[1613],{"type":611,"value":1614},"          maxLifetimeSeconds:",{"type":602,"tag":757,"props":1616,"children":1618},{"style":1617},"color:#098658;--shiki-dark:#B5CEA8",[1619],{"type":611,"value":1620}," 600",{"type":602,"tag":757,"props":1622,"children":1623},{"style":837},[1624],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":1627,"children":1628},{"class":759,"style":760},[1629,1634,1639,1643,1648,1652,1656,1661,1665,1670,1674,1678,1682,1686],{"type":602,"tag":757,"props":1630,"children":1631},{"style":764},[1632],{"type":611,"value":1633},"          validateLiveAccess",{"type":602,"tag":757,"props":1635,"children":1636},{"style":843},[1637],{"type":611,"value":1638},":",{"type":602,"tag":757,"props":1640,"children":1641},{"style":837},[1642],{"type":611,"value":1027},{"type":602,"tag":757,"props":1644,"children":1645},{"style":843},[1646],{"type":611,"value":1647},"access",{"type":602,"tag":757,"props":1649,"children":1650},{"style":837},[1651],{"type":611,"value":1442},{"type":602,"tag":757,"props":1653,"children":1654},{"style":825},[1655],{"type":611,"value":1447},{"type":602,"tag":757,"props":1657,"children":1658},{"style":843},[1659],{"type":611,"value":1660}," authComponent",{"type":602,"tag":757,"props":1662,"children":1663},{"style":837},[1664],{"type":611,"value":851},{"type":602,"tag":757,"props":1666,"children":1667},{"style":764},[1668],{"type":611,"value":1669},"validateOAuthAccess",{"type":602,"tag":757,"props":1671,"children":1672},{"style":837},[1673],{"type":611,"value":975},{"type":602,"tag":757,"props":1675,"children":1676},{"style":843},[1677],{"type":611,"value":1428},{"type":602,"tag":757,"props":1679,"children":1680},{"style":837},[1681],{"type":611,"value":871},{"type":602,"tag":757,"props":1683,"children":1684},{"style":843},[1685],{"type":611,"value":1647},{"type":602,"tag":757,"props":1687,"children":1688},{"style":837},[1689],{"type":611,"value":1690},"),",{"type":611,"value":897},{"type":602,"tag":757,"props":1693,"children":1694},{"class":759,"style":760},[1695],{"type":602,"tag":757,"props":1696,"children":1697},{"style":837},[1698],{"type":611,"value":1699},"        }),",{"type":611,"value":897},{"type":602,"tag":757,"props":1702,"children":1703},{"class":759,"style":760},[1704,1709,1714],{"type":602,"tag":757,"props":1705,"children":1706},{"style":843},[1707],{"type":611,"value":1708},"        resourceName:",{"type":602,"tag":757,"props":1710,"children":1711},{"style":770},[1712],{"type":611,"value":1713}," 'Example MCP'",{"type":602,"tag":757,"props":1715,"children":1716},{"style":837},[1717],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":1720,"children":1721},{"class":759,"style":760},[1722,1727,1731],{"type":602,"tag":757,"props":1723,"children":1724},{"style":843},[1725],{"type":611,"value":1726},"        scopesSupported:",{"type":602,"tag":757,"props":1728,"children":1729},{"style":831},[1730],{"type":611,"value":834},{"type":602,"tag":757,"props":1732,"children":1733},{"style":837},[1734],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":1737,"children":1738},{"class":759,"style":760},[1739],{"type":602,"tag":757,"props":1740,"children":1741},{"style":837},[1742],{"type":611,"value":1743},"      },",{"type":611,"value":897},{"type":602,"tag":757,"props":1746,"children":1747},{"class":759,"style":760},[1748,1753,1757,1762,1767,1771,1776,1781],{"type":602,"tag":757,"props":1749,"children":1750},{"style":843},[1751],{"type":611,"value":1752},"      serverInfo:",{"type":602,"tag":757,"props":1754,"children":1755},{"style":837},[1756],{"type":611,"value":1098},{"type":602,"tag":757,"props":1758,"children":1759},{"style":843},[1760],{"type":611,"value":1761},"name:",{"type":602,"tag":757,"props":1763,"children":1764},{"style":770},[1765],{"type":611,"value":1766}," 'example-mcp'",{"type":602,"tag":757,"props":1768,"children":1769},{"style":837},[1770],{"type":611,"value":871},{"type":602,"tag":757,"props":1772,"children":1773},{"style":843},[1774],{"type":611,"value":1775},"version:",{"type":602,"tag":757,"props":1777,"children":1778},{"style":770},[1779],{"type":611,"value":1780}," '1.0.0'",{"type":602,"tag":757,"props":1782,"children":1783},{"style":837},[1784],{"type":611,"value":1785}," },",{"type":611,"value":897},{"type":602,"tag":757,"props":1788,"children":1789},{"class":759,"style":760},[1790,1795,1799,1803,1807,1812],{"type":602,"tag":757,"props":1791,"children":1792},{"style":764},[1793],{"type":611,"value":1794},"      configureServer",{"type":602,"tag":757,"props":1796,"children":1797},{"style":837},[1798],{"type":611,"value":975},{"type":602,"tag":757,"props":1800,"children":1801},{"style":843},[1802],{"type":611,"value":1647},{"type":602,"tag":757,"props":1804,"children":1805},{"style":837},[1806],{"type":611,"value":871},{"type":602,"tag":757,"props":1808,"children":1809},{"style":843},[1810],{"type":611,"value":1811},"server",{"type":602,"tag":757,"props":1813,"children":1814},{"style":837},[1815],{"type":611,"value":1816},") {",{"type":611,"value":897},{"type":602,"tag":757,"props":1819,"children":1820},{"class":759,"style":760},[1821,1826,1830,1835],{"type":602,"tag":757,"props":1822,"children":1823},{"style":843},[1824],{"type":611,"value":1825},"        server",{"type":602,"tag":757,"props":1827,"children":1828},{"style":837},[1829],{"type":611,"value":851},{"type":602,"tag":757,"props":1831,"children":1832},{"style":764},[1833],{"type":611,"value":1834},"registerTool",{"type":602,"tag":757,"props":1836,"children":1837},{"style":837},[1838],{"type":611,"value":975},{"type":611,"value":897},{"type":602,"tag":757,"props":1841,"children":1842},{"class":759,"style":760},[1843,1848],{"type":602,"tag":757,"props":1844,"children":1845},{"style":770},[1846],{"type":611,"value":1847},"          'notes.rename'",{"type":602,"tag":757,"props":1849,"children":1850},{"style":837},[1851],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":1854,"children":1855},{"class":759,"style":760},[1856],{"type":602,"tag":757,"props":1857,"children":1858},{"style":837},[1859],{"type":611,"value":1860},"          {",{"type":611,"value":897},{"type":602,"tag":757,"props":1863,"children":1864},{"class":759,"style":760},[1865,1870,1875],{"type":602,"tag":757,"props":1866,"children":1867},{"style":843},[1868],{"type":611,"value":1869},"            description:",{"type":602,"tag":757,"props":1871,"children":1872},{"style":770},[1873],{"type":611,"value":1874}," 'Rename one note after current application authorization.'",{"type":602,"tag":757,"props":1876,"children":1877},{"style":837},[1878],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":1881,"children":1882},{"class":759,"style":760},[1883,1888],{"type":602,"tag":757,"props":1884,"children":1885},{"style":843},[1886],{"type":611,"value":1887},"            inputSchema:",{"type":602,"tag":757,"props":1889,"children":1890},{"style":843},[1891],{"type":611,"value":1892}," z",{"type":611,"value":897},{"type":602,"tag":757,"props":1895,"children":1896},{"class":759,"style":760},[1897,1902,1907,1912,1917,1921,1925,1929,1934,1939,1943,1947,1951,1956,1961,1965,1969,1974,1979,1983,1988],{"type":602,"tag":757,"props":1898,"children":1899},{"style":837},[1900],{"type":611,"value":1901},"              .",{"type":602,"tag":757,"props":1903,"children":1904},{"style":764},[1905],{"type":611,"value":1906},"object",{"type":602,"tag":757,"props":1908,"children":1909},{"style":837},[1910],{"type":611,"value":1911},"({ ",{"type":602,"tag":757,"props":1913,"children":1914},{"style":843},[1915],{"type":611,"value":1916},"noteId:",{"type":602,"tag":757,"props":1918,"children":1919},{"style":843},[1920],{"type":611,"value":1892},{"type":602,"tag":757,"props":1922,"children":1923},{"style":837},[1924],{"type":611,"value":851},{"type":602,"tag":757,"props":1926,"children":1927},{"style":764},[1928],{"type":611,"value":990},{"type":602,"tag":757,"props":1930,"children":1931},{"style":837},[1932],{"type":611,"value":1933},"(), ",{"type":602,"tag":757,"props":1935,"children":1936},{"style":843},[1937],{"type":611,"value":1938},"title:",{"type":602,"tag":757,"props":1940,"children":1941},{"style":843},[1942],{"type":611,"value":1892},{"type":602,"tag":757,"props":1944,"children":1945},{"style":837},[1946],{"type":611,"value":851},{"type":602,"tag":757,"props":1948,"children":1949},{"style":764},[1950],{"type":611,"value":990},{"type":602,"tag":757,"props":1952,"children":1953},{"style":837},[1954],{"type":611,"value":1955},"().",{"type":602,"tag":757,"props":1957,"children":1958},{"style":764},[1959],{"type":611,"value":1960},"min",{"type":602,"tag":757,"props":1962,"children":1963},{"style":837},[1964],{"type":611,"value":975},{"type":602,"tag":757,"props":1966,"children":1967},{"style":1617},[1968],{"type":611,"value":7},{"type":602,"tag":757,"props":1970,"children":1971},{"style":837},[1972],{"type":611,"value":1973},").",{"type":602,"tag":757,"props":1975,"children":1976},{"style":764},[1977],{"type":611,"value":1978},"max",{"type":602,"tag":757,"props":1980,"children":1981},{"style":837},[1982],{"type":611,"value":975},{"type":602,"tag":757,"props":1984,"children":1985},{"style":1617},[1986],{"type":611,"value":1987},"120",{"type":602,"tag":757,"props":1989,"children":1990},{"style":837},[1991],{"type":611,"value":1992},") })",{"type":611,"value":897},{"type":602,"tag":757,"props":1995,"children":1996},{"class":759,"style":760},[1997,2001,2006],{"type":602,"tag":757,"props":1998,"children":1999},{"style":837},[2000],{"type":611,"value":1901},{"type":602,"tag":757,"props":2002,"children":2003},{"style":764},[2004],{"type":611,"value":2005},"strict",{"type":602,"tag":757,"props":2007,"children":2008},{"style":837},[2009],{"type":611,"value":2010},"(),",{"type":611,"value":897},{"type":602,"tag":757,"props":2013,"children":2014},{"class":759,"style":760},[2015],{"type":602,"tag":757,"props":2016,"children":2017},{"style":837},[2018],{"type":611,"value":2019},"          },",{"type":611,"value":897},{"type":602,"tag":757,"props":2022,"children":2023},{"class":759,"style":760},[2024,2029,2033,2038,2042],{"type":602,"tag":757,"props":2025,"children":2026},{"style":825},[2027],{"type":611,"value":2028},"          async",{"type":602,"tag":757,"props":2030,"children":2031},{"style":837},[2032],{"type":611,"value":1027},{"type":602,"tag":757,"props":2034,"children":2035},{"style":843},[2036],{"type":611,"value":2037},"args",{"type":602,"tag":757,"props":2039,"children":2040},{"style":837},[2041],{"type":611,"value":1442},{"type":602,"tag":757,"props":2043,"children":2044},{"style":825},[2045],{"type":611,"value":1447},{"type":611,"value":897},{"type":602,"tag":757,"props":2048,"children":2049},{"class":759,"style":760},[2050,2055,2059,2064,2069,2073],{"type":602,"tag":757,"props":2051,"children":2052},{"style":764},[2053],{"type":611,"value":2054},"            runMcpTool",{"type":602,"tag":757,"props":2056,"children":2057},{"style":837},[2058],{"type":611,"value":975},{"type":602,"tag":757,"props":2060,"children":2061},{"style":825},[2062],{"type":611,"value":2063},"async",{"type":602,"tag":757,"props":2065,"children":2066},{"style":837},[2067],{"type":611,"value":2068}," () ",{"type":602,"tag":757,"props":2070,"children":2071},{"style":825},[2072],{"type":611,"value":1447},{"type":602,"tag":757,"props":2074,"children":2075},{"style":837},[2076],{"type":611,"value":1013},{"type":611,"value":897},{"type":602,"tag":757,"props":2079,"children":2080},{"class":759,"style":760},[2081,2086,2091,2095,2100,2105,2109,2114,2118,2122,2126,2131,2135,2140],{"type":602,"tag":757,"props":2082,"children":2083},{"style":825},[2084],{"type":611,"value":2085},"              const",{"type":602,"tag":757,"props":2087,"children":2088},{"style":831},[2089],{"type":611,"value":2090}," value",{"type":602,"tag":757,"props":2092,"children":2093},{"style":837},[2094],{"type":611,"value":840},{"type":602,"tag":757,"props":2096,"children":2097},{"style":819},[2098],{"type":611,"value":2099},"await",{"type":602,"tag":757,"props":2101,"children":2102},{"style":843},[2103],{"type":611,"value":2104}," ctx",{"type":602,"tag":757,"props":2106,"children":2107},{"style":837},[2108],{"type":611,"value":851},{"type":602,"tag":757,"props":2110,"children":2111},{"style":764},[2112],{"type":611,"value":2113},"runMutation",{"type":602,"tag":757,"props":2115,"children":2116},{"style":837},[2117],{"type":611,"value":975},{"type":602,"tag":757,"props":2119,"children":2120},{"style":843},[2121],{"type":611,"value":1208},{"type":602,"tag":757,"props":2123,"children":2124},{"style":837},[2125],{"type":611,"value":851},{"type":602,"tag":757,"props":2127,"children":2128},{"style":843},[2129],{"type":611,"value":2130},"notes",{"type":602,"tag":757,"props":2132,"children":2133},{"style":837},[2134],{"type":611,"value":851},{"type":602,"tag":757,"props":2136,"children":2137},{"style":843},[2138],{"type":611,"value":2139},"renameFromMcp",{"type":602,"tag":757,"props":2141,"children":2142},{"style":837},[2143],{"type":611,"value":1474},{"type":611,"value":897},{"type":602,"tag":757,"props":2146,"children":2147},{"class":759,"style":760},[2148,2153,2157],{"type":602,"tag":757,"props":2149,"children":2150},{"style":837},[2151],{"type":611,"value":2152},"                ...",{"type":602,"tag":757,"props":2154,"children":2155},{"style":843},[2156],{"type":611,"value":2037},{"type":602,"tag":757,"props":2158,"children":2159},{"style":837},[2160],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":2163,"children":2164},{"class":759,"style":760},[2165,2170],{"type":602,"tag":757,"props":2166,"children":2167},{"style":843},[2168],{"type":611,"value":2169},"                access:",{"type":602,"tag":757,"props":2171,"children":2172},{"style":837},[2173],{"type":611,"value":1013},{"type":611,"value":897},{"type":602,"tag":757,"props":2176,"children":2177},{"class":759,"style":760},[2178,2183,2188,2192,2197],{"type":602,"tag":757,"props":2179,"children":2180},{"style":843},[2181],{"type":611,"value":2182},"                  clientId:",{"type":602,"tag":757,"props":2184,"children":2185},{"style":843},[2186],{"type":611,"value":2187}," access",{"type":602,"tag":757,"props":2189,"children":2190},{"style":837},[2191],{"type":611,"value":851},{"type":602,"tag":757,"props":2193,"children":2194},{"style":843},[2195],{"type":611,"value":2196},"clientId",{"type":602,"tag":757,"props":2198,"children":2199},{"style":837},[2200],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":2203,"children":2204},{"class":759,"style":760},[2205,2210,2214,2218,2222],{"type":602,"tag":757,"props":2206,"children":2207},{"style":843},[2208],{"type":611,"value":2209},"                  issuer:",{"type":602,"tag":757,"props":2211,"children":2212},{"style":843},[2213],{"type":611,"value":2187},{"type":602,"tag":757,"props":2215,"children":2216},{"style":837},[2217],{"type":611,"value":851},{"type":602,"tag":757,"props":2219,"children":2220},{"style":843},[2221],{"type":611,"value":1592},{"type":602,"tag":757,"props":2223,"children":2224},{"style":837},[2225],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":2228,"children":2229},{"class":759,"style":760},[2230,2235,2239,2243,2248],{"type":602,"tag":757,"props":2231,"children":2232},{"style":843},[2233],{"type":611,"value":2234},"                  subject:",{"type":602,"tag":757,"props":2236,"children":2237},{"style":843},[2238],{"type":611,"value":2187},{"type":602,"tag":757,"props":2240,"children":2241},{"style":837},[2242],{"type":611,"value":851},{"type":602,"tag":757,"props":2244,"children":2245},{"style":843},[2246],{"type":611,"value":2247},"subject",{"type":602,"tag":757,"props":2249,"children":2250},{"style":837},[2251],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":2254,"children":2255},{"class":759,"style":760},[2256],{"type":602,"tag":757,"props":2257,"children":2258},{"style":837},[2259],{"type":611,"value":2260},"                },",{"type":611,"value":897},{"type":602,"tag":757,"props":2263,"children":2264},{"class":759,"style":760},[2265],{"type":602,"tag":757,"props":2266,"children":2267},{"style":837},[2268],{"type":611,"value":2269},"              })",{"type":611,"value":897},{"type":602,"tag":757,"props":2272,"children":2273},{"class":759,"style":760},[2274,2279],{"type":602,"tag":757,"props":2275,"children":2276},{"style":819},[2277],{"type":611,"value":2278},"              return",{"type":602,"tag":757,"props":2280,"children":2281},{"style":837},[2282],{"type":611,"value":1013},{"type":611,"value":897},{"type":602,"tag":757,"props":2285,"children":2286},{"class":759,"style":760},[2287,2292,2297,2302,2307,2311,2316,2321],{"type":602,"tag":757,"props":2288,"children":2289},{"style":843},[2290],{"type":611,"value":2291},"                content:",{"type":602,"tag":757,"props":2293,"children":2294},{"style":837},[2295],{"type":611,"value":2296}," [{ ",{"type":602,"tag":757,"props":2298,"children":2299},{"style":843},[2300],{"type":611,"value":2301},"type:",{"type":602,"tag":757,"props":2303,"children":2304},{"style":770},[2305],{"type":611,"value":2306}," 'text'",{"type":602,"tag":757,"props":2308,"children":2309},{"style":837},[2310],{"type":611,"value":871},{"type":602,"tag":757,"props":2312,"children":2313},{"style":843},[2314],{"type":611,"value":2315},"text:",{"type":602,"tag":757,"props":2317,"children":2318},{"style":770},[2319],{"type":611,"value":2320}," 'Note renamed'",{"type":602,"tag":757,"props":2322,"children":2323},{"style":837},[2324],{"type":611,"value":2325}," }],",{"type":611,"value":897},{"type":602,"tag":757,"props":2328,"children":2329},{"class":759,"style":760},[2330,2335,2339],{"type":602,"tag":757,"props":2331,"children":2332},{"style":843},[2333],{"type":611,"value":2334},"                structuredContent:",{"type":602,"tag":757,"props":2336,"children":2337},{"style":843},[2338],{"type":611,"value":2090},{"type":602,"tag":757,"props":2340,"children":2341},{"style":837},[2342],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":2345,"children":2346},{"class":759,"style":760},[2347],{"type":602,"tag":757,"props":2348,"children":2349},{"style":837},[2350],{"type":611,"value":2351},"              }",{"type":611,"value":897},{"type":602,"tag":757,"props":2354,"children":2355},{"class":759,"style":760},[2356],{"type":602,"tag":757,"props":2357,"children":2358},{"style":837},[2359],{"type":611,"value":2360},"            }),",{"type":611,"value":897},{"type":602,"tag":757,"props":2363,"children":2364},{"class":759,"style":760},[2365],{"type":602,"tag":757,"props":2366,"children":2367},{"style":837},[2368],{"type":611,"value":2369},"        )",{"type":611,"value":897},{"type":602,"tag":757,"props":2372,"children":2373},{"class":759,"style":760},[2374],{"type":602,"tag":757,"props":2375,"children":2376},{"style":837},[2377],{"type":611,"value":1743},{"type":611,"value":897},{"type":602,"tag":757,"props":2380,"children":2381},{"class":759,"style":760},[2382],{"type":602,"tag":757,"props":2383,"children":2384},{"style":837},[2385],{"type":611,"value":2386},"    }),",{"type":611,"value":897},{"type":602,"tag":757,"props":2389,"children":2390},{"class":759,"style":760},[2391],{"type":602,"tag":757,"props":2392,"children":2393},{"style":837},[2394],{"type":611,"value":895},{"type":602,"tag":603,"props":2396,"children":2397},{},[2398,2403],{"type":602,"tag":607,"props":2399,"children":2400},{},[2401],{"type":611,"value":2402},"authComponent.validateOAuthAccess",{"type":611,"value":2404}," owns the live Better Auth session, user, client, resource,\nclient-resource link, consent, and scope checks. Application mutations still own membership,\nroles, delegation, resource policy, rate limits, and approvals. A disabled provider resource blocks\nnew token issuance; deletion—not disabling—invalidates an otherwise-current issued token under the\npinned provider semantics.",{"type":602,"tag":603,"props":2406,"children":2407},{},[2408,2410,2415,2417,2422,2424,2429,2431,2436,2438,2443,2445,2449,2451,2456],{"type":611,"value":2409},"OAuth mode has five explicit Convex route registrations. ",{"type":602,"tag":607,"props":2411,"children":2412},{},[2413],{"type":611,"value":2414},"GET",{"type":611,"value":2416}," and ",{"type":602,"tag":607,"props":2418,"children":2419},{},[2420],{"type":611,"value":2421},"DELETE",{"type":611,"value":2423}," on\nthe transport path reach the handler's deliberate ",{"type":602,"tag":607,"props":2425,"children":2426},{},[2427],{"type":611,"value":2428},"405",{"type":611,"value":2430}," response instead of\nbecoming router-level ",{"type":602,"tag":607,"props":2432,"children":2433},{},[2434],{"type":611,"value":2435},"404",{"type":611,"value":2437},"s. Convex dispatches ",{"type":602,"tag":607,"props":2439,"children":2440},{},[2441],{"type":611,"value":2442},"HEAD",{"type":611,"value":2444}," through the matching\nmetadata ",{"type":602,"tag":607,"props":2446,"children":2447},{},[2448],{"type":611,"value":2414},{"type":611,"value":2450}," route, while browser metadata discovery needs its own ",{"type":602,"tag":607,"props":2452,"children":2453},{},[2454],{"type":611,"value":2455},"OPTIONS",{"type":611,"value":2457},"\nregistration:",{"type":602,"tag":747,"props":2459,"children":2461},{"language":807,"filename":2460,"class":750},"convex\u002Fhttp.ts",[2462],{"type":602,"tag":607,"props":2463,"children":2464},{"class":812},[2465,2494,2495,2498,2499,2528,2529,2532,2533,2558,2559,2562,2563,2626,2627,2683,2684,2740,2741,2760,2761,2777,2778,2794,2795,2812,2813,2821,2822,2841,2842,2857,2858,2874,2875,2890,2891,2898,2899,2902,2903],{"type":602,"tag":757,"props":2466,"children":2467},{"class":759,"style":760},[2468,2472,2476,2481,2485,2489],{"type":602,"tag":757,"props":2469,"children":2470},{"style":819},[2471],{"type":611,"value":1093},{"type":602,"tag":757,"props":2473,"children":2474},{"style":837},[2475],{"type":611,"value":1098},{"type":602,"tag":757,"props":2477,"children":2478},{"style":843},[2479],{"type":611,"value":2480},"httpRouter",{"type":602,"tag":757,"props":2482,"children":2483},{"style":837},[2484],{"type":611,"value":1117},{"type":602,"tag":757,"props":2486,"children":2487},{"style":819},[2488],{"type":611,"value":1122},{"type":602,"tag":757,"props":2490,"children":2491},{"style":770},[2492],{"type":611,"value":2493}," 'convex\u002Fserver'",{"type":611,"value":897},{"type":602,"tag":757,"props":2496,"children":2497},{"class":759,"style":760},[],{"type":611,"value":897},{"type":602,"tag":757,"props":2500,"children":2501},{"class":759,"style":760},[2502,2506,2510,2515,2519,2523],{"type":602,"tag":757,"props":2503,"children":2504},{"style":819},[2505],{"type":611,"value":1093},{"type":602,"tag":757,"props":2507,"children":2508},{"style":837},[2509],{"type":611,"value":1098},{"type":602,"tag":757,"props":2511,"children":2512},{"style":843},[2513],{"type":611,"value":2514},"handleMcp",{"type":602,"tag":757,"props":2516,"children":2517},{"style":837},[2518],{"type":611,"value":1117},{"type":602,"tag":757,"props":2520,"children":2521},{"style":819},[2522],{"type":611,"value":1122},{"type":602,"tag":757,"props":2524,"children":2525},{"style":770},[2526],{"type":611,"value":2527}," '.\u002Fmcp'",{"type":611,"value":897},{"type":602,"tag":757,"props":2530,"children":2531},{"class":759,"style":760},[],{"type":611,"value":897},{"type":602,"tag":757,"props":2534,"children":2535},{"class":759,"style":760},[2536,2540,2545,2549,2553],{"type":602,"tag":757,"props":2537,"children":2538},{"style":825},[2539],{"type":611,"value":1323},{"type":602,"tag":757,"props":2541,"children":2542},{"style":831},[2543],{"type":611,"value":2544}," http",{"type":602,"tag":757,"props":2546,"children":2547},{"style":837},[2548],{"type":611,"value":840},{"type":602,"tag":757,"props":2550,"children":2551},{"style":764},[2552],{"type":611,"value":2480},{"type":602,"tag":757,"props":2554,"children":2555},{"style":837},[2556],{"type":611,"value":2557},"()",{"type":611,"value":897},{"type":602,"tag":757,"props":2560,"children":2561},{"class":759,"style":760},[],{"type":611,"value":897},{"type":602,"tag":757,"props":2564,"children":2565},{"class":759,"style":760},[2566,2571,2575,2580,2584,2589,2593,2597,2602,2607,2611,2616,2621],{"type":602,"tag":757,"props":2567,"children":2568},{"style":843},[2569],{"type":611,"value":2570},"http",{"type":602,"tag":757,"props":2572,"children":2573},{"style":837},[2574],{"type":611,"value":851},{"type":602,"tag":757,"props":2576,"children":2577},{"style":764},[2578],{"type":611,"value":2579},"route",{"type":602,"tag":757,"props":2581,"children":2582},{"style":837},[2583],{"type":611,"value":1911},{"type":602,"tag":757,"props":2585,"children":2586},{"style":843},[2587],{"type":611,"value":2588},"handler:",{"type":602,"tag":757,"props":2590,"children":2591},{"style":843},[2592],{"type":611,"value":1398},{"type":602,"tag":757,"props":2594,"children":2595},{"style":837},[2596],{"type":611,"value":871},{"type":602,"tag":757,"props":2598,"children":2599},{"style":843},[2600],{"type":611,"value":2601},"method:",{"type":602,"tag":757,"props":2603,"children":2604},{"style":770},[2605],{"type":611,"value":2606}," 'POST'",{"type":602,"tag":757,"props":2608,"children":2609},{"style":837},[2610],{"type":611,"value":871},{"type":602,"tag":757,"props":2612,"children":2613},{"style":843},[2614],{"type":611,"value":2615},"path:",{"type":602,"tag":757,"props":2617,"children":2618},{"style":770},[2619],{"type":611,"value":2620}," '\u002Fmcp'",{"type":602,"tag":757,"props":2622,"children":2623},{"style":837},[2624],{"type":611,"value":2625}," })",{"type":611,"value":897},{"type":602,"tag":757,"props":2628,"children":2629},{"class":759,"style":760},[2630,2634,2638,2642,2646,2650,2654,2658,2662,2667,2671,2675,2679],{"type":602,"tag":757,"props":2631,"children":2632},{"style":843},[2633],{"type":611,"value":2570},{"type":602,"tag":757,"props":2635,"children":2636},{"style":837},[2637],{"type":611,"value":851},{"type":602,"tag":757,"props":2639,"children":2640},{"style":764},[2641],{"type":611,"value":2579},{"type":602,"tag":757,"props":2643,"children":2644},{"style":837},[2645],{"type":611,"value":1911},{"type":602,"tag":757,"props":2647,"children":2648},{"style":843},[2649],{"type":611,"value":2588},{"type":602,"tag":757,"props":2651,"children":2652},{"style":843},[2653],{"type":611,"value":1398},{"type":602,"tag":757,"props":2655,"children":2656},{"style":837},[2657],{"type":611,"value":871},{"type":602,"tag":757,"props":2659,"children":2660},{"style":843},[2661],{"type":611,"value":2601},{"type":602,"tag":757,"props":2663,"children":2664},{"style":770},[2665],{"type":611,"value":2666}," 'GET'",{"type":602,"tag":757,"props":2668,"children":2669},{"style":837},[2670],{"type":611,"value":871},{"type":602,"tag":757,"props":2672,"children":2673},{"style":843},[2674],{"type":611,"value":2615},{"type":602,"tag":757,"props":2676,"children":2677},{"style":770},[2678],{"type":611,"value":2620},{"type":602,"tag":757,"props":2680,"children":2681},{"style":837},[2682],{"type":611,"value":2625},{"type":611,"value":897},{"type":602,"tag":757,"props":2685,"children":2686},{"class":759,"style":760},[2687,2691,2695,2699,2703,2707,2711,2715,2719,2724,2728,2732,2736],{"type":602,"tag":757,"props":2688,"children":2689},{"style":843},[2690],{"type":611,"value":2570},{"type":602,"tag":757,"props":2692,"children":2693},{"style":837},[2694],{"type":611,"value":851},{"type":602,"tag":757,"props":2696,"children":2697},{"style":764},[2698],{"type":611,"value":2579},{"type":602,"tag":757,"props":2700,"children":2701},{"style":837},[2702],{"type":611,"value":1911},{"type":602,"tag":757,"props":2704,"children":2705},{"style":843},[2706],{"type":611,"value":2588},{"type":602,"tag":757,"props":2708,"children":2709},{"style":843},[2710],{"type":611,"value":1398},{"type":602,"tag":757,"props":2712,"children":2713},{"style":837},[2714],{"type":611,"value":871},{"type":602,"tag":757,"props":2716,"children":2717},{"style":843},[2718],{"type":611,"value":2601},{"type":602,"tag":757,"props":2720,"children":2721},{"style":770},[2722],{"type":611,"value":2723}," 'DELETE'",{"type":602,"tag":757,"props":2725,"children":2726},{"style":837},[2727],{"type":611,"value":871},{"type":602,"tag":757,"props":2729,"children":2730},{"style":843},[2731],{"type":611,"value":2615},{"type":602,"tag":757,"props":2733,"children":2734},{"style":770},[2735],{"type":611,"value":2620},{"type":602,"tag":757,"props":2737,"children":2738},{"style":837},[2739],{"type":611,"value":2625},{"type":611,"value":897},{"type":602,"tag":757,"props":2742,"children":2743},{"class":759,"style":760},[2744,2748,2752,2756],{"type":602,"tag":757,"props":2745,"children":2746},{"style":843},[2747],{"type":611,"value":2570},{"type":602,"tag":757,"props":2749,"children":2750},{"style":837},[2751],{"type":611,"value":851},{"type":602,"tag":757,"props":2753,"children":2754},{"style":764},[2755],{"type":611,"value":2579},{"type":602,"tag":757,"props":2757,"children":2758},{"style":837},[2759],{"type":611,"value":1551},{"type":611,"value":897},{"type":602,"tag":757,"props":2762,"children":2763},{"class":759,"style":760},[2764,2769,2773],{"type":602,"tag":757,"props":2765,"children":2766},{"style":843},[2767],{"type":611,"value":2768},"  handler:",{"type":602,"tag":757,"props":2770,"children":2771},{"style":843},[2772],{"type":611,"value":1398},{"type":602,"tag":757,"props":2774,"children":2775},{"style":837},[2776],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":2779,"children":2780},{"class":759,"style":760},[2781,2786,2790],{"type":602,"tag":757,"props":2782,"children":2783},{"style":843},[2784],{"type":611,"value":2785},"  method:",{"type":602,"tag":757,"props":2787,"children":2788},{"style":770},[2789],{"type":611,"value":2666},{"type":602,"tag":757,"props":2791,"children":2792},{"style":837},[2793],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":2796,"children":2797},{"class":759,"style":760},[2798,2803,2808],{"type":602,"tag":757,"props":2799,"children":2800},{"style":843},[2801],{"type":611,"value":2802},"  path:",{"type":602,"tag":757,"props":2804,"children":2805},{"style":770},[2806],{"type":611,"value":2807}," '\u002F.well-known\u002Foauth-protected-resource\u002Fmcp'",{"type":602,"tag":757,"props":2809,"children":2810},{"style":837},[2811],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":2814,"children":2815},{"class":759,"style":760},[2816],{"type":602,"tag":757,"props":2817,"children":2818},{"style":837},[2819],{"type":611,"value":2820},"})",{"type":611,"value":897},{"type":602,"tag":757,"props":2823,"children":2824},{"class":759,"style":760},[2825,2829,2833,2837],{"type":602,"tag":757,"props":2826,"children":2827},{"style":843},[2828],{"type":611,"value":2570},{"type":602,"tag":757,"props":2830,"children":2831},{"style":837},[2832],{"type":611,"value":851},{"type":602,"tag":757,"props":2834,"children":2835},{"style":764},[2836],{"type":611,"value":2579},{"type":602,"tag":757,"props":2838,"children":2839},{"style":837},[2840],{"type":611,"value":1551},{"type":611,"value":897},{"type":602,"tag":757,"props":2843,"children":2844},{"class":759,"style":760},[2845,2849,2853],{"type":602,"tag":757,"props":2846,"children":2847},{"style":843},[2848],{"type":611,"value":2768},{"type":602,"tag":757,"props":2850,"children":2851},{"style":843},[2852],{"type":611,"value":1398},{"type":602,"tag":757,"props":2854,"children":2855},{"style":837},[2856],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":2859,"children":2860},{"class":759,"style":760},[2861,2865,2870],{"type":602,"tag":757,"props":2862,"children":2863},{"style":843},[2864],{"type":611,"value":2785},{"type":602,"tag":757,"props":2866,"children":2867},{"style":770},[2868],{"type":611,"value":2869}," 'OPTIONS'",{"type":602,"tag":757,"props":2871,"children":2872},{"style":837},[2873],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":2876,"children":2877},{"class":759,"style":760},[2878,2882,2886],{"type":602,"tag":757,"props":2879,"children":2880},{"style":843},[2881],{"type":611,"value":2802},{"type":602,"tag":757,"props":2883,"children":2884},{"style":770},[2885],{"type":611,"value":2807},{"type":602,"tag":757,"props":2887,"children":2888},{"style":837},[2889],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":2892,"children":2893},{"class":759,"style":760},[2894],{"type":602,"tag":757,"props":2895,"children":2896},{"style":837},[2897],{"type":611,"value":2820},{"type":611,"value":897},{"type":602,"tag":757,"props":2900,"children":2901},{"class":759,"style":760},[],{"type":611,"value":897},{"type":602,"tag":757,"props":2904,"children":2905},{"class":759,"style":760},[2906,2910,2915],{"type":602,"tag":757,"props":2907,"children":2908},{"style":819},[2909],{"type":611,"value":822},{"type":602,"tag":757,"props":2911,"children":2912},{"style":819},[2913],{"type":611,"value":2914}," default",{"type":602,"tag":757,"props":2916,"children":2917},{"style":843},[2918],{"type":611,"value":2544},{"type":602,"tag":603,"props":2920,"children":2921},{},[2922,2924,2929,2931,2936,2938,2943,2945,2950],{"type":611,"value":2923},"Do not register ",{"type":602,"tag":607,"props":2925,"children":2926},{},[2927],{"type":611,"value":2928},"OPTIONS \u002Fmcp",{"type":611,"value":2930}," unless the application has deliberately enabled\nand reviewed cross-origin MCP transport. Construct the public resource and\nissuer from trusted deployment configuration, never from request headers.\nProduction resources and issuers must use HTTPS; exact ",{"type":602,"tag":607,"props":2932,"children":2933},{},[2934],{"type":611,"value":2935},"localhost",{"type":611,"value":2937},",\n",{"type":602,"tag":607,"props":2939,"children":2940},{},[2941],{"type":611,"value":2942},"127.0.0.1",{"type":611,"value":2944},", and ",{"type":602,"tag":607,"props":2946,"children":2947},{},[2948],{"type":611,"value":2949},"[::1]",{"type":611,"value":2951}," HTTP origins are accepted only for local development.",{"type":602,"tag":603,"props":2953,"children":2954},{},[2955],{"type":611,"value":2956},"The resource handler serves only its RFC 9728 protected-resource document. It\ndoes not author or mirror authorization-server metadata; the configured issuer\nowns its own discovery document and endpoint capabilities.",{"type":602,"tag":642,"props":2958,"children":2960},{"id":2959},"implement-a-provider-neutral-verifier",[2961],{"type":611,"value":2962},"Implement a provider-neutral verifier",{"type":602,"tag":603,"props":2964,"children":2965},{},[2966],{"type":611,"value":2967},"The verifier returns an allowlisted access context, not a provider object or\napplication actor:",{"type":602,"tag":747,"props":2969,"children":2970},{"language":807,"class":750},[2971],{"type":602,"tag":607,"props":2972,"children":2973},{"class":812},[2974,3006,3007,3010,3011,3040,3041,3075,3076,3122,3123,3126,3127,3139,3140,3152,3153,3177,3178,3202,3203,3227,3228,3263,3264,3289,3290,3297,3298,3323,3324,3332,3333,3341,3342],{"type":602,"tag":757,"props":2975,"children":2976},{"class":759,"style":760},[2977,2981,2985,2989,2994,2998,3002],{"type":602,"tag":757,"props":2978,"children":2979},{"style":819},[2980],{"type":611,"value":1093},{"type":602,"tag":757,"props":2982,"children":2983},{"style":819},[2984],{"type":611,"value":913},{"type":602,"tag":757,"props":2986,"children":2987},{"style":837},[2988],{"type":611,"value":1098},{"type":602,"tag":757,"props":2990,"children":2991},{"style":843},[2992],{"type":611,"value":2993},"McpAccessVerifier",{"type":602,"tag":757,"props":2995,"children":2996},{"style":837},[2997],{"type":611,"value":1117},{"type":602,"tag":757,"props":2999,"children":3000},{"style":819},[3001],{"type":611,"value":1122},{"type":602,"tag":757,"props":3003,"children":3004},{"style":770},[3005],{"type":611,"value":1127},{"type":611,"value":897},{"type":602,"tag":757,"props":3008,"children":3009},{"class":759,"style":760},[],{"type":611,"value":897},{"type":602,"tag":757,"props":3012,"children":3013},{"class":759,"style":760},[3014,3018,3022,3027,3031,3035],{"type":602,"tag":757,"props":3015,"children":3016},{"style":819},[3017],{"type":611,"value":822},{"type":602,"tag":757,"props":3019,"children":3020},{"style":825},[3021],{"type":611,"value":828},{"type":602,"tag":757,"props":3023,"children":3024},{"style":831},[3025],{"type":611,"value":3026}," applicationTokenVerifier",{"type":602,"tag":757,"props":3028,"children":3029},{"style":837},[3030],{"type":611,"value":985},{"type":602,"tag":757,"props":3032,"children":3033},{"style":916},[3034],{"type":611,"value":2993},{"type":602,"tag":757,"props":3036,"children":3037},{"style":837},[3038],{"type":611,"value":3039}," = {",{"type":611,"value":897},{"type":602,"tag":757,"props":3042,"children":3043},{"class":759,"style":760},[3044,3048,3053,3057,3062,3066,3071],{"type":602,"tag":757,"props":3045,"children":3046},{"style":825},[3047],{"type":611,"value":1419},{"type":602,"tag":757,"props":3049,"children":3050},{"style":764},[3051],{"type":611,"value":3052}," verifyAccessToken",{"type":602,"tag":757,"props":3054,"children":3055},{"style":837},[3056],{"type":611,"value":975},{"type":602,"tag":757,"props":3058,"children":3059},{"style":843},[3060],{"type":611,"value":3061},"token",{"type":602,"tag":757,"props":3063,"children":3064},{"style":837},[3065],{"type":611,"value":871},{"type":602,"tag":757,"props":3067,"children":3068},{"style":843},[3069],{"type":611,"value":3070},"expected",{"type":602,"tag":757,"props":3072,"children":3073},{"style":837},[3074],{"type":611,"value":1816},{"type":611,"value":897},{"type":602,"tag":757,"props":3077,"children":3078},{"class":759,"style":760},[3079,3084,3089,3093,3097,3102,3106,3110,3114,3118],{"type":602,"tag":757,"props":3080,"children":3081},{"style":825},[3082],{"type":611,"value":3083},"    const",{"type":602,"tag":757,"props":3085,"children":3086},{"style":831},[3087],{"type":611,"value":3088}," verified",{"type":602,"tag":757,"props":3090,"children":3091},{"style":837},[3092],{"type":611,"value":840},{"type":602,"tag":757,"props":3094,"children":3095},{"style":819},[3096],{"type":611,"value":2099},{"type":602,"tag":757,"props":3098,"children":3099},{"style":764},[3100],{"type":611,"value":3101}," verifyWithYourProvider",{"type":602,"tag":757,"props":3103,"children":3104},{"style":837},[3105],{"type":611,"value":975},{"type":602,"tag":757,"props":3107,"children":3108},{"style":843},[3109],{"type":611,"value":3061},{"type":602,"tag":757,"props":3111,"children":3112},{"style":837},[3113],{"type":611,"value":871},{"type":602,"tag":757,"props":3115,"children":3116},{"style":843},[3117],{"type":611,"value":3070},{"type":602,"tag":757,"props":3119,"children":3120},{"style":837},[3121],{"type":611,"value":895},{"type":611,"value":897},{"type":602,"tag":757,"props":3124,"children":3125},{"class":759,"style":760},[],{"type":611,"value":897},{"type":602,"tag":757,"props":3128,"children":3129},{"class":759,"style":760},[3130,3135],{"type":602,"tag":757,"props":3131,"children":3132},{"style":819},[3133],{"type":611,"value":3134},"    return",{"type":602,"tag":757,"props":3136,"children":3137},{"style":837},[3138],{"type":611,"value":1013},{"type":611,"value":897},{"type":602,"tag":757,"props":3141,"children":3142},{"class":759,"style":760},[3143,3148],{"type":602,"tag":757,"props":3144,"children":3145},{"style":843},[3146],{"type":611,"value":3147},"      access:",{"type":602,"tag":757,"props":3149,"children":3150},{"style":837},[3151],{"type":611,"value":1013},{"type":611,"value":897},{"type":602,"tag":757,"props":3154,"children":3155},{"class":759,"style":760},[3156,3161,3165,3169,3173],{"type":602,"tag":757,"props":3157,"children":3158},{"style":843},[3159],{"type":611,"value":3160},"        issuer:",{"type":602,"tag":757,"props":3162,"children":3163},{"style":843},[3164],{"type":611,"value":3088},{"type":602,"tag":757,"props":3166,"children":3167},{"style":837},[3168],{"type":611,"value":851},{"type":602,"tag":757,"props":3170,"children":3171},{"style":843},[3172],{"type":611,"value":1592},{"type":602,"tag":757,"props":3174,"children":3175},{"style":837},[3176],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":3179,"children":3180},{"class":759,"style":760},[3181,3186,3190,3194,3198],{"type":602,"tag":757,"props":3182,"children":3183},{"style":843},[3184],{"type":611,"value":3185},"        subject:",{"type":602,"tag":757,"props":3187,"children":3188},{"style":843},[3189],{"type":611,"value":3088},{"type":602,"tag":757,"props":3191,"children":3192},{"style":837},[3193],{"type":611,"value":851},{"type":602,"tag":757,"props":3195,"children":3196},{"style":843},[3197],{"type":611,"value":2247},{"type":602,"tag":757,"props":3199,"children":3200},{"style":837},[3201],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":3204,"children":3205},{"class":759,"style":760},[3206,3211,3215,3219,3223],{"type":602,"tag":757,"props":3207,"children":3208},{"style":843},[3209],{"type":611,"value":3210},"        clientId:",{"type":602,"tag":757,"props":3212,"children":3213},{"style":843},[3214],{"type":611,"value":3088},{"type":602,"tag":757,"props":3216,"children":3217},{"style":837},[3218],{"type":611,"value":851},{"type":602,"tag":757,"props":3220,"children":3221},{"style":843},[3222],{"type":611,"value":2196},{"type":602,"tag":757,"props":3224,"children":3225},{"style":837},[3226],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":3229,"children":3230},{"class":759,"style":760},[3231,3236,3241,3245,3250,3254,3259],{"type":602,"tag":757,"props":3232,"children":3233},{"style":843},[3234],{"type":611,"value":3235},"        resource:",{"type":602,"tag":757,"props":3237,"children":3238},{"style":843},[3239],{"type":611,"value":3240}," expected",{"type":602,"tag":757,"props":3242,"children":3243},{"style":837},[3244],{"type":611,"value":851},{"type":602,"tag":757,"props":3246,"children":3247},{"style":843},[3248],{"type":611,"value":3249},"resource",{"type":602,"tag":757,"props":3251,"children":3252},{"style":837},[3253],{"type":611,"value":851},{"type":602,"tag":757,"props":3255,"children":3256},{"style":843},[3257],{"type":611,"value":3258},"href",{"type":602,"tag":757,"props":3260,"children":3261},{"style":837},[3262],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":3265,"children":3266},{"class":759,"style":760},[3267,3272,3276,3280,3285],{"type":602,"tag":757,"props":3268,"children":3269},{"style":843},[3270],{"type":611,"value":3271},"        scopes:",{"type":602,"tag":757,"props":3273,"children":3274},{"style":843},[3275],{"type":611,"value":3088},{"type":602,"tag":757,"props":3277,"children":3278},{"style":837},[3279],{"type":611,"value":851},{"type":602,"tag":757,"props":3281,"children":3282},{"style":843},[3283],{"type":611,"value":3284},"scopes",{"type":602,"tag":757,"props":3286,"children":3287},{"style":837},[3288],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":3291,"children":3292},{"class":759,"style":760},[3293],{"type":602,"tag":757,"props":3294,"children":3295},{"style":837},[3296],{"type":611,"value":1743},{"type":611,"value":897},{"type":602,"tag":757,"props":3299,"children":3300},{"class":759,"style":760},[3301,3306,3310,3314,3319],{"type":602,"tag":757,"props":3302,"children":3303},{"style":843},[3304],{"type":611,"value":3305},"      expiresAt:",{"type":602,"tag":757,"props":3307,"children":3308},{"style":843},[3309],{"type":611,"value":3088},{"type":602,"tag":757,"props":3311,"children":3312},{"style":837},[3313],{"type":611,"value":851},{"type":602,"tag":757,"props":3315,"children":3316},{"style":843},[3317],{"type":611,"value":3318},"expiresAt",{"type":602,"tag":757,"props":3320,"children":3321},{"style":837},[3322],{"type":611,"value":1488},{"type":611,"value":897},{"type":602,"tag":757,"props":3325,"children":3326},{"class":759,"style":760},[3327],{"type":602,"tag":757,"props":3328,"children":3329},{"style":837},[3330],{"type":611,"value":3331},"    }",{"type":611,"value":897},{"type":602,"tag":757,"props":3334,"children":3335},{"class":759,"style":760},[3336],{"type":602,"tag":757,"props":3337,"children":3338},{"style":837},[3339],{"type":611,"value":3340},"  },",{"type":611,"value":897},{"type":602,"tag":757,"props":3343,"children":3344},{"class":759,"style":760},[3345],{"type":602,"tag":757,"props":3346,"children":3347},{"style":837},[3348],{"type":611,"value":1078},{"type":602,"tag":603,"props":3350,"children":3351},{},[3352],{"type":611,"value":3353},"The package rejects extra verifier-result fields and mismatched, expired, or\nnoncanonical values. Provider-private grant IDs, token bytes, raw claims, roles,\npermissions, headers, cookies, and error objects must stay inside the verifier.",{"type":602,"tag":603,"props":3355,"children":3356},{},[3357,3359,3364,3366,3371,3373,3378],{"type":611,"value":3358},"For Better Auth, use the reviewed adapter and fixed delegated profile described\nin ",{"type":602,"tag":3360,"props":3361,"children":3362},"a",{"href":335},[3363],{"type":611,"value":330},{"type":611,"value":3365},".\nThe adapter requires a server-only ",{"type":602,"tag":607,"props":3367,"children":3368},{},[3369],{"type":611,"value":3370},"validateLiveAccess",{"type":611,"value":3372}," callback that checks the\ncurrent Better Auth session, user, OAuth client, consent, and resource link on\nevery request. Its provider-private session ID stays inside that callback and\nnever enters ",{"type":602,"tag":607,"props":3374,"children":3375},{},[3376],{"type":611,"value":3377},"McpAccessContext",{"type":611,"value":3379},". The base package has also been certified with\nan independent public-JWKS verifier; Better Auth is optional.",{"type":602,"tag":603,"props":3381,"children":3382},{},[3383,3385,3390,3392,3397,3399,3404],{"type":611,"value":3384},"For controlled credentials provisioned out of band, use\n",{"type":602,"tag":607,"props":3386,"children":3387},{},[3388],{"type":611,"value":3389},"authorization.mode: 'preconfigured-bearer'",{"type":611,"value":3391},". This mode deliberately publishes\nno OAuth discovery metadata. Register only the three ",{"type":602,"tag":607,"props":3393,"children":3394},{},[3395],{"type":611,"value":3396},"\u002Fmcp",{"type":611,"value":3398}," transport methods\nand omit both protected-resource metadata registrations. Its 401 challenge does\nnot contain ",{"type":602,"tag":607,"props":3400,"children":3401},{},[3402],{"type":611,"value":3403},"resource_metadata",{"type":611,"value":3405},". Credential storage, rotation, revocation, and\napplication authorization remain application-owned.",{"type":602,"tag":642,"props":3407,"children":3409},{"id":3408},"errors-and-diagnostics",[3410],{"type":611,"value":3411},"Errors and diagnostics",{"type":602,"tag":603,"props":3413,"children":3414},{},[3415],{"type":611,"value":3416},"The layers have different error responsibilities:",{"type":602,"tag":3418,"props":3419,"children":3420},"ul",{},[3421,3434,3439,3444],{"type":602,"tag":3422,"props":3423,"children":3424},"li",{},[3425,3427,3432],{"type":611,"value":3426},"missing, invalid, expired, wrong-resource, or insufficient-scope bearer\ncredentials receive a standards-shaped ",{"type":602,"tag":607,"props":3428,"children":3429},{},[3430],{"type":611,"value":3431},"WWW-Authenticate",{"type":611,"value":3433}," challenge;",{"type":602,"tag":3422,"props":3435,"children":3436},{},[3437],{"type":611,"value":3438},"MCP parse, schema, and unsupported-method errors remain official-SDK protocol\nresponses;",{"type":602,"tag":3422,"props":3440,"children":3441},{},[3442],{"type":611,"value":3443},"expected domain outcomes should be explicit, bounded tool results;",{"type":602,"tag":3422,"props":3445,"children":3446},{},[3447,3449,3454,3456,3461],{"type":611,"value":3448},"unexpected throws inside a tool callback may pass through the one-argument\n",{"type":602,"tag":607,"props":3450,"children":3451},{},[3452],{"type":611,"value":3453},"runMcpTool()",{"type":611,"value":3455},", which returns only ",{"type":602,"tag":607,"props":3457,"children":3458},{},[3459],{"type":611,"value":3460},"Tool execution failed",{"type":611,"value":3462}," and exposes no\ncause-derived diagnostics.",{"type":602,"tag":603,"props":3464,"children":3465},{},[3466,3470],{"type":602,"tag":607,"props":3467,"children":3468},{},[3469],{"type":611,"value":3453},{"type":611,"value":3471}," is an opt-in callback boundary, not a universal SDK sanitizer.\nIt cannot sanitize input validation, output validation, resources, prompts, or\ncallbacks that bypass it. Keep schemas free of secrets and treat the SDK's\nvalidation\u002Ferror surface as public until an official operation-error hook is\navailable.",{"type":602,"tag":642,"props":3473,"children":3475},{"id":3474},"revocation-semantics",[3476],{"type":611,"value":3477},"Revocation semantics",{"type":602,"tag":603,"props":3479,"children":3480},{},[3481],{"type":611,"value":3482},"An application membership, role, delegation, or resource grant can be revoked\nimmediately because the application reloads it for every effect. Provider grant\nrevocation depends on the verifier:",{"type":602,"tag":3418,"props":3484,"children":3485},{},[3486,3491],{"type":602,"tag":3422,"props":3487,"children":3488},{},[3489],{"type":611,"value":3490},"the maintained Better Auth example also checks current session, client,\nresource link, and consent before each tool effect;",{"type":602,"tag":3422,"props":3492,"children":3493},{},[3494],{"type":611,"value":3495},"a self-contained token verified only through public JWKS may remain\ncryptographically valid until its bounded expiry unless the application adds\na provider-specific live check.",{"type":602,"tag":603,"props":3497,"children":3498},{},[3499],{"type":611,"value":3500},"The package does not add a JWT blacklist, refresh-token store, authorization\ntable, role model, or background revocation job.",{"type":602,"tag":642,"props":3502,"children":3504},{"id":3503},"writes-and-human-interaction",[3505],{"type":611,"value":3506},"Writes and human interaction",{"type":602,"tag":603,"props":3508,"children":3509},{},[3510],{"type":611,"value":3511},"Choose the application operation first, then project it through MCP. Do not\nintroduce a review workflow merely because a model called the operation.",{"type":602,"tag":649,"props":3513,"children":3514},{},[3515,3536],{"type":602,"tag":653,"props":3516,"children":3517},{},[3518],{"type":602,"tag":657,"props":3519,"children":3520},{},[3521,3526,3531],{"type":602,"tag":661,"props":3522,"children":3523},{},[3524],{"type":611,"value":3525},"Application operation",{"type":602,"tag":661,"props":3527,"children":3528},{},[3529],{"type":611,"value":3530},"MCP projection",{"type":602,"tag":661,"props":3532,"children":3533},{},[3534],{"type":611,"value":3535},"Canonical owner",{"type":602,"tag":672,"props":3537,"children":3538},{},[3539,3557,3575,3593],{"type":602,"tag":657,"props":3540,"children":3541},{},[3542,3547,3552],{"type":602,"tag":679,"props":3543,"children":3544},{},[3545],{"type":611,"value":3546},"Routine, bounded, reversible write",{"type":602,"tag":679,"props":3548,"children":3549},{},[3550],{"type":611,"value":3551},"Ordinary explicit tool",{"type":602,"tag":679,"props":3553,"children":3554},{},[3555],{"type":611,"value":3556},"Application mutation",{"type":602,"tag":657,"props":3558,"children":3559},{},[3560,3565,3570],{"type":602,"tag":679,"props":3561,"children":3562},{},[3563],{"type":611,"value":3564},"High-impact action the initiating person must complete on the web",{"type":602,"tag":679,"props":3566,"children":3567},{},[3568],{"type":611,"value":3569},"Capability-negotiated same-user external interaction",{"type":602,"tag":679,"props":3571,"children":3572},{},[3573],{"type":611,"value":3574},"Application interaction row",{"type":602,"tag":657,"props":3576,"children":3577},{},[3578,3583,3588],{"type":602,"tag":679,"props":3579,"children":3580},{},[3581],{"type":611,"value":3582},"Existing reviewer or editorial queue",{"type":602,"tag":679,"props":3584,"children":3585},{},[3586],{"type":611,"value":3587},"Ordinary tool result with an inert queue locator or receipt",{"type":602,"tag":679,"props":3589,"children":3590},{},[3591],{"type":611,"value":3592},"Application review row",{"type":602,"tag":657,"props":3594,"children":3595},{},[3596,3601,3606],{"type":602,"tag":679,"props":3597,"children":3598},{},[3599],{"type":611,"value":3600},"Long-running external work",{"type":602,"tag":679,"props":3602,"children":3603},{},[3604],{"type":611,"value":3605},"Application job\u002Foutbox and truthful status",{"type":602,"tag":679,"props":3607,"children":3608},{},[3609],{"type":611,"value":3610},"Application job\u002Foutbox",{"type":602,"tag":603,"props":3612,"children":3613},{},[3614],{"type":611,"value":3615},"Tool descriptions, annotations, model prose, host confirmation dialogs, MCP\nApp buttons, and OAuth scopes do not authorize a write. Every path must\nauthenticate the caller and recheck current application authority at the\nprotected effect. A client that does not support the required interaction\ncapability receives an explicit unsupported result; the server must not return\nan unnegotiated confirmation URL as a substitute.",{"type":602,"tag":3617,"props":3618,"children":3620},"h3",{"id":3619},"writes-and-human-interaction-same-user-external-interaction",[3621],{"type":611,"value":3622},"Same-user external interaction",{"type":602,"tag":603,"props":3624,"children":3625},{},[3626],{"type":611,"value":3627},"Use an external interaction only when the person who initiated the tool call\nmust personally review or complete a high-impact operation in the authoritative\napplication. The server may create a bounded application-owned interaction and\nproject its opaque URL through the negotiated MCP mechanism. That URL:",{"type":602,"tag":3418,"props":3629,"children":3630},{},[3631,3636,3641,3652,3657,3662],{"type":602,"tag":3422,"props":3632,"children":3633},{},[3634],{"type":611,"value":3635},"is built from one configured HTTPS origin and a random opaque identifier;",{"type":602,"tag":3422,"props":3637,"children":3638},{},[3639],{"type":611,"value":3640},"contains no bearer credential, session, identity, arguments, or approval\ncapability;",{"type":602,"tag":3422,"props":3642,"children":3643},{},[3644,3646,3650],{"type":611,"value":3645},"is inert on ",{"type":602,"tag":607,"props":3647,"children":3648},{},[3649],{"type":611,"value":2414},{"type":611,"value":3651},";",{"type":602,"tag":3422,"props":3653,"children":3654},{},[3655],{"type":611,"value":3656},"requires application login and must resolve to the same initiating subject;",{"type":602,"tag":3422,"props":3658,"children":3659},{},[3660],{"type":611,"value":3661},"reloads current authority, target state, and impact before execution; and",{"type":602,"tag":3422,"props":3663,"children":3664},{},[3665],{"type":611,"value":3666},"is consumed with the application effect in one Convex transaction.",{"type":602,"tag":603,"props":3668,"children":3669},{},[3670],{"type":611,"value":3671},"Opening the URL or accepting navigation is not confirmation. The person sees\nthe application's current summary, warnings, and effects, then submits an\nexplicit state-changing request. Expired, forwarded, wrong-user, stale, or\nreplayed interactions fail closed. Concurrent submissions produce at most one\ncanonical effect and return the same terminal receipt where application policy\npermits recovery.",{"type":602,"tag":603,"props":3673,"children":3674},{},[3675],{"type":611,"value":3676},"The interaction record belongs to the application. Better Convex must not own a\ngeneric approval table, role policy, impact calculation, or effect. The\ncurrently tested implementation remains internal while the stable SDK is\nreconciled with the official final specification, changelog, and conformance\nsuite; there is no public interaction export in this beta.",{"type":602,"tag":3617,"props":3678,"children":3680},{"id":3679},"writes-and-human-interaction-reviewer-queues-are-a-different-workflow",[3681],{"type":611,"value":3682},"Reviewer queues are a different workflow",{"type":602,"tag":603,"props":3684,"children":3685},{},[3686,3688,3692],{"type":611,"value":3687},"An existing reviewer queue is not the requester's same-user interaction. A\nreviewer signs into the application under their own identity and the\napplication decides whether the requester may self-review, whether another\nperson is required, and which current role can act. The queue locator is inert:\nit grants neither identity nor approval authority, and ",{"type":602,"tag":607,"props":3689,"children":3690},{},[3691],{"type":611,"value":2414},{"type":611,"value":3693}," performs no\nmutation.",{"type":602,"tag":603,"props":3695,"children":3696},{},[3697],{"type":611,"value":3698},"Keep one canonical review row and one status transition path. MCP may return its\nopaque locator, receipt, or authorized status, but it must not create a parallel\nMCP approval record. A forwarded same-user interaction URL also never transfers\nthe requester's authority to a reviewer.",{"type":602,"tag":3617,"props":3700,"children":3702},{"id":3701},"writes-and-human-interaction-retry-status-and-external-effects",[3703],{"type":611,"value":3704},"Retry, status, and external effects",{"type":602,"tag":603,"props":3706,"children":3707},{},[3708],{"type":611,"value":3709},"Unknown mutation or action failures must not be retried blindly: the protected\neffect may already have committed. Retry recovery requires an explicit\napplication-owned interaction, operation, or idempotency key. JSON-RPC IDs,\nargument equality, argument digests, OAuth subjects, and MCP transport metadata\nare not idempotency contracts. A later intentional call with the same arguments\nis a new operation unless it carries the prior application key.",{"type":602,"tag":603,"props":3711,"children":3712},{},[3713],{"type":611,"value":3714},"Status reads must authenticate and authorize the current caller and return only\nthe canonical operation's bounded state or receipt. They must not expose a\ncross-user enumeration surface.",{"type":602,"tag":603,"props":3716,"children":3717},{},[3718,3720,3725,3726,3731,3732,3737,3739,3744],{"type":611,"value":3719},"A Convex transaction can atomically consume an interaction and commit Convex\nstate, but it cannot make an external API call transactional. For email,\npayments, deployments, third-party deletion, and similar effects, commit an\napplication outbox\u002Fjob record transactionally, deliver with a provider\nidempotency key, and reconcile provider state. Report ",{"type":602,"tag":607,"props":3721,"children":3722},{},[3723],{"type":611,"value":3724},"accepted",{"type":611,"value":871},{"type":602,"tag":607,"props":3727,"children":3728},{},[3729],{"type":611,"value":3730},"pending",{"type":611,"value":2937},{"type":602,"tag":607,"props":3733,"children":3734},{},[3735],{"type":611,"value":3736},"applied",{"type":611,"value":3738},", or ",{"type":602,"tag":607,"props":3740,"children":3741},{},[3742],{"type":611,"value":3743},"failed",{"type":611,"value":3745}," truthfully. Do not promise generic exactly-once external\nexecution or imply that cancellation reverses an effect already accepted by\nanother system.",{"type":602,"tag":642,"props":3747,"children":3749},{"id":3748},"experimental-supported-surface",[3750],{"type":611,"value":3751},"Experimental supported surface",{"type":602,"tag":603,"props":3753,"children":3754},{},[3755],{"type":611,"value":3756},"The certified profile supports one stateless Convex HTTP Action, explicit\nofficial-SDK tool and resource registration, OAuth or preconfigured-bearer\nverification, protected-resource metadata, bounded transport, and safe tool\ndiagnostics. It accepts only the strict modern protocol route and finite JSON\nresponses. Tool\u002Fresource list-change flags and resource subscriptions are\ndisabled; legacy transport, SSE, and subscription methods fail closed.",{"type":602,"tag":603,"props":3758,"children":3759},{},[3760],{"type":611,"value":3761},"The base server package does not currently ship:",{"type":602,"tag":3418,"props":3763,"children":3764},{},[3765,3770,3775,3780,3785,3790],{"type":602,"tag":3422,"props":3766,"children":3767},{},[3768],{"type":611,"value":3769},"automatic Convex-function exposure;",{"type":602,"tag":3422,"props":3771,"children":3772},{},[3773],{"type":611,"value":3774},"prompts, Tasks, or a URL approval workflow;",{"type":602,"tag":3422,"props":3776,"children":3777},{},[3778],{"type":611,"value":3779},"a roles\u002Fpermissions DSL or generic approval table;",{"type":602,"tag":3422,"props":3781,"children":3782},{},[3783],{"type":611,"value":3784},"token passthrough, service-proof arguments, or a second Nitro MCP topology;",{"type":602,"tag":3422,"props":3786,"children":3787},{},[3788],{"type":611,"value":3789},"dynamic client registration, Client Credentials, or provider administration;",{"type":602,"tag":3422,"props":3791,"children":3792},{},[3793],{"type":611,"value":3794},"a hand-written MCP parser or a compatibility protocol.",{"type":602,"tag":603,"props":3796,"children":3797},{},[3798],{"type":611,"value":3799},"Applications that require prompts, streaming, subscriptions, Tasks, or another\nofficial-SDK capability need a separately proven topology; this finite\nConvex-native handler rejects those capabilities instead of silently\noverclaiming support.",{"type":602,"tag":603,"props":3801,"children":3802},{},[3803,3805,3809,3811,3816],{"type":611,"value":3804},"The optional experimental ",{"type":602,"tag":3360,"props":3806,"children":3807},{"href":449},[3808],{"type":611,"value":445},{"type":611,"value":3810}," client\nentry lives in ",{"type":602,"tag":607,"props":3812,"children":3813},{},[3814],{"type":611,"value":3815},"@lupinum\u002Fbetter-convex-vue\u002Fmcp-app",{"type":611,"value":3817},". It adds no server capability or\nauthority and composes with explicit resources registered on this same\nofficial-SDK handler.",{"type":602,"tag":642,"props":3819,"children":3821},{"id":3820},"release-evidence",[3822],{"type":611,"value":3823},"Release evidence",{"type":602,"tag":603,"props":3825,"children":3826},{},[3827,3829,3833],{"type":611,"value":3828},"The candidate is tested from its exact tarball in three independent consumers:\na clean Node\u002Ftype consumer, the maintained Better Auth\u002FPKCE Convex deployment,\nand a separate public-JWKS verifier Convex deployment. The suite compares\ninstalled bytes, runs production builds, exercises two preregistered public\nclients, validates OAuth discovery\u002Fchallenges\u002Frevocation, and executes the\n",{"type":602,"tag":607,"props":3830,"children":3831},{},[3832],{"type":611,"value":631},{"type":611,"value":3834}," stateless request envelope through the stable official client SDK.",{"type":602,"tag":603,"props":3836,"children":3837},{},[3838,3840,3845,3847,3851],{"type":611,"value":3839},"The older official conformance package is retained only for its published\n",{"type":602,"tag":607,"props":3841,"children":3842},{},[3843],{"type":611,"value":3844},"2025-11-25",{"type":611,"value":3846}," initialize, ping, and tools-list scenarios because it advertises no\n",{"type":602,"tag":607,"props":3848,"children":3849},{},[3850],{"type":611,"value":631},{"type":611,"value":3852}," scenarios. It is supporting evidence, not a substitute for matching\nofficial final conformance scenarios and not an OAuth certification.",{"title":3854,"searchDepth":3855,"depth":3855,"links":3856},"",4,[3857,3859,3860,3861,3862,3863,3864,3870,3871],{"id":644,"depth":3858,"text":647},2,{"id":737,"depth":3858,"text":740},{"id":796,"depth":3858,"text":799},{"id":2959,"depth":3858,"text":2962},{"id":3408,"depth":3858,"text":3411},{"id":3474,"depth":3858,"text":3477},{"id":3503,"depth":3858,"text":3506,"children":3865},[3866,3868,3869],{"id":3619,"depth":3867,"text":3622},3,{"id":3679,"depth":3867,"text":3682},{"id":3701,"depth":3867,"text":3704},{"id":3748,"depth":3858,"text":3751},{"id":3820,"depth":3858,"text":3823},"markdown","docs",{"source":3875,"path":3876,"stem":3877,"dir":3878,"extension":3879},"content","docs\u002F4.build\u002F7.agents\u002F1.mcp.md","docs\u002F4.build\u002F7.agents\u002F1.mcp","agents","md",{"requestedPath":443,"resolvedPath":443,"alternates":3881},[],{"requested":3883,"resolved":3884,"usedFallback":6},{},{"locale":8},{"previous":3886,"next":3888},{"title":426,"id":427,"canonicalKey":428,"locale":8,"draft":6,"navigation":3887,"icon":430,"path":431},{"icon":430},{"title":445,"id":446,"canonicalKey":447,"locale":8,"draft":6,"navigation":3889,"icon":100,"path":449},{"icon":100},{"left":3891,"top":3891,"width":3892,"height":3892,"rotate":3891,"vFlip":6,"hFlip":6,"body":3893},0,24,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 19h8M4 17l6-6l-6-6\"\u002F>",{"left":3891,"top":3891,"width":3895,"height":3895,"rotate":3891,"vFlip":6,"hFlip":6,"body":3896},256,"\u003Cpath fill=\"#3178c6\" d=\"M20 0h216c11.046 0 20 8.954 20 20v216c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20V20C0 8.954 8.954 0 20 0\"\u002F>\u003Cpath fill=\"#fff\" d=\"M150.518 200.475v27.62q6.738 3.453 15.938 5.179T185.849 235q9.934 0 18.874-1.899t15.678-6.257q6.738-4.359 10.669-11.394q3.93-7.033 3.93-17.391q0-7.51-2.246-13.163a30.8 30.8 0 0 0-6.479-10.055q-4.232-4.402-10.149-7.898t-13.347-6.602q-5.442-2.245-9.761-4.359t-7.342-4.316q-3.024-2.2-4.665-4.661t-1.641-5.567q0-2.848 1.468-5.135q1.469-2.288 4.147-3.927t6.565-2.547q3.887-.906 8.638-.906q3.456 0 7.299.518q3.844.517 7.732 1.597a54 54 0 0 1 7.558 2.719a41.7 41.7 0 0 1 6.781 3.797v-25.807q-6.306-2.417-13.778-3.582T198.633 107q-9.847 0-18.658 2.115q-8.811 2.114-15.506 6.602q-6.694 4.49-10.582 11.437Q150 134.102 150 143.769q0 12.342 7.127 21.06t21.638 14.759a292 292 0 0 1 10.625 4.575q4.924 2.244 8.509 4.66t5.658 5.265t2.073 6.474a9.9 9.9 0 0 1-1.296 4.963q-1.295 2.287-3.93 3.97t-6.565 2.632t-9.2.95q-8.983 0-17.794-3.151t-16.327-9.451m-46.036-68.733H140V109H41v22.742h35.345V233h28.137z\"\u002F>",{"left":3891,"top":3891,"width":3892,"height":3892,"rotate":3891,"vFlip":6,"hFlip":6,"body":3898},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"8\" height=\"4\" x=\"8\" y=\"2\" rx=\"1\" ry=\"1\"\u002F>\u003Cpath d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"\u002F>\u003C\u002Fg>",1786627526010]