- README.md for all three packages (core, TUI, MCP) - pyproject.toml readme field for PyPI rendering - 8 new tests for MCP resources (5) and prompts (3) - Total MCP test coverage: 57 tests, 37 tools + 5 resources + 3 prompts
1.9 KiB
1.9 KiB
mcbirdcage
MCP server for controlling Winegard satellite dishes through conversational tools. Built on FastMCP, exposes 36 tools for dish positioning, signal analysis, firmware inspection, and satellite pass planning.
Install
# Add to Claude Code
claude mcp add mcbirdcage -- uvx mcbirdcage
# Or run standalone
uvx mcbirdcage
Demo Mode
No dish required. Set BIRDCAGE_DEMO=1 to get simulated responses for all tools:
BIRDCAGE_DEMO=1 uvx mcbirdcage
Tools
36 tools across six groups:
| Group | Count | Examples |
|---|---|---|
| Connection | 3 | connect, disconnect, status |
| Movement | 9 | get_position, move_to, home_motor, stow |
| Signal | 8 | get_rssi, enable_lna, az_sweep, get_lock_status |
| System | 11 | nvs_dump, get_firmware_id, set_pid_gains, get_a3981_diag |
| Satellite | 4 | search_satellites, get_passes, get_visible_targets |
| Console | 1 | send_raw_command (direct firmware access) |
Plus 5 resources (hardware specs, NVS reference, firmware docs) and 3 prompts.
Environment Variables
| Variable | Default | Description |
|---|---|---|
BIRDCAGE_DEMO |
0 |
Enable demo mode (no hardware) |
BIRDCAGE_PORT |
/dev/ttyUSB0 |
Serial port path |
BIRDCAGE_FIRMWARE |
hal205 |
Firmware variant (hal000, hal205, g2) |
BIRDCAGE_CRAFT_URL |
-- | Craft API URL for live satellite TLEs |
Documentation
Full tool reference and hardware setup: birdcage.warehack.ing
Credits
- Gabe Emerson (KL1FI / saveitforparts) -- original Winegard rotor scripts
- Chris Davidson (cdavidson0522) -- Carryout G2 sky scan and rotator control
License
MIT