返回 MCP 目录
public公开dns本地运行

mcp-weather-server-rfw

MCP天气服务器是一个基于Model Context Protocol(MCP)构建的天气服务应用,提供实时天气数据和警报访问功能。它通过美国国家气象局(NWS)API获取美国地区的天气预报和警报,并作为MCP服务器与AI助手无缝集成。

article

README

🚀 MCP 天气服务器

MCP 天气服务器是一个基于模型上下文协议(MCP)构建的天气服务应用程序,能为用户提供实时天气数据和警报访问,为天气相关应用提供有力支持。

🚀 快速开始

先决条件

  • Node.js (v18 或更高版本)
  • npm 或 yarn 包管理器

安装步骤

# 克隆仓库
git clone https://github.com/cskiro/MCP-Weather-Server.git

# 切换到项目目录
cd MCP-Weather-Server

# 安装依赖项
npm install

# 构建项目
npm run build

# 设置 CLI 工具为可执行文件
chmod +x build/index.js

# 全局安装(可选)
npm install -g .

使用方法

有两种方式可以使用此服务器:

  1. 直接调用
weather
  1. 通过 MCP 兼容客户端/助手: 配置你的 MCP 客户端以使用天气工具进行预报和天气警报的查询。

✨ 主要特性

  • 美国天气预报:可通过经纬度参数获取任意美国位置的详细天气预报数据。
  • 天气警报:能查询指定美国州内的活跃天气警报。
  • MCP 集成:作为 MCP 服务器构建,可实现与 AI 助手的无缝集成。
  • 命令行界面:简单安装,拥有易于运行的 CLI 工具。

🏗️ 架构

该应用基于模型上下文协议(MCP)框架构建:

  1. MCP 服务器层:负责与 MCP 客户端之间的通信。
  2. 天气工具:实现预报和警报功能模块。
  3. 外部 API 集成:连接至国家气象局(NWS)API。

组件结构

服务器包含两个主要的天气工具:

  • get-forecast:根据经纬度参数获取指定位置的详细天气预报。
  • get-alerts:根据州名参数获取指定区域内的活跃天气警报。 这些工具通过与国家气象局 API 的交互,提供可靠的数据支持。

🔧 技术细节

此服务器的技术栈如下:

  • Node.js
  • TypeScript
  • MCP SDK (@modelcontextprotocol/sdk)
  • 国家气象局(NWS)API
  • Zod(用于输入验证)

💻 使用示例

基础用法

获取天气预报

// 示例:获取旧金山的天气预报
{
  经纬度: {
    纬度: 37.7749,
    经度: -122.4194
  }
}

获取天气警报

// 示例:查询加利福尼亚州的天气警报
{
  州: "CA"
}

📚 详细文档

API 使用说明

获取天气预报

// 示例:获取旧金山的天气预报
{
  经纬度: {
    纬度: 37.7749,
    经度: -122.4194
  }
}

获取天气警报

// 示例:查询加利福尼亚州的天气警报
{
  州: "CA"
}

数据来源

此服务器使用 国家气象局 API,该数据源为美国提供官方天气信息。由于数据源限制,目前仅支持美国境内的位置查询。

🤝 贡献指南

欢迎任何贡献!请随时通过 Pull Request 提交代码或建议。

📄 许可证

此项目采用 ISC 许可证,具体内容请查阅 LICENSE 文件。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端