DDA MCP Server
An MCP (Model Context Protocol) server for controlling astronomy equipment. Supports Dark Dragons Astronomy devices and any ASCOM Alpaca-compatible equipment.
Installation
npm install -g @darkdragonsastro/dda-mcp-server
Or run directly with npx:
npx @darkdragonsastro/dda-mcp-server
Configuration
Claude Desktop
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"dda": {
"command": "npx",
"args": ["@darkdragonsastro/dda-mcp-server"]
}
}
}
Claude Code
claude mcp add dda -- npx @darkdragonsastro/dda-mcp-server
Tools
Device Discovery
| Tool | Description | |------|-------------| | discover_devices | Discover Dark Dragons Astronomy devices on the local network via UDP broadcast | | discover_alpaca_devices | Discover ASCOM Alpaca devices on the local network |
Dark Dragons Astronomy Devices
DragonLAIR (Roll-off Roof Controller)
| Tool | Description | |------|-------------| | get_device_status | Get the current status of a device | | get_device_settings | Get device settings including safety config, location, and motor settings | | open_roof | Open the observatory roof | | close_roof | Close the observatory roof | | abort_roof | Abort the current roof operation | | get_mount_sensors | Get status of mount sensors connected to a DragonLAIR | | locate_device | Make a device beep/flash to help locate it physically |
Mount Sensor
| Tool | Description | |------|-------------| | get_mount_sensor_status | Get status of a standalone Mount Sensor (pitch, roll, safe position) |
DragonLIGHT (Flat Panel Controller)
| Tool | Description | |------|-------------| | get_flat_panel_status | Get flat panel status (on/off, brightness) | | turn_on_flat_panel | Turn on the flat panel light | | turn_off_flat_panel | Turn off the flat panel light | | set_flat_panel_brightness | Set brightness level (0-255) |
ASCOM Alpaca Devices
All Alpaca devices must first be connected using alpaca_device_connect.
Connection Management
| Tool | Description | |------|-------------| | alpaca_device_connect | Connect or disconnect any Alpaca device |
Telescope
| Tool | Description | |------|-------------| | alpaca_telescope_status | Get telescope position, tracking state, and slewing status | | alpaca_telescope_slew | Slew to coordinates (RA/Dec or Alt/Az) | | alpaca_telescope_park | Park or unpark the telescope | | alpaca_telescope_tracking | Enable or disable tracking | | alpaca_telescope_abort | Abort any slew in progress |
Camera
| Tool | Description | |------|-------------| | alpaca_camera_status | Get camera temperature, cooler state, and exposure status | | alpaca_camera_cooler | Control cooler on/off and set target temperature | | alpaca_camera_expose | Start a light or dark exposure | | alpaca_camera_abort | Abort the current exposure |
Focuser
| Tool | Description | |------|-------------| | alpaca_focuser_status | Get focuser position, temperature, and movement state | | alpaca_focuser_move | Move focuser to a specific position | | alpaca_focuser_halt | Halt focuser movement |
Filter Wheel
| Tool | Description | |------|-------------| | alpaca_filterwheel_status | Get current filter position and available filters | | alpaca_filterwheel_set | Change to a specific filter position |
Dome
| Tool | Description | |------|-------------| | alpaca_dome_status | Get dome shutter state, position, and slewing status | | alpaca_dome_shutter | Open or close the dome shutter | | alpaca_dome_slew | Slew dome to a specific azimuth |
Rotator
| Tool | Description | |------|-------------| | alpaca_rotator_status | Get rotator position and movement state | | alpaca_rotator_move | Move rotator to absolute or relative position | | alpaca_rotator_halt | Halt rotator movement |
Switch
| Tool | Description | |------|-------------| | alpaca_switch_status | Get status of all switches on a device | | alpaca_switch_set | Set a switch on or off | | alpaca_switch_set_value | Set a switch to a specific value |
Cover Calibrator
| Tool | Description | |------|-------------| | alpaca_covercalibrator_status | Get cover and calibrator state | | alpaca_covercalibrator_cover | Open, close, or halt the cover | | alpaca_covercalibrator_calibrator | Turn calibrator on (with brightness) or off |
Safety Monitor
| Tool | Description | |------|-------------| | alpaca_safetymonitor_status | Get safety monitor status (safe/unsafe) |
Observing Conditions (Weather)
| Tool | Description | |------|-------------| | alpaca_observingconditions_status | Get weather data (temperature, humidity, wind, cloud cover, etc.) |
Supported Devices
Dark Dragons Astronomy
- DragonLAIR - Roll-off roof controller with mount sensor integration
- DragonLIGHT - Flat panel controller for calibration frames
- Mount Sensor - Detects telescope position for safe roof operation
ASCOM Alpaca Compatible
Any device implementing the ASCOM Alpaca API:
- Telescopes / Mounts
- Cameras (CCD/CMOS)
- Focusers
- Filter Wheels
- Domes
- Rotators
- Switches / Power Controllers
- Cover Calibrators / Flat Panels
- Safety Monitors
- Weather Stations
License
ISC






