article
README
🚀 MCP 服务器
天气 MCP 服务器 Python 版本,为你提供便捷的天气服务相关功能
🚀 快速开始
项目初始化
# 创建一个新的项目目录
uv init
虚拟环境配置
# 创建虚拟环境并激活它
uv venv
source .venv/bin/activate
依赖安装
# 安装依赖项
uv add "mcp[cli]" httpx
📦 安装指南
安装开发依赖项
你可以使用以下命令安装所有开发依赖项:
# 使用 uv
uv pip install -e ".[dev]"
# 或者使用 pip
pip install -e ".[dev]"
💻 使用示例
测试
此项目包含一个全面的测试套件,用于测试天气服务 API。这些测试使用 pytest 和 pytest-asyncio 来测试与国家气象局 API 相互作用的异步函数。
测试要求
- Python 3.12+ 版本
- pytest
- pytest-asyncio
- pytest-cov
- httpx
运行测试
# 运行所有测试
pytest
# 以详细输出模式运行测试
pytest -v
# 以代码覆盖率模式运行测试
pytest --cov=weather
测试覆盖率
测试套件涵盖以下内容:
- 帮助函数的单元测试
format_alert函数用于格式化警报数据make_nws_request中的错误处理
- API 函数测试
get_alerts:测试成功检索、空结果和 API 失败情况get_forecast:测试成功获取预报及其对两个 API 端点的错误处理
- 模拟响应
- 所有 HTTP 请求均使用
httpx.AsyncMock进行模拟 - 具有不同的 API 响应的多个测试场景
- 所有 HTTP 请求均使用
持续集成
⚠️ 重要提示
在为天气服务添加新功能时,请确保所有测试通过后再提交更改。
微信扫一扫