dronelytics
The Dronelytics MCP server enables AI assistants to query US drone airspace, plan missions, manage drone profiles, and export flight plans.
Airspace Intelligence
check_airspace— Query 11 FAA airspace layers at a lat/lng for a flyability assessment (UASFM ceiling, controlled airspace, TFRs, NOTAMs)get_active_tfrs— List active Temporary Flight Restrictions near a locationget_notams— Get active Notices to Air Missions near a locationcheck_live_traffic— Check real-time ADS-B aircraft traffic near a locationvalidate_flight— Perform a FAA Part 107 compliance check for a location, altitude, and timepreflight_briefing— Generate a GO/CAUTION/NO-GO briefing for a saved mission using live airspace data
Mission Management
list_missions/get_mission— List all missions or retrieve full details including waypointscreate_mission/update_mission/delete_mission— Create, edit, or permanently delete missionsduplicate_mission/share_mission— Clone a mission or generate a public share linkexport_mission— Export to KML, GPX, QGC, Litchi CSV, or WPML formatimport_litchi— Import a Litchi CSV file to create a new mission
Mission Generation
list_cameras— List available camera presets for survey planninggenerate_grid_survey— Generate a grid/lawnmower-pattern mapping survey from a polygongenerate_orbit_mission— Generate an orbit/POI mission around a point of interestgenerate_panorama_mission— Generate a panorama capture mission at a fixed locationgenerate_spiral_mission— Generate a spiral survey mission expanding outward or inwardgenerate_corridor_mission— Generate a corridor mapping mission along a path (roads, pipelines, etc.)
Drone Profile Management
list_drones/create_drone/update_drone/delete_drone— Manage drone profiles including make, model, camera specs, and flight characteristics
Provides access to FAA ArcGIS services for comprehensive airspace intelligence, including 11 FAA data layers such as UASFM ceilings, class airspace boundaries, TFRs, NOTAMs, special use airspace, and military training routes.
Supports mission planning with DJI drones, including camera presets for survey planning and compatibility with DJI Mavic 3 and other models.
Provides the MCP server package distribution and installation through npm, allowing users to install and run the @dronelytics/mcp server.
@dronelytics/mcp
MCP (Model Context Protocol) server for the Dronelytics drone mission planning platform. Enables AI assistants to query US drone airspace, plan missions, manage drone profiles, and export flight plans.
The first drone platform built for AI agents. Learn more | Read why we built this
Setup
1. Generate an API key
Go to Settings > API Keys in hub.dronelytics.io and create a new key.
2. Configure your MCP client
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"dronelytics": {
"command": "npx",
"args": ["-y", "@dronelytics/mcp"],
"env": {
"DRONELYTICS_API_KEY": "dk_your_key_here"
}
}
}
}Claude Code (.mcp.json in your project or ~/.claude/.mcp.json globally):
{
"mcpServers": {
"dronelytics": {
"command": "npx",
"args": ["-y", "@dronelytics/mcp"],
"env": {
"DRONELYTICS_API_KEY": "dk_your_key_here"
}
}
}
}Cursor / Windsurf — same npx config in your MCP settings.
Environment Variables
Variable | Required | Default | Description |
| Yes | — | Your API key (starts with |
| No |
| API base URL (override for local dev) |
Related MCP server: Airspace Monitor MCP
Tools (24)
Airspace Intelligence
Tool | Description |
| Query 11 FAA airspace layers at a lat/lng — returns flyability assessment |
| List active TFRs near a location |
| Get active NOTAMs near a location |
| Live ADS-B aircraft traffic near a location |
| Part 107 compliance check for location, altitude, and time |
| GO/CAUTION/NO-GO briefing for a saved mission |
Mission Management
Tool | Description |
| List all user missions |
| Get full mission with waypoints |
| Create a new mission |
| Update an existing mission |
| Delete a mission |
| Clone a mission |
| Generate a public share link |
| Export to KML, GPX, QGC, Litchi CSV, or WPML |
| Import a Litchi CSV file |
Mission Generation
Tool | Description |
| List camera presets for survey planning |
| Generate grid/mapping survey from polygon |
| Generate orbit around a point of interest |
| Generate panorama capture grid |
| Generate spiral survey |
| Generate corridor mapping along a path |
Drone Profiles
Tool | Description |
| List user's drone profiles |
| Add a drone profile |
| Update a drone profile |
| Remove a drone profile |
Airspace Data
The check_airspace tool queries 11 FAA data layers in a single call:
UASFM ceiling — maximum altitude grid from the FAA UAS Facility Map
Class airspace — B, C, D, E2, E3, E4 controlled airspace boundaries
TFRs — active Temporary Flight Restrictions (refreshed every 15 minutes)
NOTAMs — Notices to Air Missions with proximity filtering
Special Use Airspace — prohibited areas, restricted areas, MOAs, alert areas
NSUFRs — National Security UAS Flight Restrictions
Stadiums — stadium TFR zones within 3nm
FRIAs — FAA-Recognized Identification Areas for recreational flyers
Airports — nearby airports with distance and type
Mode C veil — 30nm transponder requirement zones around major airports
Military training routes — low-altitude military flight corridors
All data is sourced from FAA ArcGIS services and refreshed automatically.
Example Prompts
"Can I fly a drone at the Golden Gate Bridge?"
"Plan a grid survey of this 10-acre field at 200ft with my DJI Mavic 3"
"Give me a pre-flight briefing for my construction survey mission"
"Export all my missions tagged 'client-project' to KML"
"What airports are within 5nm of 37.7749, -122.4194?"
"Validate a flight at 300ft at the Statue of Liberty at 2pm tomorrow"
npm
npm install @dronelytics/mcphttps://www.npmjs.com/package/@dronelytics/mcp
License
MIT
Available Tools
25 toolscheck_airspaceA
Check all airspace restrictions at a given location. Queries 11 FAA data layers (UASFM ceiling, class airspace, TFRs, NOTAMs, SUAs, NSUFRs, stadiums, FRIAs, airports, Mode C veils, MTRs) and returns a synthesized flyability assessment with airspace class, max altitude, and nearby hazards. Requires a valid DRONELYTICS_API_KEY. Use validate_flight for Part 107 compliance checks or preflight_briefing for a full GO/NO-GO assessment.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude in decimal degrees | |
| lng | Yes | Longitude in decimal degrees | |
| radius_nm | No | Search radius in nautical miles for nearby features (default: 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Describes the operation (checking airspace), data sources (11 FAA layers), and output (flyability assessment, airspace class, max altitude, hazards). Also discloses API key requirement. However, it could explicitly state it's read-only, but implicitly understood.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise, front-loaded with purpose, detail, then alternatives. Every sentence adds value without redundancy. Four sentences cover all essential aspects.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (11 data layers, synthesized assessment), the description covers all necessary information: purpose, data sources, output summary, and alternative tools. No output schema exists, so description explains return values adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters (lat, lng, radius_nm) are fully described in the input schema (100% coverage). The description does not add additional semantic meaning beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it checks all airspace restrictions at a given location, queries 11 FAA data layers, and returns a synthesized flyability assessment. Distinguishes itself from siblings like validate_flight and preflight_briefing by naming them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use this tool (check airspace restrictions) and when to use alternatives (validate_flight for Part 107 compliance, preflight_briefing for full GO/NO-GO). Provides clear context and prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_live_trafficA
Check live ADS-B aircraft traffic near a location. Returns aircraft currently broadcasting position within the search radius, including callsign, altitude, speed, and heading. Data refreshes in near-real-time from ADS-B receivers.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude in decimal degrees | |
| lng | Yes | Longitude in decimal degrees | |
| radius_nm | No | Search radius in nautical miles (default: 25) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions near-real-time refresh from ADS-B receivers, but does not disclose limitations like coverage gaps, latency, or that not all aircraft may be broadcasting. Lacks full transparency for a data-fetching tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: purpose, return fields, and data source. Each sentence adds value with no redundancy. Front-loaded with clear action verb.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 simple parameters and no output schema, the description covers purpose, return fields, and update nature. It lacks output format details but lists returned fields, making it mostly complete for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage; the description adds overall context (e.g., 'near a location') but does not significantly enhance understanding beyond the schema's parameter descriptions. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks live ADS-B aircraft traffic near a location, listing specific data fields returned (callsign, altitude, speed, heading). It distinguishes effectively from siblings like check_airspace by focusing on aircraft traffic rather than airspace restrictions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking live traffic near a location but does not explicitly state when to use it vs. alternatives (e.g., check_airspace). No guidance on when not to use or conditions for accurate data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_droneA
Create a new drone profile with manufacturer and model information. Optionally include camera specs and flight characteristics. Created profiles can be linked to missions for flight time and coverage estimates.
| Name | Required | Description | Default |
|---|---|---|---|
| make | Yes | Manufacturer (e.g., DJI, Autel, Skydio) | |
| model | Yes | Model name (e.g., Mavic 3, EVO II) | |
| nickname | No | Custom name for this drone | |
| serial_number | No | Drone serial number for identification | |
| camera_model | No | Camera model name (e.g., Hasselblad L2D-20c) | |
| camera_fov_h | No | Horizontal field of view in degrees | |
| camera_fov_v | No | Vertical field of view in degrees | |
| camera_mp | No | Camera megapixels | |
| max_flight_time_min | No | Max flight time in minutes | |
| max_speed_mph | No | Max speed in mph | |
| default_altitude_ft | No | Default flight altitude in feet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It confirms a write operation but lacks details on side effects, error conditions, permissions, or data validation (e.g., duplicate serial numbers).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences deliver essential information with minimal waste. The purpose, optionality of fields, and downstream use are all included without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers creation and linking, it omits return value, error handling, and behavioral details. For a tool with 11 parameters and no output schema, the description is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the schema already documents each parameter. The description adds grouping ('camera specs and flight characteristics') but no deeper semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('Create', 'link to missions') and identifies the resource ('drone profile') with examples of included information. It clearly distinguishes from sibling tools like update_drone and list_drones.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when adding a new drone to the system but does not explicitly state when to avoid this tool or mention alternatives. No guidance on prerequisites or conflict resolution.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_missionA
Create a new drone mission manually with custom waypoints. Supported types: waypoint, grid, orbit, spiral, panorama, corridor. For automated survey generation with optimal waypoint placement, use generate_grid_survey, generate_orbit_mission, or other generate_* tools instead.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Mission name | |
| type | Yes | Mission type | |
| waypoints | No | Array of waypoints | |
| drone_profile_id | No | UUID of drone profile to associate | |
| tags | No | Tags for the mission |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits like persistence, validation, or permissions. It only states creation without mentioning side effects, return values, or requirements (e.g., drone_profile_id's optionality). This is insufficient for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the purpose and immediately provide usage guidance. No unnecessary words, effectively structured for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description omits critical context: what the tool returns, success/error handling, and required preconditions. It only covers usage, leaving the agent underinformed about the tool's complete behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with descriptions (100% coverage), so baseline is 3. The description adds no extra meaning beyond listing types, missing any contextual constraints or interactions between parameters. Acceptable but not enhanced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool creates a drone mission manually with custom waypoints, listing supported types. It distinguishes itself from sibling generate_* tools by emphasizing 'manual' creation, making the purpose specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use this tool (manual mission creation) and when to use alternatives (automated surveys), naming specific generate_* tools. This provides clear guidance for the agent to choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_droneA
Permanently delete a drone profile. This action cannot be undone. Fails if the drone is currently referenced by any missions — unlink it from missions first.
| Name | Required | Description | Default |
|---|---|---|---|
| drone_id | Yes | The UUID of the drone profile to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses that deletion is permanent, irreversible, and fails under certain conditions (referenced by missions). This provides complete behavioral transparency beyond what annotations would convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The first sentence states the core action, and the second adds critical detail. Properly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, irreversibility, and a key failure condition. Without an output schema, it could mention the response on success, but for a delete tool, this is adequate and nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage for the single parameter drone_id. The description adds context about deletion behavior but does not add further meaning to the parameter beyond what the schema already states. Baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Permanently delete a drone profile' with a specific verb and resource. It distinguishes from siblings like create_drone, update_drone, and delete_mission by explicitly naming the action on drone profiles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a crucial usage condition: 'Fails if the drone is currently referenced by any missions — unlink it from missions first.' This informs the agent of a necessary prerequisite but does not explicitly discuss when to use or compare to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_missionA
Permanently delete a mission and all its waypoints. This action cannot be undone. Use list_missions to find mission IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| mission_id | Yes | The UUID of the mission to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description warns that deletion is permanent and includes all waypoints, providing essential behavioral traits. With no annotations, it fully conveys the destructive nature of the operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states the action and scope, second adds a necessary prerequisite. No wasted words, front-loaded with the key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description covers purpose, behavior, and prerequisite sourcing. It is fully sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes mission_id as 'The UUID of the mission to delete' with 100% coverage. The description adds the hint to use list_missions, which is helpful but doesn't add significant semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Permanently delete a mission and all its waypoints,' clearly indicating the action and scope. This distinguishes it from sibling tools like list_missions or create_mission.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It advises using list_missions to find mission IDs, guiding the user on prerequisites. However, it doesn't explicitly mention when not to use it or alternative deletion methods, but for a straightforward delete tool, this is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
duplicate_missionA
Create a full copy of an existing mission including all waypoints and settings. The new mission gets a unique ID. Use list_missions to find mission IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| mission_id | Yes | The UUID of the mission to duplicate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description bears full responsibility. It states the operation is a copy (write) and mentions the new mission gets a unique ID, implying the original is unchanged. However, it omits side effects, permission requirements, or rate limits, leaving gaps for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, each serving a clear purpose: first states the action and scope, second provides a practical usage hint. No redundant words or information, achieving maximal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description covers the core operation, specific inclusions, and a result detail (unique ID). It lacks explicit return value expectations but is sufficient for basic use, missing only minor contextual depth.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes the single parameter (mission_id as UUID) with 100% coverage. The description adds a usage hint ('Use list_missions to find mission IDs') but does not contribute additional semantic meaning beyond what the schema provides, warranting the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a 'full copy' of a mission, specifying what is included (waypoints and settings) and the result (unique ID). This clearly distinguishes it from siblings like create_mission (new from scratch) and share_mission (sharing, not copying).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a direct usage hint ('Use list_missions to find mission IDs') which guides the agent on prerequisite action. However, it does not explicitly state when not to use this tool or list alternatives, missing full guidance for differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_missionA
Export a mission to a flight controller format. Returns the file content as text. Supported formats: kml (Google Earth), gpx (GPS Exchange), qgc (QGroundControl .plan), litchi (Litchi CSV for DJI), wpml (DJI FlightHub WPML). Use import_litchi to import Litchi CSV files.
| Name | Required | Description | Default |
|---|---|---|---|
| mission_id | Yes | The UUID of the mission to export | |
| format | Yes | Export format |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states that the tool returns file content as text, but does not disclose side effects (e.g., whether the mission is modified) or behavior on missing missions. The lack of idempotency or read-only hints leaves some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: the first clearly states the action and output, the second lists formats and provides an alternative tool reference. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (2 params, no nested objects) and no output schema, the description covers the essential aspects: what the tool does, its output type, and supported formats. Missing error handling or expected response structure, but adequate for a straightforward export tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions for both parameters. The description adds human-readable format names (e.g., 'Google Earth' for kml), but this adds only marginal value beyond the schema's enum listing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Export') and resource ('mission to a flight controller format'), clearly distinguishing this tool from siblings like import_litchi. It lists supported formats explicitly, leaving no ambiguity about the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly directs users to import_litchi for importing Litchi CSV files, providing a clear when-not-to-use scenario. However, it does not specify prerequisites (e.g., mission must exist) or broader context for when this tool is preferred over other export methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_corridor_missionA
Generate a linear corridor mapping mission along a path (roads, pipelines, power lines). Creates parallel flight passes with camera-based spacing for full coverage. Automatically saves the mission to your account. Call list_cameras first to see available camera_model values.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Mission name | Corridor Survey |
| centerline | Yes | Centerline path as [lng, lat][] coordinates | |
| corridor_width_m | Yes | Total corridor width in meters | |
| num_passes | No | Number of parallel flight passes | |
| altitude_ft | Yes | Flight altitude in feet AGL | |
| front_overlap | No | Front overlap percentage | |
| side_overlap | No | Side overlap percentage | |
| speed_mph | No | Flight speed in mph | |
| camera_model | No | Camera preset ID | mini4pro |
| drone_profile_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses the auto-save behavior, which is a key side effect. However, it lacks details on permissions, naming conflicts, or other behavioral traits, leaving gaps for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no wasted words. It front-loads the core purpose, then adds a behavioral note and a crucial prerequisite, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 10 parameters, the description explains the mission type and auto-save but omits details about return values, parameter interactions (e.g., corridor_width vs num_passes), and error states. Adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is high (90%), so the description's additional value is limited. It mentions camera-based spacing and the prerequisite for camera_model, but does not significantly augment the schema descriptions of other parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates a linear corridor mapping mission along a path, specifying use cases like roads, pipelines, power lines. It distinguishes from sibling tools like generate_grid_survey by focusing on linear corridors and parallel passes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises calling list_cameras first to see available camera_model values, providing a clear prerequisite. While it doesn't exclude other scenarios, the context of sibling tools implies appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_grid_surveyA
Generate a grid/mapping survey mission from a polygon area. Calculates optimal lawnmower-pattern waypoints based on camera, altitude, and overlap settings. Automatically saves the generated mission to your account — returns the saved mission with ID and waypoint count. Call list_cameras first to see available camera_model values.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Mission name | Grid Survey |
| polygon | Yes | Area polygon as [lng, lat][] coordinates (minimum 3 points) | |
| altitude_ft | Yes | Flight altitude in feet AGL | |
| front_overlap | No | Front overlap percentage (0-99) | |
| side_overlap | No | Side overlap percentage (0-99) | |
| angle_deg | No | Grid angle in degrees | |
| speed_mph | No | Flight speed in mph | |
| camera_model | No | Camera preset ID (use list_cameras to see options) | mini4pro |
| crosshatch | No | If true, adds a second pass perpendicular to the first | |
| drone_profile_id | No | UUID of drone profile to associate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It discloses that the tool automatically saves the mission and returns the saved mission with ID and waypoint count. This is transparent about the persistence side-effect. However, it does not mention auth requirements, rate limits, or potential overwrites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no redundancy. Content is front-loaded: first sentence states the core action, second explains the calculation and saving behavior, third gives a practical tip. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (10 params, no output schema), the description covers the main purpose, indicates the return value, and hints at prerequisites. It could mention parameter dependencies or constraints (e.g., polygon area restrictions) but is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all 10 parameters with descriptions (100% coverage). The description adds value by hinting that camera_model values come from list_cameras, but overall it adds little beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a grid/mapping survey mission from a polygon area, specifying the lawnmower pattern. It distinguishes itself from sibling tools like generate_corridor_mission or generate_orbit_mission through the specific grid/mapping terminology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises calling list_cameras first for camera_model values, which is a helpful prerequisite. However, it does not explicitly contrast with sibling tools or provide when-not-to-use guidance. The context of 'grid survey' implies use for area mapping, but alternatives are not ruled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_orbit_missionA
Generate an orbit/POI mission that flies a circle around a point of interest. All waypoints face the center for consistent framing. Automatically saves the mission to your account — returns the saved mission with ID and waypoint count.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Mission name | Orbit Mission |
| center_lat | Yes | Center point latitude | |
| center_lng | Yes | Center point longitude | |
| radius_m | Yes | Orbit radius in meters | |
| altitude_ft | Yes | Flight altitude in feet AGL | |
| speed_mph | No | Flight speed in mph | |
| direction | No | Orbit direction | cw |
| photo_interval | No | Take photo every N waypoints (null = no photos) | |
| drone_profile_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It discloses automatic saving and return of mission ID and waypoint count, important side effects. However, lacks details on error handling, permission requirements, or parameter validation beyond schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences achieve high density: first sentence defines purpose, second adds behavioral details. No redundant content, front-loaded with key info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters and no output schema, the description covers core functionality and return value. Missing explanations for drone_profile_id and error conditions, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is high (89%), so baseline is 3. The description adds no additional meaning beyond schema; drone_profile_id is undocumented in description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates an orbit/POI mission with waypoints facing center, distinguishing it from sibling tools like generate_grid_survey or generate_spiral_mission.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for circular orbits around a POI, but does not explicitly state when to use this versus alternatives or what prerequisites (e.g., drone profile) are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_panorama_missionA
Generate a panorama capture mission at a fixed hover location. Creates a grid of heading/pitch combinations for photo stitching. Automatically saves the mission to your account — returns the saved mission with ID and photo count.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Mission name | Panorama |
| center_lat | Yes | Latitude | |
| center_lng | Yes | Longitude | |
| altitude_ft | Yes | Flight altitude in feet AGL | |
| columns | No | Number of heading positions (12 = every 30 degrees) | |
| rows | No | Number of pitch rows | |
| start_heading_deg | No | Starting heading in degrees | |
| top_pitch_deg | No | Top row pitch (0 = horizon) | |
| bottom_pitch_deg | No | Bottom row pitch (-90 = nadir) | |
| drone_profile_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses that the tool automatically saves the mission and returns it with ID and photo count. It does not mention error handling or prerequisites, but the core behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. First sentence states the main action, second adds key details about saving and return value. Highly concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters and no output schema, the description covers the core functionality and return value. It lacks details on error cases or prerequisites, but is sufficiently complete for a simple creation tool with many sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 90%, so the schema already describes parameters. The description adds context 'for photo stitching' but does not add significant meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Generate a panorama capture mission at a fixed hover location' and 'Creates a grid of heading/pitch combinations for photo stitching', which is a specific verb+resource and is distinct from sibling tools like generate_corridor_mission or generate_orbit_mission.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for panorama missions at a fixed hover location, which differentiates from other generation tools. However, it does not explicitly state when to use or not use this tool, nor list alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_spiral_missionA
Generate a spiral survey mission expanding outward or contracting inward from a center point. Useful for search patterns or radial coverage. Automatically saves the mission to your account — returns the saved mission with ID and waypoint count.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Mission name | Spiral Survey |
| center_lat | Yes | Center latitude | |
| center_lng | Yes | Center longitude | |
| start_radius_m | Yes | Starting radius in meters | |
| end_radius_m | Yes | Ending radius in meters | |
| spacing_m | Yes | Spacing between spiral arms in meters | |
| altitude_ft | Yes | Flight altitude in feet AGL | |
| speed_mph | No | Flight speed in mph | |
| direction | No | Spiral direction | outward |
| rotation | No | Rotation direction | cw |
| photo_interval | No | Take photo every N waypoints | |
| drone_profile_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses that the tool automatically saves the mission to the account and returns the saved mission with ID and waypoint count. However, it does not elaborate on potential side effects, permissions, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no waste. The first sentence states the core action and direction, the second adds automation and return value info. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high schema coverage and the description explaining the output (saved mission with ID and waypoint count), the tool is adequately documented. However, some edge cases or parameter interactions are not addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high at 92%, so the baseline is 3. The description does not add meaningful parameter-specific context beyond what the schema already provides (e.g., no explanation of start_radius vs end_radius relationships).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates a spiral survey mission expanding outward or contracting inward, for search patterns or radial coverage. It distinguishes from sibling tools like generate_grid_survey and generate_orbit_mission by specifying the spiral pattern and purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context ('useful for search patterns or radial coverage') but does not explicitly state when to use this tool versus alternatives. It does not mention exclusions or when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_active_tfrsA
List active Temporary Flight Restrictions (TFRs) near a location. Returns TFRs that contain the point and nearby TFRs within the search radius, including effective start/end times and descriptive text. Use check_airspace for a full multi-layer assessment.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude in decimal degrees | |
| lng | Yes | Longitude in decimal degrees | |
| radius_nm | No | Search radius in nautical miles (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description discloses return contents (TFRs containing point and nearby within radius, including times and descriptive text). Does not discuss side effects or permissions, but read-only nature is implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Purpose is front-loaded, and the alternative is succinctly mentioned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, three simple parameters, and no annotations, the description adequately covers what the tool does and returns. It references a sibling for extended need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% so baseline is 3. Description adds context about 'near a location' and returned fields but does not significantly extend parameter meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'List', the resource 'active Temporary Flight Restrictions (TFRs)', and the scope 'near a location'. It differentiates from sibling 'check_airspace' by recommending it for a full assessment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using 'check_airspace' for a full multi-layer assessment, implying this tool is for active TFRs only. Does not provide negative usage cases but is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_missionA
Get full details of a drone mission including all waypoints, generation settings, and area polygon. Use list_missions to find available mission IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| mission_id | Yes | The UUID of the mission to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read operation but does not explicitly state read-only nature, authentication needs, or other behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundancy, front-loaded with purpose. Every word contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool without output schema, the description covers core functionality and how to obtain the input. Lacks mention of prerequisites like mission existence, but that is implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for mission_id. The description adds value by linking to list_missions but does not elaborate on parameter format or constraints beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get full details of a drone mission' and lists included elements (waypoints, generation settings, area polygon), distinguishing it from siblings like list_missions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to 'Use list_missions to find available mission IDs,' providing clear context for when to use this tool, though no exclusion criteria are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_notamsA
Get active NOTAMs (Notices to Air Missions) near a location. Returns NOTAM numbers and full text, filtered by proximity. Use check_airspace for a full multi-layer airspace assessment.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude in decimal degrees | |
| lng | Yes | Longitude in decimal degrees | |
| radius_nm | No | Search radius in nautical miles (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It discloses the return format (numbers and full text) and filtering behavior. Lacks details on response structure or any limitations, but sufficient for a simple read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each earning its place. First sentence describes purpose and output; second gives alternative. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 fully-described parameters, no output schema), the description is complete. It covers purpose, output, and usage guidance with no gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers all parameters with descriptions (100% coverage). The description adds no additional meaning beyond the schema. Baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'active NOTAMs', and the scope 'near a location' with filtering by proximity. It uniquely distinguishes from the sibling tool 'check_airspace'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on when not to use this tool ('Use check_airspace for a full multi-layer airspace assessment'). This helps the agent select the correct tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_litchiA
Import a Litchi CSV file and create a new waypoint mission from it. Parses the standard Litchi CSV format (latitude, longitude, altitude, heading, gimbal pitch, actions). Automatically saves the imported mission to your account.
| Name | Required | Description | Default |
|---|---|---|---|
| csv_content | Yes | Raw Litchi CSV file content | |
| name | No | Name for the new mission | Imported Mission |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses key behaviors: parsing the CSV and automatically saving to the account. However, it omits details on validation errors, required CSV columns, or whether existing missions might be overwritten, which are important for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with three short sentences that front-load the main action. Every sentence adds value: purpose, format details, and auto-save behavior. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity and lack of output schema, the description covers the core purpose and behavior but lacks information on error handling, required CSV structure, and potential conflicts with existing missions. It is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds context about the CSV format being parsed and the mission creation, but does not elaborate on expected CSV columns or validation rules. This meets the baseline but does not substantially enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Import' and resource 'Litchi CSV file', explicitly specifying the outcome 'create a new waypoint mission'. It distinguishes itself from siblings like 'create_mission' by focusing on the specific Litchi CSV format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: when you have a Litchi CSV file to import. It does not explicitly list exclusions or alternatives, but the purpose is obvious given the tool name and description, and it stands apart from mission creation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_camerasA
List available camera presets for survey mission planning. Returns sensor dimensions, focal length, and field of view for each preset. Use the returned preset IDs as the camera_model parameter in generate_grid_survey and generate_corridor_mission.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description clearly implies it is a read-only listing operation with no side effects. No annotations are provided, but the description adequately covers behavioral transparency for this simple tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is composed of two concise sentences: first stating the purpose and return data, second providing usage guidance. No redundant information, perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description is complete. It covers purpose, return content, and integration with other tools. No missing context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description carries no additional parameter burden. Baseline score of 4 is appropriate as no parameter documentation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists camera presets for survey mission planning and specifies the exact data returned (sensor dimensions, focal length, FOV). It distinguishes itself from sibling tools by its role in mission planning and direct linkage to specific mission generation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool (for survey mission planning) and how to use the results (passing preset IDs as camera_model parameter to generate_grid_survey and generate_corridor_mission). This is excellent guidance for the AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_dronesA
List all drone profiles for the authenticated user. Returns each profile with make, model, nickname, camera specs, and flight characteristics. Use create_drone to add new profiles.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose behavior. It states it returns specific fields but doesn't explicitly confirm it's a read-only operation or mention any side effects, rate limits, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, front-loaded with the verb and resource, and no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains what is returned (make, model, etc.). It is fairly complete for a simple list tool, though it could mention if pagination exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so the baseline score is 4. The description adds no parameter details, which is appropriate since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list) and resource (drone profiles). It differentiates from create_drone by explicitly mentioning it for adding new profiles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies when to use the tool (to list all drone profiles for the authenticated user) and suggests create_drone for adding profiles. However, it doesn't mention when not to use it versus other non-existent list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_missionsA
List all drone missions for the authenticated user. Returns summaries with id, name, type, waypoint count, center coordinates, and tags. Use get_mission with a specific ID for full waypoint details.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly states the tool reads and returns summaries, implying read-only behavior. It specifies the output fields but does not mention pagination or potential limitations like no filtering. The lack of side-effect disclosure is acceptable as the tool is inherently safe.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences (24 words), front-loading the main purpose and efficiently adding return field details and a pointer to a sibling tool. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a simple list tool with no parameters. It specifies the output fields and the relationship with get_mission. It could be improved by mentioning any default sorting or if the list is exhaustive, but overall it provides sufficient context for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters (baseline 4). The description adds value by listing the returned fields, which is helpful for the agent to understand what the response contains. There are no parameter descriptions needed since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all drone missions for the authenticated user and specifies exactly what fields are returned (summaries with id, name, type, waypoint count, center coordinates, tags). It also distinguishes itself from the sibling tool get_mission by directing the user to use that for full waypoint details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to use get_mission for full waypoint details, providing a clear alternative for when more detail is needed. However, it does not address when to avoid this tool (e.g., if filtering is required) or differentiate from other list tools like list_drones or list_cameras.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preflight_briefingA
Generate a comprehensive pre-flight briefing for a saved mission. Combines mission waypoints with live airspace data to produce a GO / CAUTION / NO-GO recommendation. Checks airspace class, UASFM ceiling, active TFRs, NOTAMs, SUAs, nearby airports, Mode C veil, stadiums, Part 107 altitude limits, and live ADS-B traffic. Returns issues, recommendations, and a disclaimer. The mission must exist and have waypoints — use list_missions to find mission IDs. Read-only — does not modify the mission.
| Name | Required | Description | Default |
|---|---|---|---|
| mission_id | Yes | The UUID of the mission to brief |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and clearly states the tool is read-only and does not modify the mission. It also outlines all the data sources it checks, providing full behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear main purpose, followed by a bulleted list of checks. It is comprehensive but not verbose, earning its place. Slight improvement could be front-loading the usage tip earlier.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and a complex tool performing many checks, the description is quite complete, covering prerequisites, behavior, and output. No output schema exists, but it mentions returning issues, recommendations, and a disclaimer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of the single parameter, providing a description of 'mission_id'. The description adds meaning by specifying that the mission must exist and have waypoints, enriching the semantic understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a comprehensive pre-flight briefing, combining mission waypoints with live airspace data to produce a GO/CAUTION/NO-GO recommendation. It lists all the checks it performs, distinguishing it from siblings like check_airspace and check_live_traffic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says the mission must exist and have waypoints, and advises using list_missions to find mission IDs. It implies when to use (for saved missions with waypoints) and clarifies it is read-only, but does not explicitly mention alternatives or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_droneA
Update an existing drone profile. Pass only the fields you want to change — omitted fields remain unchanged. Use list_drones to find drone IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| drone_id | Yes | The UUID of the drone profile to update | |
| make | No | Manufacturer name | |
| model | No | Model name | |
| nickname | No | Custom name for this drone | |
| serial_number | No | Drone serial number | |
| camera_model | No | Camera model name | |
| camera_fov_h | No | Horizontal field of view in degrees | |
| camera_fov_v | No | Vertical field of view in degrees | |
| camera_mp | No | Camera megapixels | |
| max_flight_time_min | No | Max flight time in minutes | |
| max_speed_mph | No | Max speed in mph | |
| default_altitude_ft | No | Default flight altitude in feet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains the partial update behavior (omitted fields unchanged), which is a key trait. However, it lacks information about return value, error handling, or any side effects, and no annotations are provided to supplement this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, direct sentences with no fluff. The purpose is stated first, followed by a key usage guideline. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core functionality and key parameter behavior. It lacks information about the output/return value, but given the 100% schema coverage and the tool's simplicity, it is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description adds meaningful context about partial updates, which goes beyond the schema. It clarifies that only provided fields are modified, adding value for parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update') and the resource ('existing drone profile'). It differentiates from sibling tools like create_drone and delete_drone by specifying it's an update operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states to 'Pass only the fields you want to change' and advises using list_drones to find drone IDs. It provides clear context but does not explicitly mention when not to use the tool, though the sibling list implies alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_missionA
Update an existing mission. Fetches the current version and merges your changes — omitted fields remain unchanged. Use list_missions to find mission IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| mission_id | Yes | The UUID of the mission to update | |
| name | No | ||
| type | No | ||
| waypoints | No | Updated waypoints array | |
| tags | No | ||
| drone_profile_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the merge semantic (fetches current version, omitted fields unchanged), which is key behavior. No annotations are provided, so description carries the burden. However, it omits error handling, idempotency, and permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action, no redundancy. Every clause adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, 6 parameters with low schema coverage. The description explains merge behavior but lacks details on return values, validation rules, error conditions, or postconditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 33% (only mission_id and waypoints have descriptions). The description adds no parameter-specific details beyond the merge behavior, failing to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update an existing mission') and contrasts with create/duplicate by noting merge behavior and referencing list_missions for IDs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Suggests using list_missions to find IDs, but does not specify when to avoid this tool (e.g., for full replacement) or compare with siblings like create_mission or duplicate_mission.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_flightA
Validate whether a drone flight at a specific location, altitude, and time is permitted under FAA Part 107 rules. Checks airspace restrictions, TFR time windows, altitude limits (400ft AGL), UASFM ceiling, and civil twilight requirements. Returns a status of PASS (no issues), CAUTION (warnings but flyable), or FAIL (rule violations found), with specific violations and warnings listed. Read-only — does not create or modify any data.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Flight location latitude | |
| lng | Yes | Flight location longitude | |
| altitude_ft | Yes | Planned flight altitude in feet AGL | |
| time | No | Planned flight time as ISO 8601 string (e.g., 2026-04-20T14:00:00Z). Defaults to now. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It declares read-only status and lists exactly what is checked (airspace, TFRs, altitude, UASFM ceiling, civil twilight), giving good insight into behavior. No mention of rate limits or error handling, but sufficient for a validation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences front-loaded with purpose, then checks, then return type and read-only note. No redundant or missing information. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose, what it checks, and the return structure (status with violations). Given no output schema, it adequately describes output, though a bit more detail on violation format would improve completeness. Still, it is sufficient for an agent to understand usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 4 parameters have schema descriptions (100% coverage), so baseline is 3. The description does not add new semantic meaning beyond mentioning location, altitude, and time generically, but it doesn't improve upon the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool validates drone flight permissions under FAA Part 107, checks specific restrictions (airspace, TFRs, altitude, UASFM, civil twilight), and returns a status. This distinguishes it from sibling tools like check_airspace or get_active_tfrs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but does not explicitly guide when to use it over alternatives like check_airspace or preflight_briefing. No exclusions or when-not-to-use guidance is provided, leaving the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a distinct purpose: airspace checks, drone profiles, mission CRUD, mission generation, traffic, export, import, sharing, and preflight briefing. Descriptions clearly differentiate overlapping functions like check_airspace, validate_flight, and preflight_briefing.
Tool names follow a consistent verb_noun pattern (e.g., create_mission, get_mission, delete_mission, list_missions). Even longer names like preflight_briefing and generate_grid_survey are predictable and readable.
With 25 tools, the set is on the high side but well-scoped for a comprehensive drone analytics platform. The number of generate_* tools and CRUD operations is justified by the domain's complexity.
The tool surface covers the full lifecycle: airspace queries, drone profiles, mission CRUD, various mission generation strategies, export/import, sharing, and preflight validation. No obvious gaps for typical drone operations.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Smarter Weather MCP: forecasts, alerts, outlooks, observations, AQI, grids, and map imagery.
Flights MCP — wraps OpenSky Network API (free, no auth required)
Built-environment forecasts, public benchmarks, and permit or zoning readiness through remote MCP.
FAA Delays MCP — live US airport operational status (FAA, free, no auth).
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables advanced geospatial analysis including elevation queries, line-of-sight calculations, terrain visualization, and autonomous drone mission planning with real-time safety analysis and 3D visualization capabilities.MIT
- AlicenseNot gradedqualityBmaintenanceAirspace Monitor - MCP server providing AI-powered tools and automation by MEOK AI Labs14MIT
- AlicenseNot gradedqualityBmaintenanceDrone Airspace Governance - MCP server providing AI-powered tools and automation by MEOK AI Labs14MIT
- AlicenseNot gradedqualityCmaintenanceProvides comprehensive flight tracking capabilities using the OpenSky Network API, enabling real-time flight data, geographic searches, historical data, and airport operations through MCP tools.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/markpdxt/dronelytics-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server