Temporal-MCP 服务器使用说明
项目简介
Temporal-MCP 是一个实现了 Model Context Protocol (MCP) 的服务器,旨在作为AI助手(如大型语言模型LLM客户端)和 Temporal 工作流引擎之间的桥梁。它允许AI通过结构化的工具调用,以自然语言的方式发现、执行和监控复杂的Temporal工作流。
主要功能点
- 工作流发现: 自动读取配置文件中定义的工作流,并将其能力声明为AI可理解的工具。
- 工作流执行: 将AI助手的自然语言请求(解析后的结构化参数)转化为Temporal工作流的启动指令并执行。
- 参数校验: 根据配置文件定义,在执行前对工作流所需的参数进行基本校验。
- 历史记录获取: 提供工具供AI查询已执行工作流的历史记录。
- AI友好描述: 利用配置文件中的'purpose'字段和输入参数描述,生成详细的工具说明,帮助AI理解如何使用工作流。
- 标准协议通信: 通过标准I/O (Stdio) 使用 JSON-RPC 协议与兼容MCP的AI客户端通信。
安装步骤
- 安装Go: 确保系统已安装 Go 1.21 或更高版本。
- 安装并运行Temporal服务器: 参照 Temporal 官方文档 安装并启动 Temporal 服务器及 Worker。例如,可以使用 Temporal Money Transfer Demo 作为示例。
- 克隆仓库:
git clone https://github.com/Mocksi/temporal-mcp.git cd temporal-mcp - 构建服务器:
这会在 './bin' 目录下生成 'temporal-mcp' 可执行文件。make build - 配置服务器: 复制示例配置文件 'config.sample.yml' 为 'config.yml',并根据你的Temporal环境和希望暴露的工作流进行修改。重点配置 Temporal 连接信息和 'workflows' 部分。
服务器配置 (供 MCP 客户端调用)
为了让 MCP 客户端(如 AI 助手)能够连接并使用 Temporal-MCP 服务器,你需要在 MCP 客户端的配置中指定如何启动和通信。虽然具体的配置格式取决于你使用的 MCP 客户端,但通常需要提供以下信息:
- 服务器名称 (server name): 给这个 MCP 服务器起一个易于识别的名称,例如 "Temporal Gateway" 或 "Workflow Connector"。
- 启动命令 (command): Temporal-MCP 服务器可执行文件的完整路径。构建后,这个文件通常位于项目的 './bin/temporal-mcp'。你需要指定绝对路径或相对于客户端启动目录的路径。
- 命令行参数 (args): 传递给 Temporal-MCP 服务器启动命令的参数。主要的参数是指定配置文件的位置,例如 '["-config", "/path/to/your/config.yml"]'。'/path/to/your/config.yml' 应替换为你实际存放 'config.yml' 文件的路径。
客户端会根据这些信息启动 Temporal-MCP 服务器进程,并通过标准 I/O (stdio) 进行通信。请参考你使用的 MCP 客户端的文档来了解如何添加新的 MCP 服务器配置。
基本使用方法
配置好MCP客户端并启动后:
- 触发工作流: 在AI助手中,用自然语言描述你想要执行的工作流及其参数,例如 "请将 100 美元从账户 ABC123 转移到账户 XYZ789"。AI助手会识别出对应的 Temporal 工作流工具,解析参数,并通过 MCP 调用 Temporal-MCP 服务器。
- 获取工作流状态/历史: 使用AI助手的查询功能,询问工作流的当前状态或历史记录,例如 "刚才的转账工作流完成了吗?" 或 "查询工作流 ID xyz123 的历史记录"。AI助手会调用 'GetWorkflowHistory' 工具来获取信息。
- 探索可用功能: AI助手通常会通过 MCP 获取系统提示 (system prompt),其中包含了 Temporal-MCP 服务器暴露的所有工作流工具的详细描述和使用示例,帮助你了解可用的功能。
注意事项
- 确保 Temporal 服务器和 Worker 正在运行,并且 Temporal-MCP 的 'config.yml' 中配置的 Task Queue 与 Worker 监听的 Task Queue 一致。
- 日志输出到标准错误 (stderr),请检查 stderr 获取服务器运行信息和错误。
信息
分类
AI与计算