
Weather-MCP-Server
这是一个模型上下文协议 (MCP) 服务器,它使用国家气象局 (NWS) API 提供天气信息。 功能: * 获取美国某个州的天气警报 * 获取特定位置的天气预报(使用纬度和经度)
README
Weather MCP Server
这是一个使用美国国家气象局 (NWS) API 提供天气信息的模型上下文协议 (MCP) 服务器。
功能
- 获取美国州的天气警报
- 获取特定位置的天气预报(使用纬度和经度)
要求
- Python 3.10+
- FastMCP
- httpx
安装
- 克隆此存储库
- 设置虚拟环境:
python -m venv .venv source .venv/bin/activate # 在 Windows 上,使用 `.venv\Scripts\activate`
- 使用 uv 安装所需的包:
uv add "mcp[cli]" httpx
配置
服务器使用配置文件 config.py
,其中包含以下设置:
NWS_API_BASE
: 美国国家气象局 API 的基本 URLUSER_AGENT
: 向 NWS API 发出请求时使用的 User-Agent 字符串LOG_LEVEL
: 日志记录级别(例如,“INFO”、“DEBUG”)LOG_FORMAT
: 日志消息的格式字符串REQUEST_TIMEOUT
: API 请求的超时时间(秒)
您可以在 config.py
文件中修改这些设置以自定义服务器行为。
用法
独立运行服务器
要独立运行服务器:
- 如果尚未激活,请激活虚拟环境:
source .venv/bin/activate # 在 Windows 上,使用 `.venv\Scripts\activate`
- 运行服务器:
python weather.py
与 Cline 一起使用
Weather MCP Server 已添加到 Cline 配置中。 要在 Cline 中使用它:
-
确保 Cline 已正确设置并正在运行。
-
Weather MCP Server 将作为名为“weather”的工具提供。
-
您可以在 Cline 中使用以下工具:
a.
get_alerts(state: str)
: 获取美国州的天气警报(使用两位数的州代码,例如,“CA”代表加利福尼亚州) b.get_forecast(latitude: float, longitude: float)
: 获取特定位置的天气预报
在 Cline 中的使用示例:
# 获取加利福尼亚州的警报
result = await mcp.call_tool("weather.get_alerts", state="CA")
print(result)
# 获取旧金山的天气预报(近似坐标)
result = await mcp.call_tool("weather.get_forecast", latitude=37.7749, longitude=-122.4194)
print(result)
注意:调用 MCP 工具的确切语法可能因您的 Cline 设置而异。 有关最新的使用说明,请参阅 Cline 文档。
错误处理和日志记录
服务器包括改进的 API 请求错误处理和日志记录。 如果在请求期间发生错误,服务器将记录该错误并返回相应的错误消息。 日志将以配置的日志级别和格式打印到控制台。
测试
单元测试
要运行单元测试:
python -m unittest test_weather.py
这些测试涵盖了 get_alerts
和 get_forecast
工具的基本功能。
手动测试
要手动测试服务器,您可以使用 MCP 客户端调用提供的工具。 以下是一些示例命令:
# 获取加利福尼亚州的警报
result = await mcp.call_tool("get_alerts", state="CA")
print(result)
# 获取旧金山的天气预报(近似坐标)
result = await mcp.call_tool("get_forecast", latitude=37.7749, longitude=-122.4194)
print(result)
贡献
欢迎贡献! 请随时提交 Pull Request。
许可证
本项目是开源的,并根据 MIT 许可证 提供。
推荐服务器

Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。