天气数据服务器

一个基于Model Context Protocol (MCP)的服务器,使用OpenWeather One Call API 3.0提供天气数据,支持AI智能体获取当前天气、天气预报和历史天气数据。

  • by Hakuin123
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Hakuin123/OpenWeather-OneCall3-MCP

使用说明

OpenWeather MCP服务器

一个基于 Model Context Protocol (MCP) 的服务器,使用 OpenWeather One Call API 3.0 提供天气数据。该服务器允许 AI 智能体(如 Claude Desktop)获取任何地点的当前天气、天气预报和历史天气数据。

模型上下文协议(MCP)服务器,使用OpenWeather One Call API 3.0提供天气数据。该服务器允许AI代理(如Claude Desktop)访问任何位置的当前天气、预报和历史天气数据。

功能特性 | Features

  • 当前天气与预报 | Current & Forecast: 获取详细的当前天气状况和每日/每小时天气预报。Get detailed current weather and daily/hourly forecasts.
  • 时间机器 | Time Machine: 获取特定时间戳的历史天气数据。Retrieve historical weather data for specific timestamps.
  • 地理编码 | Geocoding: 内置工具,支持按名称(如"伦敦"、"东京")搜索地点。Built-in tool to search for locations by name (e.g., "London", "Tokyo").
  • 本地执行 | Local Execution: 通过 Stdio 本地运行,确保您的 API 密钥安全保存在本地机器上。Runs locally via Stdio, keeping your API keys secure on your machine.

先决条件 | Prerequisites

  • Node.js: 版本 16 或更高。Version 16 or higher.
  • OpenWeather API密钥 | OpenWeather API密钥: 需要一个具有 "One Call API 3.0" 订阅的密钥。在此获取.您需要一个带有“一次调用API 3.0”订阅的密钥。 在这里买一个.

安装 | Installation

选项 1: 从源码运行(推荐给开发者) | Option 1: Run from Source (Recommended for Developers)

  1. 克隆此仓库 | Clone this repository:

    git clone https://github.com/your-username/openweather-mcp.git
    cd openweather-mcp
    
  2. 安装依赖 | Install dependencies:

    npm install
    
  3. 构建项目 | Build the project:

    npm run build
    

配置 | Configuration

零配置方法(发布到 NPM 后可用) | Zero-Config Method (Available after publishing to NPM)

发布到 NPM 后,用户可以使用 npx 运行服务器,无需手动下载代码或配置路径。

一旦发布到NPM,用户就可以运行服务器,而无需手动下载代码或使用配置路径 npx.

{
  "mcpServers": {
    "openweather": {
      "command": "npx",
      "args": ["-y", "openweather-one-call-3.0-mcp"],
      "env": {
        "OPENWEATHER_API_KEY": "your_api_key_here"
      }
    }
  }
}

开发配置 | Development Configuration

如果从源码本地运行:

如果从源代码本地运行:

{
  "mcpServers": {
    "openweather": {
      "command": "node",
      "args": ["C:/Absolute/Path/To/openweather-mcp/dist/index.js"],
      "env": {
        "OPENWEATHER_API_KEY": "your_api_key_here"
      }
    }
  }
}

工具 | Tools

get_current_weather

获取指定地点的当前天气和预报。Fetch current weather and forecast for a location.

  • 参数 | Args: lat(数字,纬度 | number),lon(数字,经度 | number),exclude(数组,可选 | array, optional)

get_weather_history

获取特定时间的历史天气。Fetch historical weather for a specific time.

  • 参数 | Args: lat(数字,纬度 | number),lon(数字,经度 | number),dt(Unix 时间戳 | unix timestamp)

get_coordinates_from_location

搜索城市或行政区域以获取坐标。Search for a city or administrative area to get coordinates.

  • 参数 | Args: query(字符串,搜索查询 | string)

许可证 | License

麻省理工学院