# DJI Developer MCP

> The DJI Developer MCP lets your AI agent manage entire drone fleets remotely. Check device health, monitor real-time flight data, and schedule missions across multiple drones from a single interface. It handles everything from retrieving detailed flight logs for compliance checks to initiating firmware updates on site.

## Overview
- **Category:** superpower
- **Price:** Free
- **Tags:** dji-api, drone-fleet, uav-management, telemetry-data, flight-logs, enterprise-drones

## Description

Running an enterprise fleet of drones means juggling dozens of dashboards—one for status, one for logs, another for hardware health. This MCP ends that. It connects your AI agent directly into the DJI Developer Platform, giving you a single point of control over your entire UAS operation. You can ask your agent to compile all flight records from last week, or check the current operational readiness of every drone in your fleet before morning shift starts. The system automatically pulls data on everything: battery life, sensor diagnostics, mission progress, and even finding out if an aircraft needs a firmware patch. This connectivity means you don't have to manually log into multiple developer portals; it all happens through Vinkius, making complex field operations straightforward.

Instead of sifting through raw telemetry dumps, your agent gives you structured data instantly. You can tell it to list every drone and its current hardware version, or ask for the last flight log for a specific serial number. It’s about getting operational oversight—knowing exactly what assets you have and whether they're ready to fly.

## Tools

### create_mission
Sets up a new flight mission plan for a specific drone or docking station.

### get_device_osd
Pulls real-time, on-screen data showing the current operating status of an aircraft in flight.

### get_device_status
Checks a drone's basic online availability and overall operational state.

### get_firmware_info
Retrieves the specific firmware version currently running on any connected device.

### get_hms_stats
Collects alerts and health metrics from the drone's internal management system.

### get_media_upload_url
Generates a secure web link allowing you to upload high-resolution media files for later retrieval.

### get_mission_status
Checks how far along an active flight mission is, providing its current progress percentage and location.

### list_devices
Provides a complete list of every drone and dock registered under your account.

### list_media_files
Retrieves metadata for all photos and videos captured by the fleet's drones.

### list_waylines
Lists available pre-designed flight path files that can be used for missions.

## Prompt Examples

**Prompt:** 
```
List all aircraft in my DJI fleet and show their firmware versions.
```

**Response:** 
```
Retrieving DJI fleet data... I found 3 active aircraft: 1. Matrice 350 RTK (v01.02.03), 2. Mavic 3 Enterprise (v02.01.00), 3. Phantom 4 RTK (v01.05.06). Would you like to check if there are firmware updates for any of these?
```

**Prompt:** 
```
What is the health status of aircraft SN 'DJI_SN_12345'?
```

**Response:** 
```
Querying DJI health diagnostics for SN 'DJI_SN_12345'... Status is 'Normal'. Battery cycle count is 45, current charge is 88%, and all internal sensors are operating within nominal parameters.
```

**Prompt:** 
```
Show me the last flight log for the Mavic 3 Enterprise.
```

**Response:** 
```
Fetching flight records... The last mission occurred on 2024-04-11. Total flight time: 24 minutes. Max altitude: 120m. GPS signal was stable throughout. Would you like the full telemetry export?
```

## Capabilities

### Check fleet inventory and status
List all drones and associated payloads connected to your account, along with their current online status.

### Retrieve detailed flight history
Pull complete records of a drone's mission, including timestamps, altitude changes, and GPS coordinates.

### Diagnose device hardware issues
Get specific health alerts from the aircraft's internal management system or retrieve general technical specifications for any unit.

### Manage flight paths and missions
Generate a new mission plan for a drone, or check if an active flight is progressing as expected.

### Handle media data management
List the photos and videos taken by drones, and request secure cloud storage URLs to download them.

## Use Cases

### Post-incident investigation
A client claims an inspection point wasn't covered. You ask your agent to fetch the last flight log for that area, then use `list_media_files` to confirm if photos were taken at the required coordinates.

