mcpField
M
MCP Weather Application (Client-Server)

MCP Weather Application (Client-Server)

本地服务
github.com/RoystonDAlmeida媒体与设计079 周前更新

关于 MCP Weather Application (Client-Server)

MCP Weather Application (Client-Server) 是包含 MCP 服务和聊天客户端的天气应用示例。服务端从 National Weather Service 获取预警和预报,客户端使用 LangChain 与 Groq 处理自然语言请求。

主要功能

  1. 01获取天气预警和预报
  2. 02通过 MCP 发现服务端工具
  3. 03提供自然语言查询聊天界面
  4. 04使用 LangChain 和 Groq

适用场景

  1. 01在聊天中查询天气预警
  2. 02用自然语言请求天气预报

MCP 相关

服务端通过 National Weather Service API 提供 `get_alerts` 和 `get_forecast` 工具。客户端通过 stdio 连接、发现这些工具,并通过 MCP 调用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP 天气应用程序(客户端-服务端)

此项目展示了一个使用 MCP(Model Context Protocol,模型上下文协议)框架获取天气信息的客户端-服务端应用程序。

  • weather/:包含 MCP 服务端代码,用于从美国国家气象局(NWS)API 获取数据。
  • mcp-client/:包含 MCP 客户端代码,用于与服务端交互,并使用 LangChain 和 Groq 处理自然语言查询。

描述

MCP 服务端(weather/)通过 MCP 提供特定工具(get_alerts、get_forecast)。它连接到 NWS API,以处理通过这些工具发出的请求。

MCP 客户端(mcp-client/)连接到 MCP 服务端,发现其工具,并允许用户通过聊天界面进行交互。它使用 LangChain 和 Groq API(Llama 3 模型)处理自然语言查询,判断是否需要调用服务端工具;如有必要,则通过 MCP 调用该工具并生成最终回复。

架构

  1. 客户端启动并通过 stdio 与服务端脚本建立 MCP 连接。
  2. 客户端发现服务端提供的工具。
  3. 用户向客户端输入自然语言查询。
  4. 客户端使用 Groq LLM(通过 LangChain)理解查询,并确定是否需要使用服务端工具。
  5. 如果需要使用工具,客户端会向服务端发送 MCP 请求,以执行指定工具(例如 get_forecast),并提供所需参数。
  6. 服务端执行工具逻辑,从 NWS API 获取数据。
  7. 服务端通过 MCP 将结果发回客户端。
  8. 客户端将工具的结果纳入与大模型的持续对话。
  9. 客户端向用户展示大模型生成的最终回复。

设置

详细的设置说明,包括依赖项安装和环境配置(例如 API 密钥),请参阅各组件目录中的 README 文件:

  • **服务端设置:**参阅 weather/README.md
  • **客户端设置:**参阅 mcp-client/README.md

运行应用程序

要运行客户端并让它自动启动并连接到服务端,请在 mcp-client/ 目录(即包含 client.py 的目录)中执行以下命令:

uv run client.py ../weather/weather.py

评论

支持 Markdown

第一次接触 MCP?

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

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