Open source AI-assisted home automation with conversation archaeology
[PTZ MCP Server] + [Screenshot MCP Server] → [Collector Daemons]
PTZ Operations Screenshot Ops Hardware Specific
- list_ptz_cameras - list_screenshot_cameras - Logitech PTZ Collector (PTZ + screenshot)
- ptz_control - take_screenshot - USB Webcam Collector (screenshot only)
- pan/tilt/zoom only - All camera types - ONVIF Collector (future)
/mcp/ptz_mcp_server.py)/mcp/screenshot_mcp_server.py)/logi-ptz/daemons/)logitech_ptz_daemon.py - PTZ + screenshot (Logitech PTZ cameras)usb_webcam_daemon.py - Screenshot only (basic USB webcams)onvif_daemon.py (PTZ + screenshot), ip_camera_daemon.py (screenshot), etc./logi-ptz/daemons/config.json)✅ Clean Separation: MCP handles protocol, daemons handle hardware
✅ Scalable: Add new camera types by adding collector daemons
✅ Maintainable: Hardware bugs fixed once in relevant daemon
✅ Reusable: Generic MCP works with any camera hardware
✅ Testable: Each component can be tested independently
PTZ MCP Server:
{"method": "list_ptz_cameras"}
{"method": "ptz_control", "params": {"camera_id": "logitech-123", "command": "pan", "value": "middle"}}
Screenshot MCP Server:
{"method": "list_screenshot_cameras"}
{"method": "take_screenshot", "params": {"camera_id": "logitech-123"}}
{"method": "take_screenshot", "params": {"camera_id": "usb-webcam-0"}}
python3 logitech_ptz_daemon.py list
python3 logitech_ptz_daemon.py pan --camera-id logitech-123 --value middle
python3 logitech_ptz_daemon.py screenshot --camera-id logitech-123
Date: 2025-06-07