Next.js使用无头MCP(来自注册表)
用途 @vercel/mcp-adapter 具有可配置的MCP注册表
已部署URL
此应用程序部署在:https://nextjs-mcp-use.vercel.app
特性
- MCP注册表:在单个JSON文件中配置多个MCP服务器
- GitHub操作:使用计划和手动工作流测试和监控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端点:
# Test the chat endpoint
npm run test:chat -- --message "Your message here"
# Test the completions endpoint
npm run test:completions -- --message "Your message here"
# Test with a custom URL
npm run test:chat -- --url http://localhost:3000/api/chat --message "Your message here"GitHub操作
该项目包括用于测试和监控API端点的GitHub Actions工作流。请参阅 文件以获取更多信息。
在Vercel上运行的注意事项
- 要使用SSE传输,需要一个Redis连接到项目
process.env.REDIS_URL - 确保你有 流体计算 实现高效执行
- 启用流体计算后,打开
app/route.ts并进行调整maxDuration如果您使用Vercel Pro或Enterprise帐户,则为800 - 部署Next.js MCP模板
示例客户端
scripts/test-client.mjs包含一个尝试调用的示例客户端。
node scripts/test-client.mjs https://nextjs-mcp-use.vercel.app