### Pre-deployment checklist
Before a major survey job, you tell your agent to run through all registered units using `list_devices`, then check every single one's health using `get_hms_stats` and verify the latest firmware via `get_firmware_info`.

### Automating daily reporting
Your agent needs to create a report summarizing all activities. It uses `list_waylines` to confirm available paths, then calls `create_mission` for the day's schedule, and tracks progress with `get_mission_status`.

### Data ingestion pipeline
You need raw footage from three different job sites. You ask your agent to list all media files, then requests a secure upload URL (`get_media_upload_url`) for bulk download into your central server.

## Benefits

- You get full visibility into hardware health. Before launching, you can run `get_hms_stats` to check the internal diagnostics and ensure every device is operating within nominal parameters.
- Logistics planning gets faster. Instead of manually listing assets, just use `list_devices` to see everything connected, plus their current firmware versions using `get_firmware_info`.
- Compliance checks are simple. You can ask the agent to pull all flight logs and telemetry data for a specific date range, ensuring you have full records from every mission.
- You save time by centralizing media handling. After a job, use `list_media_files` to see what was captured, then call `get_media_upload_url` to start the download process immediately.
- Mission oversight is continuous. If a drone goes offline mid-flight, you can check its progress using `get_mission_status` and understand why it stopped.

## How It Works

The bottom line is, you pass your keys and access tokens once, and your agent gains full control over the DJI API suite.

1. First, subscribe to this MCP in Vinkius. Then, log into your DJI Developer Center account and register an application to get your App ID and App Key.
2. Next, enable the necessary Cloud or Enterprise API permissions for your specific drone devices.
3. Finally, input those credentials into your AI client's fields so it can start managing your entire drone fleet.

## Frequently Asked Questions

**How do I check the status of all my drones using get_device_status?**
You list your fleet first with `list_devices`, then pass those IDs to `get_device_status`. The agent consolidates this into a single report showing which units are online and what their basic state is.

**Can I check for firmware updates using get_firmware_info?**
Yes. You pass the device ID to `get_firmware_info` to see the current version, and then you can ask if there's a newer release available programmatically.

**How do I get all the photos taken by my fleet?**
Use `list_media_files` first. This retrieves metadata for every photo and video captured, which helps you confirm what was actually recorded before you plan a download.

**What if I want to start a mission on a specific drone?**
You use `create_mission`. You define the parameters—the flight path or waypoints—and the MCP handles generating and initiating the new operational plan for that device.

**Do I need get_hms_stats to check if a drone is safe?**
Yes. While `get_device_status` tells you if it's online, `get_hms_stats` provides deep alerts from the internal system (like battery warnings or motor errors), giving you true safety data.

**How do I retrieve real-time flight telemetry data using get_device_osd?**
It streams live operational status instantly. This lets you monitor altitude, speed, battery drain, and GPS coordinates without needing separate data feeds or pre-downloading logs.

**How do I check for available flight paths using list_waylines?**
The system indexes all stored wayline files for you. You can list these files by type and date, which is crucial for confirming the correct pre-flight path exists before initiating a mission.

**How do I audit every drone or dock connected to my account using list_devices?**
This command lists all hardware bound to your developer account. It quickly helps you verify if a device is registered, operational, or requires immediate maintenance attention across multiple sites.

**Can I automatically list all aircraft in my DJI fleet?**
Yes! Use the `list_aircraft` tool. Your agent will retrieve a complete list of all registered drones in your account, including their model names and current firmware versions.

**How do I monitor the health status of a specific drone?**
Use the `get_device_health` tool with the aircraft serial number. The agent will return real-time health metrics, battery status, and any active error codes from the DJI platform.

**Can I retrieve telemetry logs from past missions?**
Yes! Use the `get_flight_logs` tool. Your agent will fetch detailed historical flight data, including GPS coordinates, altitude, and velocity profiles for any recorded mission.