Token导航 LogoToken导航TokenDH.com
uav MCP logo
运维云端stdio官方级别未说明来源级核验

uav MCP

MCP Server

用于控制ArduPilot兼容无人机的MCP服务器,提供无人机命令、移动和遥测功能。

工具数

17

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude云端部署Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Project-GrADyS

提供方

Project-GrADyS

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install uav-mcp

详细介绍

无人机MCP

用于控制与ArduPilot兼容的无人机(QuadCopters)的纯MCP服务器。显示无人机指令、移动和遥测 MCP工具 通过Streamable HTTP,由 官方Python MCP SDK通过MAVLink支持真实无人机,通过ArduPilot SITL支持模拟无人机。

特征:

  • MCP工具界面/mcp --连接任何MCP客户端(Claude Desktop、Claude Code、LangGraph、自定义代理)以控制无人机
  • 全飞行控制:手臂和起飞在一个指令
  • GPS和NED移动命令(即发即弃和封锁变体)
  • 丰富的遥测技术:GPS、NED位置、指南针、电池、传感器健康状况
  • Gradys地面站集成:周期性GPS定位推送
  • 通过任务规划器或任何MAVLink地面军事系统提供视觉反馈
  • 每个组件的可配置日志记录

______________________________________________________________________

安装

先决条件

  • Python 3.10+
  • 对于模拟飞行:本地构建的ArduPilot存储库,以及 xterm 安装。

- 克隆并构建ArduPilot:https://ardupilot.org/dev/docs/where-to-get-the-code.html - SITL设置指南:https://ardupilot.org/dev/docs/SITL-setup-landingpage.html

从PyPI安装(推荐)

pip install uav-mcp

安装后重新启动终端。

从源代码安装(开发)

git clone https://github.com/Project-GrADyS/uav_mcp
cd uav_mcp
pip install -e .

安装后重新启动终端。

______________________________________________________________________

入门指南

用真正的无人机跑步

通过UDP或USB连接无人机,然后启动MCP服务器:

uav-mcp --port 8000 --uav_connection 127.0.0.1:17171 --connection_type udpin --sysid 1

--connection_type 控制UDP方向:

  • udpin --服务器监听,无人机连接(最常见)
  • udpout --服务器连接到无人机
  • usb --串行连接(组 --uav_connection 到串行设备路径,例如。 /dev/ttyUSB0)

运行模拟(SITL)

这将启动ArduCopter SITL(在新的 xterm 窗口)和MCP服务器:

uav-mcp --simulated true --ardupilot_path ~/ardupilot --speedup 1 --port 8000 --sysid 1

SITL将绑定到中的地址 --uav_connection (默认值 127.0.0.1:17171).这 --speedup 因素控制模拟速度(例如。 5 =5倍实时)。这 --location 参数设置SITL的起始位置(默认 AbraDF).

使用配置文件

所有参数都可以通过INI文件提供:

[api]
port=8000
uav_connection=127.0.0.1:17171
connection_type=udpin
sysid=1

[simulated]
ardupilot_path=~/ardupilot
location=AbraDF
gs_connection=[]
speedup=1

[logs]
log_console=[]
log_path=None
debug=[]
script_logs=None

运行方式:

uav-mcp --config /path/to/config.ini

CLI参数始终覆盖配置文件中的值。

______________________________________________________________________

启动和关闭生命周期

uav-mcp 开始时,以下内容按顺序发生 run_mcp.py:

启动:

  1. 解析CLI参数并设置目录
  2. 如果 --simulated true:SITL在xterm窗口中生成(标记为 UAV_SITL_TAG env-var用于清理)
  3. Copter 创建单例并连接到MAVLink车辆
  4. 启动后台MAVLink排放回路(asyncio.create_task)
  5. 如果 --gradys_gs 已设置:后台任务每秒开始推送GPS位置
  6. MCP服务器开始监听配置的端口(mcp.run_streamable_http_async())

关机 (在Ctrl+C或SIGTERM上):

  1. 通过扫描来杀死SITL进程 UAV_SITL_TAG env 是 通过 psutil
  2. MAV墨水排放回路已取消
  3. Gradys GS任务已取消,HTTP会话已关闭

______________________________________________________________________

验证MCP服务器

服务器运行后,您可以通过连接LLM代理进行验证。

使用克劳德桌面

将MCP服务器添加到Claude Desktop配置中(claude_desktop_config.json):

{
  "mcpServers": {
    "uav-1": { "url": "http://localhost:8000/mcp" }
  }
}

重新启动Claude Desktop,然后问:

“获取无人机的通用遥测数据”

