天气信息MCP服务器

一个基于MCP协议的天气信息服务器,提供美国各州的天气警报和特定地点的天气预报功能。

  • by jameskanyiri
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 jameskanyiri/simple_weather_mcp_server

使用说明

气象MCP服务器

一个简单的MCP(模型控制协议)服务器,使用美国国家气象局API提供天气信息。此服务器公开了两个工具:

  • get_alerts:获取美国某州的天气警报
  • get_forecast:获取特定位置的天气预报

先决条件

  • Python 3.10或更高版本
  • uv 包管理器(推荐)或 pip

安装

  1. 克隆此存储库:
git clone <your-repo-url>
cd simple_mcp_server
  1. 设置Python环境:

使用 uv (推荐):

# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh

# Create and activate virtual environment
uv venv
source .venv/bin/activate  # On Windows use: .venv\Scripts\activate

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

或使用 pip:

python -m venv .venv
source .venv/bin/activate  # On Windows use: .venv\Scripts\activate
pip install "mcp[cli]" httpx

用法

  1. 运行服务器:
mcp dev main.py
  1. 为桌面配置Claude:

    • 打开您的Claude进行桌面应用程序配置,网址为 ~/Library/Application Support/Claude/claude_desktop_config.json
    • 添加以下配置:
    {
      "mcpServers": {
        "weather": {
          "command": "uv",
          "args": [
            "--directory",
            "/ABSOLUTE/PATH/TO/simple_mcp_server",
            "run",
            "main.py"
          ]
        }
      }
    }
    
    • 替换 /ABSOLUTE/PATH/TO/simple_mcp_server 带有项目目录的实际路径
    • 保存文件并重新启动Claude for Desktop
  2. 测试服务器:

    • 打开Claude桌面版
    • 在界面中查找锤子图标
    • 您应该看到列出了两个工具: get_alerts 和 get_forecast
    • 试着问以下问题:
      • “纽约的天气怎么样?”
      • “纽约的活跃天气警报是什么?”

可用工具

获取警报

获取美国某个州的天气警报。

参数:

  • state (str):两个字母的美国州代码(例如,“CA”、“NY”)

获取预测

获取特定位置的天气预报。

参数:

  • latitude (浮动):位置的纬度
  • longitude (浮动):位置的经度

故障排除

  1. 如果服务器未被Claude用于桌面:

    • 确保配置文件路径正确
    • 验证配置中的绝对路径是否正确
    • 确保安装了所有依赖项
    • 尝试重新启动Claude for Desktop
  2. 如果您收到天气API错误:

    • 检查您的互联网连接
    • 验证坐标或状态代码是否有效
    • 美国国家气象局API仅适用于美国地区