返回市场
nextjs-mcp-使用

nextjs-mcp-使用

作者:cameronking42 星标更新:2025-05-18

项目介绍

不带界面的MCP使用(从注册表)与Next.js

使用可配置MCP注册表的@vercel/mcp-adapter

部署的URL

该应用程序部署在:https://nextjs-mcp-use.vercel.app

功能

  • MCP注册表:在一个JSON文件中配置多个MCP服务器
  • GitHub Actions:通过计划和手动工作流测试和监控您的API端点
  • 错误处理:优雅地处理超时和连接失败
  • 环境变量:为每个MCP服务器配置环境变量

MCP注册表

MCP注册表是一个JSON配置文件,存储有关所有可用MCP服务器的信息。每个服务器可以启用或禁用,并且可以有自己的环境变量。

注册表位于config/mcp-registry.json,具有以下结构:

{
  "server-name": {
    "url": "http://localhost:3002/sse",
    "enabled": true,
    "env": {
      "API_KEY": "your-api-key"
    }
  },
  "another-server": {
    "url": "https://example.com/sse",
    "enabled": false
  }
}

使用方法

此示例应用使用Vercel MCP适配器,允许您在任何Next.js项目的一组路由中插入一个MCP服务器。

更新app/[transport]/route.ts,添加您的工具、提示和资源,参考MCP TypeScript SDK文档

API端点

  • 聊天API/api/chat - 流式聊天端点
  • 完成API/api/completions - 非流式聊天完成端点

测试API

您可以使用提供的测试脚本测试API端点:

# 测试聊天端点
npm run test:chat -- --message "您的消息在这里"

# 测试完成端点
npm run test:completions -- --message "您的消息在这里"

# 使用自定义URL测试
npm run test:chat -- --url http://localhost:3000/api/chat --message "您的消息在这里"

GitHub Actions

该项目包括用于测试和监控API端点的GitHub Actions工作流。参见.github/workflows/README.md文件获取更多信息。

在Vercel上运行的注意事项

  • 要使用SSE传输,需要将Redis附加到项目下process.env.REDIS_URL
  • 确保启用了Fluid计算,以实现高效执行
  • 启用Fluid计算后,打开app/route.ts并调整maxDuration为800,如果您使用的是Vercel Pro或Enterprise账户
  • 部署Next.js MCP模板

示例客户端

  • scripts/test-client.mjs 包含一个示例客户端,用于尝试调用。
node scripts/test-client.mjs https://nextjs-mcp-use.vercel.app