克劳德会打电话给 get_general_telemetry 工具和返回空速、地速、航向、油门和高度——确认MCP服务器已连接到车辆。

使用克劳德代码

创建一个 .mcp.json 项目目录中的文件:

{
  "mcpServers": {
    "uav-1": { "url": "http://localhost:8000/mcp" }
  }
}

然后启动Claude Code,让它与无人机交互:

“武装无人机,起飞至20米”

克劳德代码将调用 arm_and_takeoffalt=20.

多无人机设置

使用不同的端口和系统ID为每架无人机运行一台MCP服务器:

uav-mcp --simulated true --ardupilot_path ~/ardupilot --port 8001 --sysid 1
uav-mcp --simulated true --ardupilot_path ~/ardupilot --port 8002 --sysid 2

为MCP客户端配置两台服务器:

{
  "mcpServers": {
    "uav-1": { "url": "http://localhost:8001/mcp" },
    "uav-2": { "url": "http://localhost:8002/mcp" }
  }
}

然后,LLM代理可以通过调用每个服务器上的工具来控制多架无人机。

______________________________________________________________________

MCP工具

工具分为三组:

命令: arm_and_takeoff --武装车辆,切换到制导模式,并起飞到指定高度。

运动: go_to_gps, go_to_gps_wait, go_to_ned, go_to_ned_wait, drive, drive_wait, stop, resume -全球定位系统和NED导航与即发即弃和封锁变体。

遥测: get_general_telemetry, get_gps, get_ned, get_compass, get_sys_status, get_sensor_status, get_battery, get_home --读取车辆状态和传感器数据。

.claude/docs/specification.md 有关完整参数和响应的详细信息。

______________________________________________________________________

CLI参数参考

所有参数都可以在命令行上传递,也可以在INI配置文件中设置。跑 uav-mcp --help 以供快速参考。

通用(所有模式)

参数默认值描述
--configINI配置文件的路径([api], [simulated], [logs] 部分)
--port8000MCP服务器监听的端口(可流式传输HTTP)
--sysid10MAVLink系统ID;必须与无人机匹配 SYSID_THISMAV 参数
--uav_connection127.0.0.1:17171MAVLink地址-- host:port 用于UDP,或用于USB的串行设备路径
--gradys_gs没有host:port Gradys地面站——实现周期性GPS位置推送
--scripts_path~/uav_scripts保存任务脚本的目录
--python_pathpython3用于运行脚本的Python二进制文件

连接(真实无人机)

参数默认值描述
--connection_typeudpinudpin --服务器监听; udpout --服务器连接出去; usb --串行

仅模拟

参数默认值描述
--simulatedfalse设置为 true 在MCP服务器旁边生成ArduCopter SITL
--ardupilot_path~/ardupilot本地ArduPilot存储库的路径
--locationAbraDFSITL的指定起始位置(定义见 ~/.config/ardupilot/locations.txt)
--speedup1SITL仿真时间倍增器
--gs_connection[]额外 host:port 解决SITL流遥测问题(例如任务规划器)

日志记录

参数默认值描述
--log_console[]将日志打印到控制台的组件: COPTER GRADYS_GS
--log_path写入所有组件日志组合的文件路径
--debug[]组件名称与 --log_console 但在DEBUG冗长
--script_logsNone脚本stdout/stderr保存为带时间戳的目录 .log 文件

______________________________________________________________________

额外功能

Gradys地面站集成

--gradys_gs 设置后,服务器启动一个后台协程,每秒将车辆的GPS位置发送到Gradys GS:

uav-mcp --port 8000 --sysid 1 --gradys_gs 192.168.1.10:5000

每次POST http:///update-info/ 包括:纬度、经度、高度、设备类型、序列号以及服务器自己的IP和端口。这使得Gradys生态系统能够实时跟踪无人机。

使用任务规划器进行视觉反馈

在模拟模式下运行时,使用 --gs_connection 将MAVLink遥测数据流式传输到任务规划器(或任何地面军事系统软件):

uav-mcp --simulated true --ardupilot_path ~/ardupilot --sysid 1 --gs_connection [192.168.1.5:14550]

将任务规划器连接到指定的UDP地址,以查看实时位置、姿态和飞行数据。

image

记录系统

使用日志参数控制记录的内容和位置:

# Print COPTER logs to console
uav-mcp --log_console COPTER ...

# Write all logs to a file
uav-mcp --log_path ~/uav_mcp.log ...

# Enable DEBUG verbosity for the COPTER component
uav-mcp --debug COPTER ...

可用日志组件: COPTER, GRADYS_GS.

目录标签

目录标签

PythonClaude云端部署无人机控制本地部署MCP工具MAVLink飞行控制遥测数据

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

17

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP