关于 Weather App
Weather App 是提供全球地点天气信息的命令行应用和 MCP 服务,适合需要查询实时天气与预报的用户。它也可作为创建 Python MCP 服务的模板。
主要功能
- 01查询当前天气
- 02获取每日和逐小时预报
- 03查询天气预警
- 04按坐标查询天气
- 05自动检测用户位置
适用场景
- 01查看某地当前天气和预报
- 02按经纬度查询天气
- 03检查地点天气预警
MCP 相关
MCP 服务向客户端提供天气查询、预报、预警、位置检测及 API 状态检查等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
天气应用
基于命令行和 MCP 的天气应用,可提供全球各地的当前天气状况、预报和警报。
功能
- 获取任意地点的当前天气状况
- 获取每日天气预报
- 获取每小时天气预报
- 获取天气警报
- 根据坐标获取天气
- 自动检测位置
- 测试 API 连接
- 检查 API 密钥和订阅状态
安装
先决条件
- Python 3.12 或更高版本
- uv 包管理器
设置
-
克隆此仓库:
git clone <repository-url> cd weather-app -
在根目录中创建一个
.env文件,并填入你的 OpenWeatherMap API 密钥:OPENWEATHER_API_KEY=your_api_key_here你可以从 OpenWeatherMap 获取 API 密钥。
-
运行安装脚本:
./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 密钥和订阅状态
开发
代码风格和 Lint
本项目使用:
所有这些工具都在 pyproject.toml 文件中进行了配置。
Pre-commit 钩子
我们使用 pre-commit 钩子来确保代码质量。安装开发依赖后,钩子会自动设置。
手动安装 pre-commit 钩子:
uv run pre-commit install
手动运行 pre-commit 钩子:
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 -
创建一个新的 Python 文件,实现你的 MCP 服务:
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 许可证授权,详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。