天气数据服务

一个基于Model Context Protocol (MCP)的天气信息服务器,提供美国各州的天气警报和特定位置的详细天气预报。

  • by oyzh888
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 oyzh888/weather

使用说明

气象MCP服务器

这是一个模型上下文协议(MCP)服务器,使用美国国家气象局API提供天气信息。

项目结构

weather/
├── mcp-server/           # MCP server implementation
│   └── weather.py       # Main server code
├── pyproject.toml       # Project configuration and dependencies
└── README.md           # This file

特性

  • 获取美国各州的天气警报
  • 获取特定地点的详细天气预报

先决条件

  • Python 3.12或更高版本
  • uv 包管理器

安装

  1. 创建并激活虚拟环境:
uv venv
source .venv/bin/activate  # On Unix/macOS
# or
.venv\Scripts\activate  # On Windows
  1. 安装依赖项:
uv pip install -e .

用法

运行服务器:

uv run weather-server

服务器公开了两个工具:

  1. get_alerts(state):获取美国某州的天气警报

    • 例子: get_alerts("CA") 加利福尼亚州警报
  2. get_forecast(latitude, longitude):获取某个地点的天气预报

    • 例子: get_forecast(38.5816, -121.4944) 加利福尼亚州萨克拉门托

配置

要将此服务器与Claude for Desktop一起使用,请执行以下操作:

  1. 打开 ~/Library/Application Support/Claude/claude_desktop_config.json
  2. 添加以下配置:
{
    "mcpServers": {
        "weather": {
            "command": "/Users/zhihaoouyang/.local/bin/uv",
            "args": [
                "--directory",
                "/Users/zhihaoouyang/Desktop/code/weather",
                "run",
                "weather-server"
            ]
        }
    }
}
  1. 重新启动桌面版的Claude

备注

此服务器使用美国国家气象局API,该服务仅提供美国境内位置的数据。