双源天气 MCP 服务器

双源天气 MCP 服务器

By qiangge2008 GitHub

-

weather-mcp weather-server
Overview

What is Weather MCP Server?

Weather MCP Server is a weather server based on the Model Context Protocol (MCP) that provides weather data using APIs from HeWeather and Seniverse, supporting failover and prioritizing the fastest response.

How to use Weather MCP Server?

To use the Weather MCP Server, clone the repository, install dependencies, configure environment variables with your API keys, and run the server using npm commands.

Key features of Weather MCP Server?

  • View current weather as a resource.
  • Get current weather for a specified city.
  • Retrieve weather forecasts for a specified city.
  • Use multiple API sources simultaneously, automatically selecting the fastest response.
  • Support for minimum/maximum temperature, humidity, and wind speed data.

Use cases of Weather MCP Server?

  1. Providing real-time weather updates for applications.
  2. Integrating weather data into chatbots or virtual assistants.
  3. Offering weather forecasts for planning events or travel.

FAQ from Weather MCP Server?

  • How do I obtain API keys for HeWeather and Seniverse?

You can register on their respective developer platforms to create applications and obtain API keys.

  • Does the server support HTTP requests?

No, the server operates solely in MCP mode and does not provide HTTP server functionality.

  • What happens if one of the APIs fails?

The server automatically switches to the other API to ensure continuous service.

Content

双源天气 MCP 服务器

这是一个基于 Model Context Protocol (MCP) 的天气服务器,使用和风天气和心知天气API提供天气数据,支持故障转移和优先获取最快响应。

功能

  • 查看当前天气 (作为资源提供)
  • 获取指定城市的当前天气 (工具)
  • 获取指定城市的天气预报 (工具)
  • 同时使用多个API源,自动选择最快响应的结果
  • 支持最低/最高温度、湿度和风速数据

安装

# 克隆仓库
git clone <repository-url>
cd weather-mcp-server

# 安装依赖
npm install

# 配置环境变量
cp .env.example .env
# 编辑 .env 文件,添加你的API密钥

API 密钥获取

和风天气 API

  1. 访问 和风天气开发服务
  2. 注册账号并创建应用
  3. 在控制台获取API Key

心知天气 API

  1. 访问 心知天气开发服务
  2. 注册账号并创建应用
  3. 在控制台获取API Key

开发

# 构建项目
npm run build

# 监视模式 (自动重新构建)
npm run watch

运行

npm start

MCP 模式说明

本服务器仅支持 Model Context Protocol (MCP) 模式运行,不提供HTTP服务器功能。MCP是一种专为大型语言模型设计的协议,允许模型与外部工具和资源进行交互。

MCP 服务器特点

  • 使用标准输入/输出 (stdio) 与客户端通信
  • 提供资源和工具供大型语言模型使用
  • 支持结构化数据交换和错误处理

可用资源

  • weather://{city} - 获取指定城市的当前天气

可用工具

  • getCurrentWeather - 获取指定城市的当前天气
  • getForecast - 获取指定城市的天气预报(支持1-7天)

在 Claude Desktop 中配置

编辑 Claude Desktop 配置文件:

// macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
// Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "weather": {
      "command": "node",
      "args": ["你的完整路径/weather-mcp-server/build/index.js"],
      "env": {
        "QWEATHER_API_KEY": "你的和风天气API密钥",
        "SENIVERSE_API_KEY": "你的心知天气API密钥"
      }
    }
  }
}

调试

查看 MCP 的日志:

# macOS
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

使用 MCP Inspector 调试

npx @modelcontextprotocol/inspector node 你的完整路径/weather-mcp-server/build/index.js

然后在浏览器中访问 http://localhost:5173

故障转移机制

此服务器同时使用多个天气API源:

  1. 首先并行向和风天气和心知天气发送请求
  2. 采用最先返回响应的API结果
  3. 如果某个API失败,会自动使用另一个API的结果
  4. 所有API都失败时才会返回错误

技术文档

详细的技术文档可在 docs 目录中找到:

贡献

欢迎提交问题和拉取请求。

效果

alt text

许可

MIT

No tools information available.

A Model Context Protocol (MCP) server that provides weather forecast data from the Government of Canada Weather API. Fetch accurate 5-day forecasts for any location in Canada by latitude and longitude. Easily integrates with Claude Desktop and other MCP-compatible clients.

weather-mcp weather-forecast
View Details

Sample MCP server implementation for fetching weather forecasts

weather-mcp weather-forecast
View Details

-

weather-mcp weather-server
View Details
Weather Mcp
Weather Mcp by ruankie

MCP server for weather forecasts and alerts

weather-mcp weather-forecasts
View Details

-

mcp-servers weather-server
View Details

-

jp-weather weather-server
View Details