关于 Workflows MCP Server
Workflows MCP Server 将天气工作流封装为查询城市天气的工具,并提供直接 REST API。MCP 实现可能存在兼容性问题,README 建议优先使用简化 API。
主要功能
- 01通过 `get-weather` 查询城市天气
- 02提供 `check-weather` 提示词模板
- 03将天气数据交由 LLM 解读
- 04提供直接 REST 天气接口
适用场景
- 01查询某个城市的当前天气
- 02将天气结果整理为自然语言描述
- 03通过 REST 接口获取天气 JSON
MCP 相关
MCP 实现通过 HTTP/SSE 提供 `get-weather` 工具和 `check-weather` 提示词;README 提到该实现可能存在兼容性问题。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Workflows MCP 服务
这是一个模型上下文协议(MCP)服务,通过简单的 API 提供城市天气信息。
功能
- 此服务将工作流作为工具公开,供 Agent 使用。在本例中,天气工作流以一组工具的形式公开:
- 提供
get-weather工具,可获取任意城市的天气数据 - 提供
check-weather提示词模板,便于与大模型集成 - 使用 HTTP/SSE 传输方式与客户端通信
- 提供
工作流架构

调用 get-weather 工具时,会触发一个工作流,该工作流会:
- 将城市名称作为输入
- 查询 OpenWeatherMap 服务,获取该地点的当前天气数据
- 将原始天气数据传递给大模型进行解读
- 返回友好、自然语言形式的当前天气状况描述
这种架构既能准确获取天气数据,也能通过智能处理,以更具对话性且易于理解的方式提供天气信息。
当前实现说明
由于 MCP 协议实现存在一些技术难题,我们提供了两种方案:
-
原始 MCP 服务 ——
src目录中的 TypeScript 实现,可能与当前 SDK 版本存在一些兼容性问题。 -
简化的直接 API —— 根目录中的纯 JavaScript 实现(
direct-server.js和direct-client.js),提供简单的 RESTful 端点,无需使用 MCP 协议。
如需立即使用,我们建议采用简化的直接 API 方案。
前置条件
- Node.js 18 或更高版本
- npm 或 yarn
安装
- 克隆此仓库
- 安装依赖项:
npm install
用法 - 简化 API 方案
-
启动服务:
node direct-server.js -
服务将在端口 3000 上启动,并提供:
- 天气 API:
http://localhost:3000/api/weather?city=New%20York - 健康检查:
http://localhost:3000/health
- 天气 API:
-
运行客户端示例:
node direct-client.js
用法 - MCP 方案
此方案需要构建 TypeScript 代码,并且可能存在一些兼容性问题:
-
构建项目:
npm run build -
启动服务:
npm start -
服务将在端口 3000 上启动:
- SSE 端点:
http://localhost:3000/sse - 消息端点:
http://localhost:3000/messages?connectionId=YOUR_CONNECTION_ID - 健康检查:
http://localhost:3000/health
- SSE 端点:
了解连接 ID
连接 ID 是连接到 SSE 端点时分配给每个客户端会话的唯一标识符。它是维持双向通信的关键机制:
- 客户端连接到
/sse端点时,服务会生成一个唯一的连接 ID - 服务会在初始 SSE 响应中将此 ID 返回给客户端
- 客户端必须在后续所有发往
/messages端点的请求中,将此 ID 作为查询参数 - 这样服务就能将响应路由回正确客户端的 SSE 连接
例如,如果你的连接 ID 是 1742761520489,你可以这样调用工具:
http://localhost:3000/messages?connectionId=1742761520489
API 参考
直接 API
GET /api/weather
获取指定城市的天气信息。
参数:
city(字符串):要查询天气的城市名称。
返回:
- 包含天气信息的 JSON 响应。
MCP 工具
get-weather
获取指定城市的天气信息。
参数:
city(字符串):要查询天气的城市名称。
返回:
- 文本格式的天气信息。
MCP 提示词
check-weather
用于要求大模型检查并总结天气信息的提示词模板。
参数:
city(字符串):要查询天气的城市名称。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。