edge-ai-MCP
Provides drone control capabilities via MCP for Hermes, enabling takeoff, return-to-home, mission upload, and telemetry through a MAVSDK backend.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
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 mainTool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
MCP gateway and cloud hosting for MCP servers, agents and apps like RAG, managed from your agent.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables 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 gradedqualityCmaintenanceEnables 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.37 PyPI4MIT
- 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