Vercel Connect 托管 OAuth:TanStack AI 构建的 Agent 可直接调用需授权的 MCP 服务器

Vercel Blog 发布日期待确认

Vercel Connect 现已支持 TanStack AI。用它构建的 Agent 可以直接连接需要 OAuth 授权的外部 MCP 服务器,访问令牌的保存与轮换由平台负责。开发者只需引入 connectMCPTransport,把认证能力挂到 TanStack 的传输层即可。

这次更新解决了什么问题

过去用 TanStack AI 写 Agent,只要涉及需要 OAuth 授权的外部工具,令牌存在哪、什么时候换,都得开发者自己盯着。

接入 Connect 之后,这部分工作转由平台接管:Agent 可以直接调用需授权的 MCP 服务器,令牌的保管和刷新不再需要自己实现。

先弄清两个概念

MCP(Model Context Protocol,模型上下文协议)是一套标准,让 AI 应用以统一方式连接外部工具和数据源。可以把它理解成 AI 世界的“USB 接口”——对方支持这个协议,接上就能用。

OAuth 是一种常见的第三方授权机制。用户不必把密码交给应用,而是通过一次授权跳转,让应用拿到一份有有效期的访问令牌。

两者结合后,最麻烦的地方在于令牌的保管和刷新:令牌会过期,过期后要重新获取,而重新获取本身也可能失败。这块以前基本靠开发者兜底,现在可以交给 Connect 处理。

认证是怎么接进来的

新增的子路径 @vercel/connect/tanstack-ai 导出了 connectMCPTransport。

它接收一份 TanStack 传输配置,并在上面附加一个由 Connect 支撑的认证提供者(provider)。这个提供者在每次发起 MCP 请求之前都会被调用,因此拿到的访问令牌始终是最新的,不需要手动刷新。

用户还没授权时会怎样

如果用户还没完成授权,createMCPClient 会在模型开始运行之前就失败,并抛出授权质询(consent challenge)。

开发者可以用 getConsentChallenge 捕获这个信号,再跳转到 Connect 的授权页面,引导用户走完授权流程。

少了这层处理,工具调用过程中出现的授权错误只会以一段错误字符串的形式丢给模型。用户看不到跳转页面,也就无法完成授权,整条调用链就卡在那里——这正是不少 Agent 应用在真实环境里翻车的地方。

如何上手

在 AI 编程和氛围编程(vibe coding)场景里,Agent 经常需要访问外部工具,而授权往往是最容易出错的一环。把这部分交给平台托管,开发者就能把精力留在工具调用和编排逻辑上。

查看原文