mcpField
W
Workflows MCP Server

Workflows MCP Server

本地服务
github.com/popand地图与出行084 周前更新

关于 Workflows MCP Server

Workflows MCP Server 将天气工作流封装为查询城市天气的工具,并提供直接 REST API。MCP 实现可能存在兼容性问题,README 建议优先使用简化 API。

主要功能

  1. 01通过 `get-weather` 查询城市天气
  2. 02提供 `check-weather` 提示词模板
  3. 03将天气数据交由 LLM 解读
  4. 04提供直接 REST 天气接口

适用场景

  1. 01查询某个城市的当前天气
  2. 02将天气结果整理为自然语言描述
  3. 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 工具时,会触发一个工作流,该工作流会:

  1. 将城市名称作为输入
  2. 查询 OpenWeatherMap 服务,获取该地点的当前天气数据
  3. 将原始天气数据传递给大模型进行解读
  4. 返回友好、自然语言形式的当前天气状况描述

这种架构既能准确获取天气数据,也能通过智能处理,以更具对话性且易于理解的方式提供天气信息。

当前实现说明

由于 MCP 协议实现存在一些技术难题,我们提供了两种方案:

  1. 原始 MCP 服务 —— src 目录中的 TypeScript 实现,可能与当前 SDK 版本存在一些兼容性问题。

  2. 简化的直接 API —— 根目录中的纯 JavaScript 实现(direct-server.js 和 direct-client.js),提供简单的 RESTful 端点,无需使用 MCP 协议。

如需立即使用,我们建议采用简化的直接 API 方案。

前置条件

  • Node.js 18 或更高版本
  • npm 或 yarn

安装

  1. 克隆此仓库
  2. 安装依赖项:
    npm install
    

用法 - 简化 API 方案

  1. 启动服务:

    node direct-server.js
    
  2. 服务将在端口 3000 上启动,并提供:

    • 天气 API:http://localhost:3000/api/weather?city=New%20York
    • 健康检查:http://localhost:3000/health
  3. 运行客户端示例:

    node direct-client.js
    

用法 - MCP 方案

此方案需要构建 TypeScript 代码,并且可能存在一些兼容性问题:

  1. 构建项目:

    npm run build
    
  2. 启动服务:

    npm start
    
  3. 服务将在端口 3000 上启动:

    • SSE 端点:http://localhost:3000/sse
    • 消息端点:http://localhost:3000/messages?connectionId=YOUR_CONNECTION_ID
    • 健康检查:http://localhost:3000/health
了解连接 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。