入门指南
配置
配置 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 辅助函数(defineMcpTool、defineMcpResource 等)、类型(McpToolExtra 等)、组合式函数(useMcpSession、useMcpServer)以及 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,
}
})