处理器
默认与自定义处理器
覆盖默认的 `/mcp` 处理器并添加自定义 defineMcpHandler 端点。
默认处理器
默认情况下,模块会在 /mcp(或你配置的路由)处创建一个单一的 MCP 端点,其中包含 server/mcp/ 目录中的所有 tools、resources 和 prompts。
覆盖默认处理器
你可以通过在 server/mcp/ 中创建一个 index.ts 文件来覆盖默认处理器的配置:
server/mcp/index.ts
export default defineMcpHandler({
version: '2.0.0',
browserRedirect: '/docs',
// 如果未指定 tools/resources/prompts,则使用全局定义
})
这允许你自定义:
version- 覆盖服务器版本browserRedirect- 覆盖浏览器重定向 URLname- 覆盖服务器名称(可选)tools,resources,prompts- 使用特定定义而不是全局定义middleware- 为认证、日志记录等添加请求拦截(了解更多)
对于默认处理器,
route 属性会被忽略。要更改路由,请在你的 nuxt.config.ts 中使用 mcp.route。示例:自定义版本和重定向
server/mcp/index.ts
export default defineMcpHandler({
name: '我的文档 MCP',
version: '1.2.0',
browserRedirect: '/getting-started',
})
示例:限制暴露的 Tools
server/mcp/index.ts
import { myTool, anotherTool } from './tools/my-tools'
export default defineMcpHandler({
// 仅暴露特定的 tools,而不是 server/mcp/tools/ 中的所有 tools
tools: [myTool, anotherTool],
})
自定义处理器
使用 defineMcpHandler 创建自定义处理器:
server/mcp/migration.ts
import { z } from 'zod'
import { defineMcpTool, defineMcpHandler } from '@nuxtjs/mcp-toolkit/server'
const migrationTool = defineMcpTool({
name: 'migrate-v3-to-v4',
title: '将 v3 迁移到 v4',
description: '将代码从版本 3 迁移到版本 4',
inputSchema: {
code: z.string().describe('要迁移的代码'),
},
handler: async ({ code }) => {
return code.replace(/v3/g, 'v4')
},
})
export default defineMcpHandler({
name: 'migration',
version: '0.1.0',
route: '/mcp/migration',
tools: [migrationTool],
browserRedirect: '/',
})