天气数据服务

基于Model Context Protocol (MCP)的天气服务器应用,提供实时天气数据和警报访问。

  • by cskiro
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 cskiro/mcp-weather-server

使用说明

MCP气象服务器

使用模型上下文协议(MCP)构建的天气服务器应用程序,提供对实时天气数据和警报的访问。

概述

MCP Weather Server是一个TypeScript应用程序,它作为使用MCP SDK的天气相关应用程序的后端。它提供了通过美国国家气象局(NWS)API访问当前天气状况、预报和天气警报的工具。

特性

  • 美国天气预报:通过纬度/经度获取美国任何地点的详细预报数据
  • 天气警报:检索美国任何州的活动天气警报
  • MCP集成:作为MCP服务器构建,用于无缝集成AI助手
  • 命令行界面:易于安装和作为CLI工具运行

建筑

该应用程序是使用模型上下文协议(MCP)框架构建的:

  1. MCP服务器层:处理与MCP客户端的通信
  2. 天气工具:实现预测和警报功能
  3. 外部API集成:连接到美国国家气象局(NWS)API

部件结构

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

  • 获取预报:检索按纬度和经度指定的位置的详细天气预报
  • 获取警报:获取美国特定州的活动天气警报

这些工具与美国国家气象局API通信,以提供可靠的天气数据。

技术栈

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

入门指南

先决条件

  • Node.js(v18或更高版本)
  • npm或纱线

安装

# Clone the repository
git clone https://github.com/cskiro/MCP-Weather-Server.git

# Navigate to the project directory
cd MCP-Weather-Server

# Install dependencies
npm install

# Build the project
npm run build

# Make the CLI executable
chmod +x build/index.js

# Install globally (optional)
npm install -g .

用法

您可以通过两种方式使用服务器:

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

API使用

获取天气预报

// Example: Get forecast for San Francisco
{
  latitude: 37.7749,
  longitude: -122.4194
}

获取天气警报

// Example: Get alerts for California
{
  state: "CA"
}

数据源

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

贡献

欢迎投稿!请随时提交拉取请求。

许可证

此项目根据ISC许可证获得许可-有关详细信息,请参阅许可证文件。