dda-mcp-server

darkdragonsastro/dda-mcp-server
0 starsCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

An MCP server for controlling astronomy equipment, supporting Dark Dragons Astronomy devices and any ASCOM Alpaca-compatible equipment.

README.md

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

Related MCP servers

Browse all →