← 文章 / 编程开发
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 的 受支持框架和适配器完整列表。

贡献者

Hedi Zandi、Dima Voytenko

原始来源: vercel

评论 (0)