edge-ai-MCP
Provides drone control capabilities via MCP for Hermes, enabling takeoff, return-to-home, mission upload, and telemetry through a MAVSDK backend.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@edge-ai-MCPArm the drone and take off to 10 meters"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
edge-ai-MCP
MAVSDK-only drone backend for the SAR stack. All flight I/O goes through MAVSDK (Action, MissionRaw, Telemetry). No raw MAVLink.
Used internally by gateway → frontend LLM via a drone-http compatible HTTP API on port 3001.
SAR stack (recommended)
cd /home/jetson/Code
./sar-stack.sh start proxy # or: auto | serialThe drone tmux window runs scripts/stack_server.py:
Port | Purpose |
3001 | Gateway LLM tools + frontend telemetry ( |
8765 | MCP SSE (localhost only; gateway proxies |
Flow:
Frontend chat → gateway :3000/infer → LLM → POST :3001/v1/apply-tool → MAVSDK → FC
Hermes (external) → https://edge-ai.basilrari.com/mcp
→ gateway (Bearer MCP_API_KEY) → 127.0.0.1:8765 → MAVSDKRelated MCP server: osracer-mcp
Prerequisites
cd MCP
pip install -r requirements.txtEnvironment
Variable | Default | Purpose |
|
| MAVSDK connection |
|
| HTTP API for gateway |
|
| MCP SSE (bind |
|
| SSE path prefix for gateway proxy |
|
| Min altitude (m) |
|
| Max altitude (m) |
|
| Max horizontal distance from home (m) |
|
| Max speed for offboard velocity |
|
| Max waypoints per mission upload |
Test from frontend chat
With sar-stack running, try in the dashboard:
"Just hover in place for now"
"Return to home immediately" (SITL / when safe)
Test scripts
python3 scripts/test_unit.py
python3 scripts/test_sitl.py --skip-flightMission upload (dashboard Mission Planner)
{
"include_takeoff": true,
"takeoff_alt_m": 15,
"include_rtl": true,
"waypoints": [
{"lat_deg": 23.558, "lon_deg": 120.473, "alt_m": 15}
]
}Posted to POST /v1/mission/upload (proxied by gateway as /drone/mission/upload).
Public MCP for Hermes (optional)
Set MCP_API_KEY in sar-stack.env and restart the stack. The gateway exposes:
GET/POST https://edge-ai.basilrari.com/mcp— streamable HTTP (Hermes; requires auth)GET https://edge-ai.basilrari.com/mcp/sse— legacy SSE (requires auth)POST https://edge-ai.basilrari.com/mcp/messages/— MCP messages (requires auth)
Auth: Authorization: Bearer <MCP_API_KEY> or header X-API-Key: <MCP_API_KEY>.
Cloudflare (your account)
If you already have a tunnel pointing edge-ai.basilrari.com → localhost:3000 (gateway), you do not need a new tunnel, DNS record, or ingress rule. MCP is served on the same hostname under /mcp/*.
Optional hardening in the Cloudflare dashboard:
Zero Trust → Access — not required; API key is enforced by the gateway.
Security → WAF — optional rate limit on path
/mcp/*to reduce abuse.Keep the tunnel config unchanged unless you moved the gateway port.
Hermes
Add MCP server URL:
https://edge-ai.basilrari.com/mcp(not/mcp/sse)Transport: SSE
Authentication: yes — paste the same
MCP_API_KEYfromsar-stack.env
Verify:
curl -sS -N -H "Authorization: Bearer $MCP_API_KEY" \
https://edge-ai.basilrari.com/mcp/sse | head -5You should see an event: endpoint line within a few seconds.
Standalone stdio MCP (optional, local dev only)
Not started by sar-stack. For Cursor/debug on the Jetson:
python3 server.pyDeploy
git remote -v # git@github.com-edge-ai-mcp:basilrari/edge-ai-MCP.git
git push -u origin mainThis server cannot be deployed
Maintenance
Related MCP Connectors
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server for Appcircle mobile CI/CD platform.
MCP-first control plane for ProAgentStore agents and private instances.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceEnables natural language control of ArduPilot drones via MAVLink, supporting arm, takeoff, mode changes, and mission uploads.9GPL 3.0
- FlicenseNot gradedqualityBmaintenanceMCP server for safe OSRacer vehicle control, exposing ROS 2 and MCU serial surfaces through gated tools with preflight, arming, and emergency stop.-
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to interact with an ArduPilot vehicle in real-time via MAVLink, including reading state, inspecting and changing parameters, switching flight modes, diagnosing arming failures, and gated arming/disarming.2MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to read live drone status, telemetry, and parameters, and to control drone operations with scoped permissions, confirmation steps, and audit trails.MIT