Tello Drone MCP Server
Allows controlling a DJI Tello drone, including taking off, landing, moving, taking photos, checking battery, and more.
Click on "Install 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., "@Tello Drone MCP ServerTake off and hover at 1 meter"
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.
Tello Drone MCP Server - Mac Setup Guide
Prerequisites
Python 3.10 or higher - Check your version:
python3 --versionHomebrew (optional, but recommended for installing Python if needed):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Related MCP server: the-mogiyoon-mcp
Step-by-Step Setup
1. Create Project Directory
mkdir ~/tello-mcp
cd ~/tello-mcp2. Create a Virtual Environment (Recommended)
python3.12 -m venv venv
source venv/bin/activate3. Install Dependencies
pip install mcp djitellopy opencv-python4. Make the Server Script executable
chmod +x tello_server.py5. Test the Server (Optional)
Before configuring Claude, you can test that everything works:
# Make sure you're in the virtual environment
source ~/tello-mcp/venv/bin/activate
# Turn on your Tello and connect to its WiFi first!
# Run the server
python tello_server.pyPress Ctrl+C to stop when done testing.
Configure Claude Desktop
Location of claude_desktop_config.json on Mac
The config file is located at:
~/Library/Application Support/Claude/claude_desktop_config.jsonOpen the Config File
Option 1: Using Terminal
# Create the directory if it doesn't exist
mkdir -p ~/Library/Application\ Support/Claude
# Open in your default text editor
open ~/Library/Application\ Support/Claude/claude_desktop_config.jsonOption 2: Using Finder
Open Finder
Press
Cmd + Shift + G(Go to Folder)Paste:
~/Library/Application Support/ClaudeOpen
claude_desktop_config.jsonwith TextEdit or VS Code
Option 3: Using nano (command line editor)
nano ~/Library/Application\ Support/Claude/claude_desktop_config.jsonAdd the Configuration
If the file is empty or doesn't exist, add this:
{
"mcpServers": {
"tello-drone": {
"command": "/Users/YOUR_USERNAME/tello-mcp/venv/bin/python",
"args": [
"/Users/YOUR_USERNAME/tello-mcp/tello_server.py"
]
}
}
}Replace YOUR_USERNAME with your actual Mac username!
Find Your Username
If you're not sure of your username:
echo $USEROr use the ~ shortcut (though absolute paths are more reliable):
# Get the full path
echo ~/tello-mcp/venv/bin/python
echo ~/tello-mcp/tello_server.pyAlternative: Using System Python
If you prefer not to use a virtual environment:
{
"mcpServers": {
"tello-drone": {
"command": "python3",
"args": [
"/Users/YOUR_USERNAME/tello-mcp/tello_server.py"
]
}
}
}Using the Tello with Claude
1. Connect to Tello WiFi
Turn on your Tello drone
Go to Mac WiFi settings
Connect to the Tello network (usually named
TELLO-XXXXXX)
2. Restart Claude Desktop
Quit and restart Claude Desktop for the configuration to take effect.
3. Start Flying!
Try these commands in Claude:
"Connect to my Tello drone"
"What's the battery level?"
"Take off"
"Move forward 50 centimeters"
"Take a photo"
"Land"
Troubleshooting
"Command not found" error
Make sure the paths in the config are absolute (start with
/Users/)Verify the Python path:
which python3Check that tello_server.py exists:
ls ~/tello-mcp/tello_server.py
"Module not found" error
Activate your virtual environment:
source ~/tello-mcp/venv/bin/activateReinstall dependencies:
pip install mcp djitellopy opencv-pythonMake sure you're using the venv Python in the config
Can't connect to drone
Verify you're connected to Tello WiFi
Check the drone is powered on and the lights are blinking
Try pinging the drone:
ping 192.168.10.1
Photos not saving
The photos will save to the directory where you run Claude from. To specify a location, modify the take_photo function in tello_server.py to use an absolute path:
filename = arguments.get("filename", "/Users/YOUR_USERNAME/tello-mcp/photos/tello_photo.jpg")Quick Reference
Activate virtual environment:
source ~/tello-mcp/venv/bin/activateDeactivate virtual environment:
deactivateView Claude logs (if there are issues):
tail -f ~/Library/Logs/Claude/mcp*.logConfig file location:
~/Library/Application Support/Claude/claude_desktop_config.jsonDebug
The Tello sends two types of communication:
Command responses (working ?) - on UDP port 8889 State data stream (working ?) - on UDP port 8890
Find what's using a port, for example 8889:
lsof -i :8889
# You'll see output like:
# COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
# Python 1234 linsun 3u IPv4 0x... 0t0 UDP *:8889
# Kill that process (replace 1234 with the actual PID)
kill -9 1234If 8889 works but 8890 doesn't, macOS might be blocking UDP port 8890.
Safety Reminders
Always fly in an open area away from people and obstacles
Keep the drone in visual line of sight
Monitor battery levels (don't fly below 20%)
Have a clear landing area
The emergency stop cuts motors immediately - use only in real emergencies
Happy flying! 🚁
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/linsun/tello-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server