用途:在 Nuxt 应用中搭建并管理 Model Context Protocol(MCP)服务器,基于 @nuxtjs/mcp-toolkit 模块,覆盖安装配置、定义工具/资源/提示词、多处理器组织、交互式组件、会话与观测、审查排错等。
主要能力:工具从 server/mcp/tools/ 自动发现,用 defineMcpTool 定义 description、inputSchema(zod)、handler,返回值自动归一化(字符串/对象/媒体/完整 CallToolResult),支持 outputSchema 结构化输出、annotations 行为提示、inputExamples、group/tags 分组过滤、cache 缓存和 enabled 按请求隐藏。资源从 server/mcp/resources/ 发现,defineMcpResource 支持 file 简写、自定义 uri handler 和 ResourceTemplate 动态 URI,可配 metadata 与 annotations。提示词从 server/mcp/prompts/ 发现,defineMcpPrompt 支持参数化、completable() 自动补全和多消息结果。多处理器用 server/mcp/handlers/<name>/ 目录挂载在 /mcp/<name>,配合 defineMcpHandler 的 middleware 和 mcp.defaultHandlerStrategy。还有 Nitro 钩子 mcp:config:resolved、mcp:server:created、会话(sessions)、useMcpLogger 日志等。
使用方式:安装执行 pnpm add @nuxtjs/mcp-toolkit zod(或 npm/yarn/bun),或在 Nuxt CLI 运行 npx nuxt add mcp;nuxt.config.ts 中注册 modules: ['@nuxtjs/mcp-toolkit'] 并配置 mcp 名称描述,同时需启用 nitro.experimental.asyncContext。启动开发服务器后用 curl http://localhost:3000/mcp 验证,或在 Nuxt DevTools 的 MCP Inspector 中查看。
适用场景:为 Nuxt 应用添加 MCP 支持、暴露数据与提示词、按权限拆分端点、构建可被 ChatGPT/Cursor 调用的 Vue 交互组件、跨调用保持会话状态、记录和审查 MCP 实现、排查工具未发现或 OAuth 触发问题。
限制:中间件不要抛 401,否则客户端会认为需要 OAuth;MCP 规范仅允许 user 和 assistant 角色。其余细节以资料为准,未提及的功能暂未提供。