将 Zapier MCP 集成到聊天系统
Source: Dev.to

介绍
在开发一个基于聊天的自动化原型时,我有机会探索将 Zapier MCP 服务器集成到聊天系统中。目标是让用户能够直接在聊天中触发真实世界的操作,而无需为每种使用场景编写自定义工作流。
本文阐述了我如何进行集成、所采用的架构、UI 的设计方式,以及在使用 Zapier MCP 时遇到的问题。
理解架构
在编写任何代码之前,我专注于了解涉及的核心组件:
- 工具 – 发送电子邮件、更新电子表格或创建任务等操作。
- MCP 服务器 – 以标准化方式公开工具的服务器(此处为 Zapier MCP)。
- MCP 客户端 – 能够发现并调用可用工具的 LLM(Claude)。
- MCP 主机 – 将用户输入、LLM 和 MCP 服务器连接起来的应用程序。
一旦这些角色明确,整体系统设计就更容易推理。MCP 充当 LLM 与外部工具之间的桥梁,避免了手动集成的需求。
整体流程
- 用户提供输入。
- 大语言模型发现相关工具。
- 大语言模型将用户意图映射到工具指令。
- 通过 Zapier MCP 执行工具。
- 大语言模型格式化最终响应。
概要:
User intent → tool discovery → tool execution → formatted response
工具发现与执行
在实际操作中,流程如下:
- 可用工具和用户输入被发送给 Claude。
- Claude 返回相关工具列表。
- 发现的工具被发送回 Claude 以映射指令。
- Zapier MCP 执行这些指令。
- Claude 将工具响应格式化为最终输出。
这种方法需要多次调用 LLM,后来成为主要的缺点之一。
设置 Zapier MCP
设置 Zapier MCP 相对简单:
- 创建一个 Zapier 账户并选择所需的工具。
- 启用 Zapier MCP 服务器。
- 复制 MCP 服务器 URL 和 API 密钥。
- 使用 Anthropic Messages API 将此端点连接到 Claude。
连接后,我可以查询系统以发现可用的工具,Zapier MCP 能可靠地处理执行层。
UI 设计
UI 故意设计得简约。它包括:
- 聊天输入框。
- 显示活跃工具执行状态的面板。
- 显示已完成结果的最终部分。
目标是让工具使用透明化,以便用户能够看到正在运行的内容以及何时执行完成,从而减少黑箱系统的感觉。

有效之处
- Zapier MCP 易于集成,适合快速实验。
- 它消除了手动连接多个 API 的需求,使 LLM 能专注于意图和编排。
- 对于快速迭代和原型制作,这种设置非常有效。
- 我曾短暂尝试过 n8n,但感觉对快速实验来说较为笨重,因此 Zapier 更适合我的工作流。
限制与挫折
多次 LLM 调用
为了生成单一的干净响应,系统需要分别进行工具发现、指令映射和响应格式化的 LLM 调用。若能在不增加额外粘合代码的前提下减少这些步骤,将提升开发者体验。
闭源特性
Zapier 为闭源软件,这限制了对内部执行过程的可视性。超出公开接口的调试和自定义受到限制。
控制力有限
抽象层提升了开发速度,但也牺牲了对执行逻辑的细粒度控制,这在处理复杂工作流时可能成为问题。
结论
将 Zapier MCP 集成到聊天系统总体上是一次扎实的体验。它在快速开发、实验以及概念验证构建方面表现良好。然而,对于需要深度控制和可视化的高级工作流,可能需要额外的层或替代方案。
这次实验帮助我更好地理解了如何使用基于 MCP 的系统构建 LLM 驱动的工具编排。