Token导航 LogoToken导航TokenDH.com
Weather Services Using MCP logo
地图位置stdio官方级别未说明来源级核验

Weather Services Using MCP

MCP Server

一个通过MCP服务器提供天气警报工具的项目,支持交互式客户端查询美国各州的天气警报。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
位置天气Python本地部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Bhanuteja072

提供方

Bhanuteja072

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run server/client.py

详细介绍

使用MCP的天气服务

一个示例项目,通过MCP(模型上下文协议)服务器暴露一个天气警报工具,并提供一个由……驱动的交互式客户端 mcp-use 以及Groq的大型语言模型(LLM)通过 langchain-groq

这个仓库展示了如何:

  • 使用(某种技术或方法)构建一个MCP服务器 FastMCP 并发布工具。
  • 通过JSON配置文件启动服务器,并使用代理与其进行交互。
  • 调用国家气象局(NWS)API,并以用户友好的格式呈现结果。

特点/特性

  • 带有天气工具的MCP服务器:

- get_alerts(state: str) 返回美国某州(例如。, CANY)。

  • 基于代理的交互式聊天客户端,可选会话记忆功能。
  • 为警报(事件、区域、严重程度、描述、指示)提供简洁、面向用户的结果输出。
  • 跨机器便携性的与工作区相关的MCP配置。

建筑学

  • server/weather.py (MCP服务器)

- 用途 FastMCP("weather") 来自 mcp.server.fastmcp。 - 声明带有(某种特性/功能)的工具 @mcp.tool(). - 用途 httpx.AsyncClient 调用NWS API(https://api.weather.gov) 并附上适当的标题。

  • server/weather.json (MCP配置)

- 指示MCP运行时使用(指定的配置/参数)启动服务器 uv run --with mcp[cli] mcp run server/weather.py。 - 使用相对于工作区的路径以避免特定环境下的故障。

  • server/client.py (交互式代理客户端)

- 通过加载环境变量 python-dotenv (.env)。 - 创建一个 MCPClient 并且 MCPAgent 来自 mcp_use。 - 用途 ChatGroq 来自 langchain-groq (介词)和……一起;带着;用;凭借 GROQ_API_KEY

  • pyproject.toml

- 项目元数据和依赖项由……管理 uv. - 注:项目名称不得为 mcp 以避免自我依赖的冲突。

项目结构

.
├── main.py
├── pyproject.toml
├── README.md
└── server/
		├── client.py         # Interactive REPL using MCPAgent + ChatGroq
		├── weather.py        # MCP server exposing the get_alerts tool
		└── weather.json      # MCP config to launch the weather server

先决条件

  • Python(由……管理) uv)。
  • uv 安装在您的系统上。
  • Groq API密钥已设置在环境变量中或 .env 文件: GROQ_API_KEY

安装与设置

  1. 安装依赖项(捕获在 pyproject.toml)。

- 如有需要,请添加/更新依赖项: - mcp[cli] 用于运行MCP服务器。 - mcp-use 用于客户端和代理的协调管理。 - langchain-groq 用于访问Groq模型。

  1. 创建一个 .env 在项目根目录下创建文件并填入您的Groq密钥:
   GROQ_API_KEY=your-key-here

如何跑步

  • 启动交互式客户端(推荐):
  uv run server/client.py

然后输入一个提示,例如:

- Provide me the weather alerts for CA - Provide me the weather alerts for NY

  • 可选地,直接运行MCP服务器以进行调试:
  uv run --with mcp[cli] mcp run server/weather.py

工具:获取警报(state)

输入

  • state (字符串):两位字母的州代码,例如。 CANY.

行为

  • 通话 https://api.weather.gov/alerts/active/area/{state}
  • 为每个警报返回一个格式化的字符串,包括:

- 事件、区域、严重程度、描述、说明。

  • 如果没有警报或发生错误,则返回一条有用的提示信息。

故障排除

  • 使用客户端时连接已关闭

- 确保 server/weather.json 使用 server/weather.py (相对路径),而不是指向另一台机器的绝对路径。 - 确认 mcp[cli] 已安装并可供使用 uv。 - 验证您的 .env 包含有效内容 GROQ_API_KEY (由……要求/规定) ChatGroq)。

  • 在添加时出现的自依赖错误 mcp

- 如果 pyproject.toml [project].namemcpuv add mcp[cli] 将会失败。 - 重命名项目(例如。, weather-services-using-mcp)并重试。

  • 无状态警报

- 终端点合法地返回没有活动警报。请尝试另一种状态或检查NWS(国家气象局)状态。

扩展服务器

  • 通过装饰异步函数来添加更多工具 @mcp.tool()server/weather.py
  • 除非消费者期望结构化数据,否则请保持输出格式用户友好(纯文本)。
  • 重复使用 httpx.AsyncClient 用于外部调用;请包含适当的头部信息。

目录标签

目录标签

位置天气Python本地部署天气服务MCP服务器交互式客户端NWSAPI

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP