# Weather MCP Server

一个基于 Model Context Protocol (MCP) 的天气查询服务器，可以查询当前 IP 地址的天气信息。使用免费的 Open-Meteo API，无需注册或 API 密钥。

## 功能特性

- 🌍 **自动获取当前 IP 位置信息**：自动识别用户的地理位置
- 🌤️ **当前 IP 天气查询**：根据当前 IP 地址获取实时天气信息
- 📍 **经纬度天气查询**：支持按坐标查询天气信息
- 📅 **天气预报**：支持未来7天天气预报
- 🆓 **完全免费**：使用 Open-Meteo 免费 API，无需注册

## 可用工具

1. **get_current_ip_weather** - 获取当前IP地址的天气信息
2. **get_weather_by_coordinates** - 根据经纬度获取天气信息
3. **get_current_ip_info** - 获取当前IP地址的详细信息
4. **get_weather_forecast** - 获取天气预报（未来7天）

## 安装和使用

### 1. 安装依赖

```bash
npm install
```

### 2. 启动服务器

```bash
# 启动服务器
npm start

# 或者开发模式（自动重启）
npm run dev
```

## MCP 客户端配置

要在支持 MCP 的客户端中使用此服务器，请添加以下配置：

```json
{
  "mcpServers": {
    "weather": {
      "command": "node",
      "args": ["/path/to/your/weather-mcp-server/index.js"]
    }
  }
}
```

## 使用示例

### 查询当前 IP 天气
```
获取当前IP的天气信息
```

### 查询指定坐标天气
```
查询北京的天气 (纬度: 39.9042, 经度: 116.4074)
```

### 获取天气预报
```
获取未来3天的天气预报
```

## 技术栈

- Node.js 18+
- @modelcontextprotocol/sdk
- axios（HTTP 请求）
- Open-Meteo API（免费天气数据）

## API 数据源

- **IP 地理位置信息**：ip-api.com（免费服务）
- **天气数据**：Open-Meteo API（完全免费，无需注册）

## 许可证

MIT License

## 贡献

欢迎提交 Issues 和 Pull Requests！

## 更新日志

### v1.0.0
- 初始版本
- 支持当前 IP 天气查询
- 支持城市天气查询
- 支持 IP 信息查询
- 演示模式支持 