入门指南

配置

配置 Nuxt MCP 模块以满足您的需求。

基础配置

将模块添加到您的 nuxt.config.ts 中:

nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@nuxtjs/mcp-toolkit'],
  mcp: {
    name: 'My MCP Server',
  },
})

该模块提供了合理的默认值,因此只需进行最少的配置。

配置选项

所有可用的配置选项:

enabled
boolean
默认值:true启用或禁用 MCP 服务器。
route
string
默认值:'/mcp'MCP 服务器可访问的 HTTP 路由。
browserRedirect
string
默认值:'/'当浏览器访问 MCP 端点时重定向的 URL。
name
string
默认值:''您的 MCP 服务器名称(用于 MCP 协议握手)。
version
string
默认值:'1.0.0'您的 MCP 服务器版本(语义化版本控制)。
dir
string
默认值:'mcp'MCP 定义的基目录(相对于 server/)。模块期望:
  • {dir}/tools/ - 工具定义
  • {dir}/resources/ - 资源定义
  • {dir}/prompts/ - 提示词定义
autoImports
boolean
默认值:true自动导入 MCP 辅助函数(defineMcpTooldefineMcpResource 等)、类型(McpToolExtra 等)、组合式函数(useMcpSessionuseMcpServer)以及 InstallButton 组件。设置为 false 可禁用所有自动导入,并要求从 @nuxtjs/mcp-toolkit/server 显式导入。
sessions
boolean | object
默认值:false启用 MCP 会话管理(有状态传输)。启用后,服务器将通过 MCP-Session-Id 标头分配会话 ID,并在请求之间保持状态,从而支持 SSE 流式传输、服务器到客户端的通知以及可恢复性。传递 true 使用默认值,或传递包含以下内容的对象:
  • enabled - 启用或禁用会话
  • maxDuration - 会话超时时间(毫秒)(默认值:1800000 / 30 分钟)

常见配置场景

自定义路由

更改 MCP 端点路由:

nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@nuxtjs/mcp-toolkit'],
  mcp: {
    route: '/api/mcp', // 自定义路由
  },
})

自定义目录

为 MCP 定义使用不同的目录:

nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@nuxtjs/mcp-toolkit'],
  mcp: {
    dir: 'my-mcp', // 在 server/my-mcp/ 中查找,而不是 server/mcp/
  },
})

这将在以下位置查找定义:

  • server/my-mcp/tools/
  • server/my-mcp/resources/
  • server/my-mcp/prompts/

浏览器重定向

将浏览器重定向到自定义 URL:

nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@nuxtjs/mcp-toolkit'],
  mcp: {
    browserRedirect: '/docs/mcp', // 将浏览器重定向到文档页面
  },
})

会话管理

启用有状态会话以支持 SSE 流式传输、服务器到客户端的通知以及会话级状态:

nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@nuxtjs/mcp-toolkit'],
  mcp: {
    sessions: true,
  },
})

启用会话后,服务器将在初始化期间分配一个 MCP-Session-Id。客户端在后续请求中包含此 ID,使服务器能够在整个会话生命周期中保持状态。

请参阅 会话指南 了解完整的 useMcpSession() API、用例和示例。

禁用自动导入

如果您更喜欢显式导入而非自动导入:

nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@nuxtjs/mcp-toolkit'],
  mcp: {
    autoImports: false,
  },
})

禁用自动导入后,请显式导入辅助函数和类型:

server/mcp/tools/echo.ts
import { z } from 'zod'
import { defineMcpTool, type McpToolExtra } from '@nuxtjs/mcp-toolkit/server'

export default defineMcpTool({
  description: 'Echo back a message',
  inputSchema: { message: z.string() },
  handler: async ({ message }, extra: McpToolExtra) => {
    return `Echo: ${message}`
  },
})

禁用模块

临时禁用 MCP 服务器:

nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@nuxtjs/mcp-toolkit'],
  mcp: {
    enabled: false, // 禁用 MCP 服务器
  },
})

运行时配置

在运行时访问配置:

server/api/config.ts
export default defineEventHandler((event) => {
  const config = useRuntimeConfig(event).mcp

  return {
    name: config.name,
    version: config.version,
    route: config.route,
  }
})

后续步骤