使用说明
气象MCP服务器
一种模型上下文协议(MCP)服务器,提供来自国家气象局(NWS)的天气信息和警报。
特性
- 获取警报:检索美国某个州的活动天气警报
- 获取预测:获取特定位置(纬度/经度)的天气预报
先决条件
- Python 3.10或更高版本
- Docker和Docker Compose(用于容器化部署)
安装
本地设置
# Clone the repository
git clone https://github.com/yourusername/weather-mcp.git
cd weather-mcp
# Create and activate virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -e .
# Run the server
weather-mcp
Docker设置
# Build and run with Docker Compose
docker-compose up -d
# View logs
docker-compose logs -f weather-mcp
配置
Claude桌面集成
要将此服务器与Claude Desktop一起使用,请将以下内容添加到 ~/.config/Claude/claude_desktop_config.json (Linux/macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):
选项1:本地安装
{
"mcpServers": {
"weather": {
"command": "uv",
"args": [
"--directory",
"/path/to/weather-mcp",
"run",
"-m",
"weather.main"
]
}
}
}
选项2:Docker容器
{
"mcpServers": {
"weather": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"weather-mcp-server"
]
}
}
}
发展
运行测试
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run tests with coverage
pytest --cov=src/weather
代码格式化和Linting
# Format code with Black
black src tests
# Lint with Ruff
ruff check src tests
项目结构
weather-mcp/
├── src/weather/ # Main package
│ ├── __init__.py
│ ├── main.py # Entry point
│ └── server.py # Server implementation
├── config/ # Configuration files
│ ├── __init__.py
│ └── settings.py
├── tests/ # Test suite
├── Dockerfile # Docker image definition
├── docker-compose.yml # Docker Compose configuration
├── pyproject.toml # Project metadata and dependencies
├── README.md # This file
└── DOCKER_SETUP.md # Docker setup guide
api参考
get_alerts(状态:str)->str
获取美国某个州的活跃天气警报。
参数:
state:两个字母的美国州代码(例如,加利福尼亚州、纽约州、德克萨斯州)
退货: 包含活动天气警报或消息(如果找不到)的格式化字符串。
get_forecast(纬度:float,经度:float)->str
获取特定位置的天气预报。
参数:
latitude:位置纬度(建议最多保留4位小数)longitude:位置经度(建议最多保留4位小数)
退货: 包含未来5个预测期(包括温度、风和条件)的格式化字符串。
故障排除
服务器无法启动
- 检查Python版本:
python --version(要求3.10+) - 确保安装了依赖项:
pip install -e . - 检查日志以获取详细的错误消息
Docker问题
- 重建映像:
docker-compose build --no-cache - 查看日志:
docker-compose logs weather-mcp - 确保Docker守护进程正在运行
Claude Desktop未检测到服务器
- 验证中的路径
claude_desktop_config.json - 配置更改后重新启动Claude Desktop
- 检查Claude Desktop中的MCP服务器设置
日志记录
服务器登录到stderr,以避免干扰MCP协议对stdout的使用。日志会自动发送到stderr,包括时间戳和严重性级别。
许可证
MIT许可证-有关详细信息,请参阅许可证文件
贡献
欢迎投稿!请随时提交拉取请求。
支持
有关问题、疑问或建议,请在GitHub上打开问题。