{"_id":"@darkdragonsastro/dda-mcp-server","_rev":"2-690dd15a9494f7488f05afafdb63d535","name":"@darkdragonsastro/dda-mcp-server","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.3":{"name":"@darkdragonsastro/dda-mcp-server","version":"1.0.3","keywords":["mcp","model-context-protocol","astronomy","astrophotography","ascom","alpaca"],"author":{"name":"Dark Dragons Astro"},"license":"ISC","_id":"@darkdragonsastro/dda-mcp-server@1.0.3","maintainers":[{"name":"dda-rick","email":"rick@darkdragonsastro.com"}],"homepage":"https://github.com/darkdragonsastro/dda-mcp-server#readme","bugs":{"url":"https://github.com/darkdragonsastro/dda-mcp-server/issues"},"bin":{"dda-mcp-server":"dist/index.js"},"dist":{"shasum":"40538809dc5ec5e8e0181cd5be78e59fc6efb0b7","tarball":"https://registry.npmjs.org/@darkdragonsastro/dda-mcp-server/-/dda-mcp-server-1.0.3.tgz","fileCount":12,"integrity":"sha512-iu6tkWQ4OIKRxLOVOCsAqFIb/vvlJf41AtOR01fwId4SMO1rWUS+erHJqn/dJUSjRqAa1Nj0Db0D56qU7fc69g==","signatures":[{"sig":"MEYCIQDV0riF1YgJYWKKOBYZrG3npxyJLu/61+wTAzVk3gasOgIhAKTnKG9IBG/snk1B1+OkWWgjS4OrpQW/T7Y91npHsm10","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116057},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"6593f055049e1e35b21149a9e088a845a9f095c6","scripts":{"dev":"tsx src/index.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/index.js","prepare":"husky","release":"npm run build && npm publish --access public --registry https://registry.npmjs.org","prepublishOnly":"npm run build"},"_npmUser":{"name":"dda-rick","email":"rick@darkdragonsastro.com"},"repository":{"url":"git+https://github.com/darkdragonsastro/dda-mcp-server.git","type":"git"},"_npmVersion":"10.2.4","description":"DDA MCP Server","directories":{},"_nodeVersion":"20.11.0","dependencies":{"zod":"^4.1.13","@modelcontextprotocol/sdk":"^1.23.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","husky":"^9.1.7","commitizen":"^4.3.1","typescript":"^5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dda-mcp-server_1.0.3_1764250881462_0.4989488770255539","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@darkdragonsastro/dda-mcp-server","version":"1.0.4","description":"DDA MCP Server","type":"module","main":"dist/index.js","bin":{"dda-mcp-server":"dist/index.js"},"scripts":{"build":"tsc","dev":"tsx src/index.ts","start":"node dist/index.js","prepublishOnly":"npm run build","test":"echo \"Error: no test specified\" && exit 1","prepare":"husky","release":"npm run build && npm publish --access public --registry https://registry.npmjs.org"},"keywords":["mcp","model-context-protocol","astronomy","astrophotography","ascom","alpaca"],"author":{"name":"Dark Dragons Astro"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/darkdragonsastro/dda-mcp-server.git"},"homepage":"https://github.com/darkdragonsastro/dda-mcp-server#readme","publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"bugs":{"url":"https://github.com/darkdragonsastro/dda-mcp-server/issues"},"dependencies":{"@modelcontextprotocol/sdk":"^1.23.0","zod":"^4.1.13"},"devDependencies":{"@commitlint/cli":"^20.1.0","@commitlint/config-conventional":"^20.0.0","@types/node":"^24.10.1","commitizen":"^4.3.1","cz-conventional-changelog":"^3.3.0","husky":"^9.1.7","tsx":"^4.20.6","typescript":"^5.9.3"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"_id":"@darkdragonsastro/dda-mcp-server@1.0.4","gitHead":"ef7eb9fbdae0e19e2194d4fbfd901e7618f3bbac","types":"./dist/index.d.ts","_nodeVersion":"20.11.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-lgDVBdZ5iuIU2Cofn8A94F0UP52rkR8+T/qSCy978BDtVK1STwtqjh+YfrHf0wHNnhXT+SuBtWcT/slgOnhscg==","shasum":"f0abbc5625a08687752ab734225e25ce0e1d9614","tarball":"https://registry.npmjs.org/@darkdragonsastro/dda-mcp-server/-/dda-mcp-server-1.0.4.tgz","fileCount":14,"unpackedSize":407916,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICSh+5NRZKk5AncLHir+Ca+lBozlaTfqvSE55zu33rZDAiEA27Jb/x+C1JNjueRT2D5/oqQPl/AaUSDjKBq/RQafqPE="}]},"_npmUser":{"name":"dda-rick","email":"rick@darkdragonsastro.com"},"directories":{},"maintainers":[{"name":"dda-rick","email":"rick@darkdragonsastro.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dda-mcp-server_1.0.4_1764251744443_0.009550497441214167"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-27T13:41:21.346Z","modified":"2025-11-27T13:55:44.862Z","1.0.3":"2025-11-27T13:41:21.698Z","1.0.4":"2025-11-27T13:55:44.638Z"},"bugs":{"url":"https://github.com/darkdragonsastro/dda-mcp-server/issues"},"author":{"name":"Dark Dragons Astro"},"license":"ISC","homepage":"https://github.com/darkdragonsastro/dda-mcp-server#readme","keywords":["mcp","model-context-protocol","astronomy","astrophotography","ascom","alpaca"],"repository":{"type":"git","url":"git+https://github.com/darkdragonsastro/dda-mcp-server.git"},"description":"DDA MCP Server","maintainers":[{"name":"dda-rick","email":"rick@darkdragonsastro.com"}],"readme":"# DDA MCP Server\n\nAn MCP (Model Context Protocol) server for controlling astronomy equipment. Supports Dark Dragons Astronomy devices and any ASCOM Alpaca-compatible equipment.\n\n## Installation\n\n```bash\nnpm install -g @darkdragonsastro/dda-mcp-server\n```\n\nOr run directly with npx:\n\n```bash\nnpx @darkdragonsastro/dda-mcp-server\n```\n\n## Configuration\n\n### Claude Desktop\n\nAdd to your Claude Desktop configuration file:\n\n**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n**Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"dda\": {\n      \"command\": \"npx\",\n      \"args\": [\"@darkdragonsastro/dda-mcp-server\"]\n    }\n  }\n}\n```\n\n### Claude Code\n\n```bash\nclaude mcp add dda -- npx @darkdragonsastro/dda-mcp-server\n```\n\n## Tools\n\n### Device Discovery\n\n| Tool | Description |\n|------|-------------|\n| `discover_devices` | Discover Dark Dragons Astronomy devices on the local network via UDP broadcast |\n| `discover_alpaca_devices` | Discover ASCOM Alpaca devices on the local network |\n\n### Dark Dragons Astronomy Devices\n\n#### DragonLAIR (Roll-off Roof Controller)\n\n| Tool | Description |\n|------|-------------|\n| `get_device_status` | Get the current status of a device |\n| `get_device_settings` | Get device settings including safety config, location, and motor settings |\n| `open_roof` | Open the observatory roof |\n| `close_roof` | Close the observatory roof |\n| `abort_roof` | Abort the current roof operation |\n| `get_mount_sensors` | Get status of mount sensors connected to a DragonLAIR |\n| `locate_device` | Make a device beep/flash to help locate it physically |\n\n#### Mount Sensor\n\n| Tool | Description |\n|------|-------------|\n| `get_mount_sensor_status` | Get status of a standalone Mount Sensor (pitch, roll, safe position) |\n\n#### DragonLIGHT (Flat Panel Controller)\n\n| Tool | Description |\n|------|-------------|\n| `get_flat_panel_status` | Get flat panel status (on/off, brightness) |\n| `turn_on_flat_panel` | Turn on the flat panel light |\n| `turn_off_flat_panel` | Turn off the flat panel light |\n| `set_flat_panel_brightness` | Set brightness level (0-255) |\n\n### ASCOM Alpaca Devices\n\nAll Alpaca devices must first be connected using `alpaca_device_connect`.\n\n#### Connection Management\n\n| Tool | Description |\n|------|-------------|\n| `alpaca_device_connect` | Connect or disconnect any Alpaca device |\n\n#### Telescope\n\n| Tool | Description |\n|------|-------------|\n| `alpaca_telescope_status` | Get telescope position, tracking state, and slewing status |\n| `alpaca_telescope_slew` | Slew to coordinates (RA/Dec or Alt/Az) |\n| `alpaca_telescope_park` | Park or unpark the telescope |\n| `alpaca_telescope_tracking` | Enable or disable tracking |\n| `alpaca_telescope_abort` | Abort any slew in progress |\n\n#### Camera\n\n| Tool | Description |\n|------|-------------|\n| `alpaca_camera_status` | Get camera temperature, cooler state, and exposure status |\n| `alpaca_camera_cooler` | Control cooler on/off and set target temperature |\n| `alpaca_camera_expose` | Start a light or dark exposure |\n| `alpaca_camera_abort` | Abort the current exposure |\n\n#### Focuser\n\n| Tool | Description |\n|------|-------------|\n| `alpaca_focuser_status` | Get focuser position, temperature, and movement state |\n| `alpaca_focuser_move` | Move focuser to a specific position |\n| `alpaca_focuser_halt` | Halt focuser movement |\n\n#### Filter Wheel\n\n| Tool | Description |\n|------|-------------|\n| `alpaca_filterwheel_status` | Get current filter position and available filters |\n| `alpaca_filterwheel_set` | Change to a specific filter position |\n\n#### Dome\n\n| Tool | Description |\n|------|-------------|\n| `alpaca_dome_status` | Get dome shutter state, position, and slewing status |\n| `alpaca_dome_shutter` | Open or close the dome shutter |\n| `alpaca_dome_slew` | Slew dome to a specific azimuth |\n\n#### Rotator\n\n| Tool | Description |\n|------|-------------|\n| `alpaca_rotator_status` | Get rotator position and movement state |\n| `alpaca_rotator_move` | Move rotator to absolute or relative position |\n| `alpaca_rotator_halt` | Halt rotator movement |\n\n#### Switch\n\n| Tool | Description |\n|------|-------------|\n| `alpaca_switch_status` | Get status of all switches on a device |\n| `alpaca_switch_set` | Set a switch on or off |\n| `alpaca_switch_set_value` | Set a switch to a specific value |\n\n#### Cover Calibrator\n\n| Tool | Description |\n|------|-------------|\n| `alpaca_covercalibrator_status` | Get cover and calibrator state |\n| `alpaca_covercalibrator_cover` | Open, close, or halt the cover |\n| `alpaca_covercalibrator_calibrator` | Turn calibrator on (with brightness) or off |\n\n#### Safety Monitor\n\n| Tool | Description |\n|------|-------------|\n| `alpaca_safetymonitor_status` | Get safety monitor status (safe/unsafe) |\n\n#### Observing Conditions (Weather)\n\n| Tool | Description |\n|------|-------------|\n| `alpaca_observingconditions_status` | Get weather data (temperature, humidity, wind, cloud cover, etc.) |\n\n## Supported Devices\n\n### Dark Dragons Astronomy\n\n- **DragonLAIR** - Roll-off roof controller with mount sensor integration\n- **DragonLIGHT** - Flat panel controller for calibration frames\n- **Mount Sensor** - Detects telescope position for safe roof operation\n\n### ASCOM Alpaca Compatible\n\nAny device implementing the ASCOM Alpaca API:\n- Telescopes / Mounts\n- Cameras (CCD/CMOS)\n- Focusers\n- Filter Wheels\n- Domes\n- Rotators\n- Switches / Power Controllers\n- Cover Calibrators / Flat Panels\n- Safety Monitors\n- Weather Stations\n\n## License\n\nISC\n","readmeFilename":"README.md"}