SuperAPI AI 工具集

tanstack-ai-mcp

智能体与模型

查看项目

更新于 10-16 00:01

技能介绍

用途:@tanstack/ai-mcp 是 TanStack AI 的宿主端 Model Context Protocol(MCP)客户端,用于在服务端连接第三方 MCP 服务器,把其工具接入 chat() 的工具调用流程,也可读取服务器资源与提示词。仅限服务端使用,不适用于浏览器/客户端代码。

主要能力:通过 createMCPClient 连接单个服务器,createMCPClients 并行连接多个服务器并按配置键自动为工具名加前缀以避免冲突。支持 Streamable HTTP、SSE 与 Node 专用 stdio 传输,也可传入自定义 SDK Transport。认证支持静态请求头与 OAuth 2.1(authProvider)。工具类型安全有三种模式:自动发现(参数为 unknown,JSON Schema 转发给模型)、通过 toolDefinition 的 Zod 模式获得完整类型、以及用 generate CLI 生成 ServerDescriptor 类型。还支持资源读取(resources/readResource 与 mcpResourceToContentPart)、提示词(prompts/getPrompt 与 mcpPromptToMessages)、MCP Apps 静态与交互式组件。

使用方式:安装 pnpm add @tanstack/ai-mcp;主入口导出 createMCPClient、createMCPClients、转换器与类型,stdio 传输需从 @tanstack/ai-mcp/stdio 单独导入。可将 client.tools() 结果传给 chat() 的 tools,或直接使用 chat({ mcp: { clients, connection, lazyTools, onDiscoveryError } }) 让 chat() 管理发现与生命周期。客户端生命周期由调用方负责,chat() 不会关闭客户端;流式路由中需在流消费完后再关闭,可用中间件 onFinish/onAbort/onError 或 await using。

适用场景:需要让智能体或聊天循环调用外部 MCP 服务器工具、把 MCP 资源或提示词注入对话、为外部服务器生成 TypeScript 类型,以及在服务端执行工具并连接 HTTP 或 stdio MCP 服务器。

限制:MCP 连接仅限服务端;交互式 OAuth 授权码流程需自行构造传输并调用 finishAuth(code),createMCPClient 不暴露内部传输;自动发现模式下参数类型为 unknown,需完整类型应使用 toolDefinition 模式。其余细节资料未提供。