Weather App

Weather App

🚀 天气应用

这是一个基于命令行和MCP(MindSpire Command Protocol)的天气应用程序,能提供全球任意地点的当前天气状况、预报及警报信息,让你随时随地掌握天气动态。

🚀 快速开始

运行天气应用,只需执行以下命令:

./scripts/run_weather.sh

这将启动MCP服务器,提供一系列实用工具,如获取当前天气、预报、警报等。

✨ 主要特性

  • 🌦️ 获取任何位置的当前天气条件
  • 📅 获取每日天气预报
  • ⏱️ 获取逐小时天气预报
  • ⚠️ 获取天气警报
  • 📍 按坐标获取天气
  • 📌 自动定位检测
  • 🛠️ 测试API连接状态
  • 🔑 检查API密钥及订阅信息

📦 安装指南

先决条件

  • Python 3.12或更高版本
  • uv 包管理器

安装步骤

  1. 克隆此仓库:
git clone 
cd weather-app
  1. 在根目录下创建一个.env文件,并添加您的OpenWeatherMap API密钥:
OPENWEATHER_API_KEY=your_api_key_here

您可以从此处获取API密钥:OpenWeatherMap。 3. 运行安装脚本:

./scripts/install.sh

用于开发环境时,请使用:

./scripts/install.sh --dev

💻 使用示例

基础用法

运行以下命令启动MCP服务器后,可使用以下工具:

./scripts/run_weather.sh
  • 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(代码格式检查)

该项目使用以下工具确保代码质量:

  • Black 进行代码格式化
  • isort 进行导入排序
  • Ruff 进行代码检查
  • mypy 进行类型检查 所有工具的配置信息均在pyproject.toml文件中。

预提交钩(Pre-commit Hooks)

我们使用预提交钩确保代码质量。安装开发依赖后,钩子会自动设置。 要手动安装预提交钩:

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服务器:

  1. 使用开发依赖安装项目:
./scripts/install.sh --dev
  1. 创建一个新的Python脚本,并添加以下内容:
from mindspire_protocol import MCPProtocol

# 按照需求实现具体的业务逻辑
class MyMCPServer:
def handle_command(self, command: str) -> str:
# 实现具体的命令处理逻辑
pass

if __name__ == "__main__":
server = MyMCPServer()
mcp_protocol = MCPProtocol(server)
mcp_protocol.start_listening()
  1. 根据需求扩展和实现具体业务功能。

📄 许可证

该项目遵循MIT License协议。

  • 0 关注
  • 0 收藏,23 浏览
  • system 提出于 2025-10-01 13:00

相似服务问题

相关AI产品