天气与能源数据服务

HomeGenie MCP Server 是一个提供天气数据和能源价格信息的服务,用于智能家居自动化决策。

  • by AyushiBhujade
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 AyushiBhujade/homegenie-mcp-server

使用说明

HomeGenie MCP 服务器

一个模型上下文协议(MCP)服务器,为HomeGenie AI提供访问外部天气数据和能源价格信息API的接口。

🚀 准备就绪,可部署至TrueFoundry生产环境

特点/特性

🌤️ 天气数据工具

  • 从OpenWeatherMap API获取当前天气状况
  • 根据天气提供针对HomeGenie的特定建议
  • 用于开发/演示目的的模拟数据模式
  • 包括温度、湿度、风速和天气状况

⚡ 能源价格工具

  • 获取当前每千瓦时的能源价格
  • 提供24小时价格预测
  • 高峰/非高峰时段检测
  • HomeGenie能源优化建议
  • 模拟数据,采用符合欧洲实际定价模式

安装

  1. 安装依赖项:

    cd mcp-server
    pip install -r requirements.txt
    
  2. 配置API密钥(可选): 创造 .env 文件:

    OPENWEATHER_API_KEY=your_api_key_here
    ENERGY_API_KEY=your_energy_api_key_here
    

使用方法

运行MCP服务器

python genie_mcp_server.py

可用工具

1. get_weather_data

{
  "location": "London"
}

返回当前天气,并附上HomeGenie自动化建议。

2. get_energy_prices

{
  "region": "EU",
  "include_forecast": true
}

提供当前能源价格及24小时天气预报,并附带智能家居建议。

与HomeGenie的集成

MCP服务器提供情境感知数据,帮助HomeGenie做出智能自动化决策:

  • 天气集成根据天气条件调节加热/制冷
  • 能源优化在电价低谷时段安排能耗密集型任务
  • 智能推荐为家庭自动化提供可操作的见解

演示模式

没有API密钥,服务器将以演示模式运行,使用真实的模拟数据:

  • 天气数据模拟了各种条件
  • 能源价格遵循欧洲市场模式,实行峰谷电价
  • 功能齐全,适用于开发和测试

建筑学

MCP Server
├── WeatherAPI class     # Weather data fetching & processing
├── EnergyPriceAPI class # Energy price data & forecasting  
├── Tool handlers        # MCP protocol implementation
└── Mock data providers  # Demo/development data

示例输出

天气数据响应:

🌤️ Weather Data for London:
📊 Current Conditions:
• Temperature: 22.1°C
• Description: Clear Sky
• Humidity: 65%
• Wind Speed: 3.2 m/s

🏠 HomeGenie Impact:
• Heating recommendation: Maintain
• Natural lighting: Good
• Window management: Consider ventilation

能源价格反应:

⚡ Energy Prices for EU:
💰 Current Price:
• Price: €0.45/kWh
• Period: Peak
• Cost Impact: High cost - consider energy saving

📈 Next 8 Hours Forecast:
• 18:00: €0.45/kWh (peak)
• 19:00: €0.45/kWh (peak) 
• 20:00: €0.25/kWh (standard)

🚀 TrueFoundry 部署

先决条件

  • TrueFoundry账户已创建,CLI已安装
  • Docker 仓库访问
  • Kubernetes 集群访问

快速部署

# Build and deploy
docker build -t homegenie-mcp-server:latest .
tfy deploy --config truefoundry.yaml

配置文件

  • truefoundry.yaml - TrueFoundry 部署配置
  • k8s-deployment.yaml - Kubernetes 清单文件
  • Dockerfile - 优化用于生产部署
  • .env.example - 环境变量模板

环境变量

HOST=0.0.0.0          # Server host (required for TrueFoundry)
PORT=8000             # Server port
PRODUCTION=true       # Enables HTTP mode instead of stdio
PYTHONUNBUFFERED=1    # Python output buffering

健康检查

该服务器包含用于容器编排的健康检查端点:

  • GET /health - 健康状况
  • GET / - 服务信息

生产特性

✅ 安全非root用户,最小化依赖
✅ 监测健康检查,就绪性探测
✅ 缩放已配置水平Pod自动伸缩
✅ 资源管理已设置CPU/内存限制
✅ **持续集成/持续交付(CI/CD)**包含GitHub Actions流水线

监测

部署内容包括:

  • 用于容器健康检查的存活探针
  • 用于流量路由的就绪性探测
  • 资源监控与限制
  • 基于CPU利用率的自动扩展

如需详细的部署说明,请参阅 TrueFoundry 文档。

这台MCP服务器使HomeGenie能够根据实时天气和能源市场状况,做出数据驱动的自动化决策。