Skip to main content

Model Context Protocol Server for N.I.N.A. astrophotography software using Advanced API

Project description

MseeP.ai Security Assessment Badge

Nina_advanced_api_mcp

Interface for AI agents to use your astrophotography setup using N.I.N.A (Beta)

N.I.N.A Model Context Protocol Server for Advanced API Plugin v2 (MCP)

A powerful interface for controlling N.I.N.A. (Nighttime Imaging 'N' Astronomy) software through its Advanced API NINA Advanced API . This Model Context Protocol Server (MCP) enables AI agents to interact with NINA using tools, providing new way to interact with your setup. Usage with your own responsibility.

License: MIT Python 3.8+ NINA

🌟 Features

  • Complete Equipment Control for AI agents

    • Cameras (capture, cooling, settings, connecting ....)
    • Mounts (slewing, parking, tracking...)
    • Focusers (movement, temperature compensation ... )
    • Filter Wheels (filter selection, info ...)
    • Domes (rotation, shutter control ...)
    • Rotators (movement, sync...)
    • ...
  • AI Integration

    • Natural language command processing
    • Contextual help system
    • Intelligent error responses
    • Automated decision making
  • **Most of the NINA advanced API v2 api interface endpoints supported

🚀 Quick Start

Prerequisites

  • Python 3.8 or higher
  • NINA software with Advanced API plugin
  • uv package manager
  • AI agent with MCP support (e.g., Claude)

Installation

  1. Install NINA Advanced API Plugin

    # Install the plugins in NINA
    # Enable and configure in NINA settings
    
  2. Clone Repository

    git clone https://github.com/PaDev1/Nina_advanced_api_mcp.git
    cd nina-mcp
    
  3. Set Environment Variables

    # Create .env file
    NINA_HOST=your_nina_host
    NINA_PORT=1888
    LOG_LEVEL=INFO
    IMAGE_SAVE_DIR=~/Desktop/NINA_Images
    

Configuration

MCP Server Setup

Add to your AI agent's MCP configuration:

{
  "mcpServers": {
    "nina_advanced_mcp_api": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "fastmcp,fastapi,uvicorn,pydantic,aiohttp,requests,python-dotenv",
        "fastmcp",
        "run",
        "path/nina_advanced_mcp.py"
      ],
      "env": {
        "NINA_HOST": "NINA_IP",
        "NINA_PORT": "1888",
        "LOG_LEVEL": "INFO",
        "IMAGE_SAVE_DIR": "~/Desktop/NINA_Images"
      }
    }
  }
}

📚 Usage

Basic AI Examples with Claude Destop

  • Connect to nina
  • read the setup
  • connect my camera, mount, filter wheel and guider
  • read the sequesces and let me select the sequence to start

AI Agent Commands

- "Take a 30-second exposure of M31"
- "Connect all equipment and start cooling the camera to -10°C"
- "Start a sequence targeting NGC 7000"
- "Get the current equipment status"

📖 API Documentation

Core Modules

Equipment Control

  • Camera operations
  • Mount control
  • Focuser management
  • Filter wheel control
  • Dome automation
  • Rotator functions

Imaging

  • Capture configuration
  • Image processing
  • File management
  • Statistics gathering

System

  • Connection handling
  • Status monitoring
  • Error management
  • Configuration

🤝 Contributing

Contributions are welcome! Please read our Contributing Guidelines first.

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

🐛 Bug Reports

Found a bug? Please open an issue with:

  • Detailed description
  • Steps to reproduce
  • Expected vs actual behavior
  • System information

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

🔗 Related Projects

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_padev1_nina_advanced_api_mcp-0.1.0.tar.gz (701.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_padev1_nina_advanced_api_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_padev1_nina_advanced_api_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 701.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_padev1_nina_advanced_api_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fb3a16c642a6c11a59c4e460ce232ec83ad0529979beb4679ead0796ff6f9d86
MD5 b22a964b817385cb83b14f53586842a2
BLAKE2b-256 aeb187e59e38fbb67fe3c0844c3f6be8a778a8634bf12fd6f41f50947b11b611

See more details on using hashes here.

File details

Details for the file iflow_mcp_padev1_nina_advanced_api_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_padev1_nina_advanced_api_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 709.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_padev1_nina_advanced_api_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dce1edbf30716b7de520d11c8f1f1d6dac8a6509a2e839efe6ccc20e428d8ac7
MD5 3b9cd0a71f1313ef1e47bbdfb38e2b4d
BLAKE2b-256 42d443ade6a7103e02abf84f111814edf36523dfbd109989157fa37a304c7b39

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page