vercel 2小时前 · 2026-10-04 09:33:38 · 7 阅读
Vercel Connect 现已支持 TanStack AI
使用 TanStack AI 构建的 Agent 现在可以通过 Vercel Connect 调用受 OAuth 保护的 MCP 服务器,无需手动存储或轮换凭证。
新导出的 @vercel/connect/tanstack-ai 子路径提供了 connectMCPTransport,它接收 TanStack 传输配置并附加由 Connect 支持的认证提供程序。该提供程序会在每次 MCP 请求前被调用,确保令牌始终有效。
import { chat, toServerSentEventsResponse } from '@tanstack/ai';import { createMCPClient } from '@tanstack/ai-mcp';import { vercelGatewayText } from '@tanstack/ai-vercel-gateway';import { connectMCPTransport, getConsentChallenge,} from '@vercel/connect/tanstack-ai';
export async function POST(request: Request) {
const { messages } = await request.json(); const userId = await getUserId(request);
try {
const linear = await createMCPClient({ transport: connectMCPTransport( { type: 'http', url: 'https://mcp.linear.app/mcp' }, 'oauth/linear', { subject: { type: 'user', id: userId } }, ), });
const stream = chat({ adapter: vercelGatewayText('anthropic/claude-opus-5'), messages, mcp: { clients: [linear] }, }); return toServerSentEventsResponse(stream);
} catch (err) {
const challenge = getConsentChallenge(err); if (challenge) return Response.redirect(challenge.url, 303); throw err;
}}
连接 Linear MCP 客户端,使用每个用户独立的令牌,并在必要时重定向至授权页面。
如果用户尚未授予访问权限,createMCPClient 会在模型运行前因授权挑战而失败。使用 getConsentChallenge 捕获该错误并重定向到 Connect 的授权 URL。否则,工具调用中产生的授权错误会以错误字符串的形式传递给模型,而非以重定向形式传达给用户。
阅读 TanStack AI 集成文档 快速上手,或查看 Vercel Connect 的 受支持框架和适配器完整列表。
贡献者
原始来源: vercel