@darkdragonsastro/dda-mcp-server
v1.0.4
Published
DDA MCP Server
Maintainers
Readme
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-serverOr run directly with npx:
npx @darkdragonsastro/dda-mcp-serverConfiguration
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-serverTools
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
