天气信息服务器

一个通过Claude for Desktop提供美国地区天气信息和警报的Model Context Protocol服务器。

  • by jtwirly
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 jtwirly/weather-mcp-server

使用说明

气象MCP服务器

一种模型上下文协议(MCP)服务器,通过Claude for Desktop提供天气信息。该服务器与美国国家气象局API集成,为美国各地提供天气预报和警报。作为麻省理工学院MCP黑客马拉松(2025年4月)的一部分创建。

特性

  • get_forecast:使用纬度和经度获取美国任何地点的详细天气预报
  • get_alerts:使用州代码检索美国任何州的活动天气警报

需求

  • Python 3.10或更高版本
  • uv包管理器
  • Claude桌面版
  • MCP SDK 1.2.0或更高版本

安装

  1. 确保您已安装紫外线:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 设置Python环境:
# Create and activate virtual environment
uv venv
source .venv/bin/activate

# Install dependencies
uv add "mcp[cli]" httpx

配置

  1. 在以下位置创建或编辑您的Claude for Desktop配置 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
  "mcpServers": {
    "weather": {
      "command": "/path/to/uv",
      "args": [
        "--directory",
        "/absolute/path/to/weather",
        "run",
        "weather.py"
      ]
    }
  }
}
  1. 替换 /path/to/uv 使用您的uv可执行路径(使用 which uv)
  2. 替换 /absolute/path/to/weather 此项目目录的绝对路径

用法

  1. 启动Claude桌面版
  2. 寻找锤子🔨 图标确认服务器已连接
  3. 示例查询:
    • “萨克拉门托的天气怎么样?”
    • “德克萨斯州的活跃天气警报是什么?”

故障排除

  • 查看克劳德的日志 ~/Library/Logs/Claude/mcp*.log
  • 确保配置中的所有路径都是绝对路径
  • 使用验证服务器是否独立运行 uv run weather.py
  • 检查端口8001是否未被其他进程使用

api参考

服务器使用美国国家气象局API:

  • 基本URL:https://api.weather.gov
  • 使用的端点:
    • /alerts/active/area/{state} -按州获取警报
    • /points/{lat},{lon} -获取预测网格数据
    • /forecast -获取详细预测

关于麻省理工学院MCP黑客马拉松

该项目是在麻省理工学院MCP黑客马拉松(2025年4月)期间作为教程的一部分创建的,旨在向开发人员介绍模型上下文协议,并帮助项目/初创公司启动自己的MCP服务器。黑客马拉松是麻省理工学院NANDA(网络代理和去中心化人工智能)中心倡议的一部分。

许可证

本项目遵循以下原始教程 模型上下文协议

截图