🌞 Astral2Mqtt MCP
通过架构计算和发布完整天文数据的微服务 MQTT上的MCP JSON-RPC 对于Neurhomia。
架构MCP :MQTT上的标准化JSON-RPC 2.0协议,用于与NeurHomia的本地集成。
图书馆 :
- 星体 :精确的天文计算
- mcp-mqtt-sdk :通信MCP JSON-RPC
- 皮丹提克 :数据验证
______________________________________________________________________
📦 功能
- 🔧 架构MCP JSON-RPC :MQTT上的JSON-RPC 2.0标准化通信
- 🛠️ MCP工具 :6工具(
get_astronomical_data,add_location,list_locations,refresh_all_data,health_check,get_service_status) - 📋 MCP资源 :具有自动发现功能的管理页面和天文小部件
- 🌍 多本地化 :对静态和动态位置的无限支持
- 📊 完整数据 :太阳/月球位置、每日事件、轨迹、特殊时期
- ⚙️ 动态配置 :添加实时位置
- 🏠 本地集成 :兼容的NeurHomeIA和家庭助理
- 📡 强大的API :用于控制、请求和监控的JSON-RPC
- 🐳 Docker就绪 :使用Docker Compose简化部署
______________________________________________________________________
🚀 快速启动
使用Docker(推荐)
git clone https://github.com/cce66/astral2mqtt.git
cd astral2mqtt
cp .env.example .env # Configurez votre fichier .env
docker-compose up -d安装手册
pip install -r requirements.txt
python -m src.astral2mqtt.main有关详细说明,请参阅 安装指南.
______________________________________________________________________
🔧 配置
环境变量
# Configuration MQTT
MQTT_BROKER=localhost
MQTT_PORT=1883
MQTT_USERNAME=astral_user
MQTT_PASSWORD=astral_password
# Configuration des logs
LOG_LEVEL=INFO
# Configuration du service
ASTRAL_INTERVAL=3600
ASTRAL_HEARTBEAT_INTERVAL=30配置文件
文件 config/mqtt_config.yaml 配置le服务:
mqtt:
broker: "localhost"
port: 1883
username: "astral_user"
password: "astral_password"
astral:
interval: 3600
heartbeat_interval: 30
locations:
default:
latitude: 48.8566
longitude: 2.3522
discovery:
enabled: true______________________________________________________________________
📡 API MCP JSON-RPC
MCP工具可用
get_astronomical_data (天文数据恢复)
{
"jsonrpc": "2.0",
"method": "mcp.call_tool",
"params": {
"tool_name": "get_astronomical_data",
"arguments": {
"location_name": "paris"
}
},
"id": "req_001"
}add_location (添加动态位置)
{
"jsonrpc": "2.0",
"method": "mcp.call_tool",
"params": {
"tool_name": "add_location",
"arguments": {
"location_name": "maison",
"latitude": 48.8566,
"longitude": 2.3522
}
},
"id": "req_002"
}MQTT MCP主题
mcp/astral2mqtt/jsonrpc/request # Requêtes JSON-RPC vers le microservice
mcp/astral2mqtt/jsonrpc/response # Réponses JSON-RPC du microservice
mcp/astral2mqtt/discovery # Découverte du service
mcp/astral2mqtt/heartbeat # Maintien de session
mcp/astral2mqtt/events # Événements astronomiques
mcp/astral2mqtt/logs # Logs du service______________________________________________________________________
📚 文档
- 安装 :详细安装指南
- 配置 :YAML配置和环境变量
- API MQTT :API MCP JSON-RPC(outils,资源,主题)
- 整合 :家庭助理和神经科
- 小部件 :MCP小部件的发现和使用
- MCP入门套件 :创建自己的微服务指南
______________________________________________________________________
📁 项目结构
astral2mqtt/
├── src/astral2mqtt/
│ ├── main.py # Point d'entrée du service
│ ├── mcp_service.py # Service MCP principal
│ ├── astral_engine.py # Moteur de calculs astronomiques
│ ├── config.py # Chargement de configuration
│ ├── mcp_config.py # Configuration MCP
│ └── mcp_logger.py # Système de logging MCP
├── config/
│ └── mqtt_config.yaml # Configuration MQTT et localisations
├── docs/ # Documentation complète
├── mcp-microservice-starter-kit/ # Kit de démarrage MCP
├── docker-compose.yml # Configuration Docker
└── README.md # Ce fichier______________________________________________________________________
📚 依赖性
- Python 3.11+
- mcp-mqtt-sdk :SDK MCP JSON-RPC MQTT
- 星体 :天文计算
- 皮丹提克 :数据验证
- 皮茨 :时区管理
______________________________________________________________________
💡 Cas d’Usage
- 神经鞘瘤 :具有可自定义小部件的完整管理界面
- 智能照明 :民用黄昏时自动激活
- Volets轮盘赌 :根据方位角和太阳高度进行调整
- 钻孔表 :通过MCP事件实时显示
- 监控 :通过心跳MCP进行健康监测
- 月球自动化 :基于月相
- 妊娠期日光浴 :根据太阳轨迹控制百叶窗
- 家庭助手 :完全家庭自动化集成
- 太阳能电池板 :优化方向和方向
______________________________________________________________________
📜 许可证
MIT–免费使用、修改和共享。
______________________________________________________________________
