Token导航 LogoToken导航TokenDH.com
Drone MCP logo
AI代理stdio官方级别未说明来源级核验

Drone MCP

MCP Server

一个用于控制DJI Tello无人机的MCP服务器实现,通过标准化接口允许任何MCP兼容客户端控制无人机。

工具数

0

提示词数

0

GitHub Stars

25

资源数

0
错误处理PythonCursorCursor

安装说明

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

作者 / 组织

0xKoda

提供方

0xKoda

最后核验

2026/5/17 20:50

运行时

Python

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

Tello无人机MCP服务器

用于控制DJI Tello无人机的模型上下文协议(MCP)服务器实现。该服务器允许任何兼容MCP的客户端通过标准化接口控制Tello无人机。

这正在积极开发中,请阅读 安全考虑

特性

  • MCP支持
  • 通过SSE(服务器发送事件)进行实时无人机控制
  • 强大的错误处理和日志记录
  • 为web客户端启用CORS(如mcp检查器)
  • 支持Tello无人机的基本指令:

- 起飞 - 土地 - 移动(上/下/左/右/前/后) - 旋转(顺时针/逆时针)

先决条件

  • Python 3.7+
  • 日间无人机
  • Tello无人机的网络连接
  • Root/sudo访问权限(UDP套接字绑定所需)

安装

  1. 克隆此存储库:
git clone 
cd drone-mcp
  1. 安装依赖项:
pip install -r requirements.txt

MCP配置

要使您的MCP客户端能够连接到Tello无人机服务器,请将以下配置添加到您的 mcp.json 文件(通常位于 ~/.cursor/mcp.json 或在您的项目目录中):

{
  "tello-drone": {
    "url": "http://localhost:3000/sse"
  }
}

此配置允许启用MCP的工具和模型自动发现并连接到您的Tello无人机服务器。

用法

  1. 连接到Tello无人机的WiFi网络(通常以“Tello-”开头)。
  1. 启动MCP服务器:
sudo python tello_mcp.py

服务器将:

  • 初始化与Tello无人机的连接
  • 启动MCP服务器 http://0.0.0.0:3000
  • 在以下位置设置SSE端点 /sse
  • 在以下位置处理消息 /message

在计划在客户端(游标、风帆、代码)中使用服务器之前,请确保服务器正在运行。

可用工具

服务器提供以下MCP工具:

1.起飞

{
    "name": "takeoff",
    "description": "Commands the Tello drone to take off",
    "inputSchema": {
        "type": "object",
        "properties": {}
    }
}

2.土地

{
    "name": "land",
    "description": "Commands the Tello drone to land",
    "inputSchema": {
        "type": "object",
        "properties": {}
    }
}

3.移动

{
    "name": "move",
    "description": "Moves the Tello drone in a specified direction",
    "inputSchema": {
        "type": "object",
        "properties": {
            "direction": {
                "type": "string",
                "enum": ["up", "down", "left", "right", "forward", "back"]
            },
            "distance": {
                "type": "integer",
                "minimum": 20,
                "maximum": 500
            }
        },
        "required": ["direction", "distance"]
    }
}

4.旋转

{
    "name": "rotate",
    "description": "Rotates the Tello drone clockwise or counter-clockwise",
    "inputSchema": {
        "type": "object",
        "properties": {
            "direction": {
                "type": "string",
                "enum": ["cw", "ccw"]
            },
            "degrees": {
                "type": "integer",
                "minimum": 1,
                "maximum": 3600
            }
        },
        "required": ["direction", "degrees"]
    }
}

MCP客户端集成

要连接MCP客户端,请执行以下操作:

  1. 启动服务器并连接到SSE端点:
GET http://localhost:3000/sse
  1. 提示您启用MCP的模型,该模型将通过SSE进行通信
event: endpoint
data: /message?sessionId=
  1. 发送初始化请求:
{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize"
}
  1. 列出可用工具:
{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "listTools"
}
  1. 调用工具(示例-起飞):
{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "callTool",
    "params": {
        "name": "takeoff",
        "arguments": {}
    }
}

错误处理

服务器实现了全面的错误处理:

  • 无人机连接失败
  • 无效命令
  • 网络超时
  • 协议错误
  • 无效的工具参数

所有错误都会被记录下来,并作为正确的JSON-RPC 2.0错误响应返回。

日志记录

服务器将以下详细信息记录到stderr:

  • 服务器启动/关闭
  • 无人机连接状态
  • 命令执行
  • 客户端连接
  • 错误条件

安全考虑

  • 服务器需要root/sudo访问权限才能绑定到UDP端口
  • 未实施身份验证(依赖于网络安全)
  • 所有来源都启用了CORS(\*)
  • 仅在受控环境中使用

发展

服务器是使用以下方式构建的:

  • Python的 mcp 协议处理库
  • 用于HTTP/SSE传输的Starlette
  • Uvicorn作为ASGI服务器
  • 用于无人机UDP通信的原生Python套接字库

故障排除

  1. 服务器无法启动:

- 确保您具有sudo/root访问权限 - 检查Tello的WiFi是否已连接 - 验证没有其他进程正在使用端口3000

  1. 无人机无法连接:

- 确保无人机已通电 - 检查WiFi连接 - 验证没有其他应用程序正在控制无人机

  1. 命令失败:

- 检查无人机电池电量 - 确保无人机处于安全的飞行环境中 - 验证命令参数是否在允许的范围内

许可证

麻省理工学院

贡献

欢迎投稿。

目录标签

目录标签

错误处理PythonCursor无人机控制本地部署MCP协议实时控制网络通信

支持客户端

Cursor

接入字段

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

stdio

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

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP