使用说明
天气应用程序
一个基于命令行和MCP的天气应用程序,为全球各地提供当前天气状况、预报和警报。
特性
- 获取任何位置的当前天气状况
- 获取每日天气预报
- 获取每小时天气预报
- 获取天气警报
- 通过坐标获取天气
- 自动位置检测
- 测试API连接
- 检查API密钥和订阅状态
安装
先决条件
- Python 3.12或更高版本
- 紫外线 包管理器
设置
-
克隆此存储库:
git clone <repository-url> cd weather-app -
创建一个
.env根目录中使用OpenWeatherMap API密钥的文件:OPENWEATHER_API_KEY=your_api_key_here您可以从获取API密钥 OpenWeatherMap.
-
运行安装脚本:
./scripts/install.sh对于开发设置,请使用:
./scripts/install.sh --dev
用法
运行天气应用程序:
./scripts/run_weather.sh
这将使用以下可用工具启动MCP服务器:
get_current_weather:获取当前天气状况get_forecast:获取每日天气预报get_hourly_forecast:获取每小时天气预报get_alerts:获取天气警报get_weather_by_coordinates:通过坐标获取天气get_user_location:获取您当前的位置test_api_connection:测试API连接check_api_key_and_subscription:检查您的API密钥和订阅
发展
代码样式和Linting
本项目使用:
所有这些工具都配置在 pyproject.toml 文件。
预提交钩子
我们使用预提交挂钩来确保代码质量。安装开发依赖项后,钩子会自动设置。
要手动安装预提交挂钩,请执行以下操作:
uv run pre-commit install
要手动运行预提交钩子:
uv run pre-commit run --all-files
测试
运行测试:
./scripts/run_tests.sh
跑步覆盖:
./scripts/run_tests.sh --coverage
运行集成测试(需要API密钥):
./scripts/run_tests.sh --integration
运行覆盖率为的集成测试:
./scripts/run_tests.sh --integration --coverage
创建MCP服务器
要使用此项目作为模板创建自己的MCP服务器,请执行以下操作:
-
安装具有开发依赖关系的项目:
./scripts/install.sh --dev -
使用MCP服务器实现创建一个新的Python文件:
import os from dotenv import load_dotenv from mcp.server.fastmcp import FastMCP # Load environment variables load_dotenv() # Initialize FastMCP server mcp = FastMCP("your-app-name") # Define your tools @mcp.tool async def your_tool(param1: str, param2: int) -> str: """Tool description.""" # Your implementation here return "Result" # Run the server if __name__ == "__main__": mcp.run() -
运行服务器:
python your_server.py
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
