BracketBot Multi-Robot Control

by bracketbotcapstone

Not rated
GitHub

About

Enables simultaneous control of multiple robots through a unified interface for movement, sound playback, camera access, and status monitoring with precise velocity control and comprehensive error handling.

Details

Author
bracketbotcapstone
Repository
BracketBotCapstone/bracketbot-mcp
Categories
AI, Design, Developer Tools, Media, Knowledge Base, API
Tags
#integration

- Control multiple robots simultaneously
- Control robot movement (forward, backward, left, right)
- Play sounds through the robots' speakers
- Get robot status information
- Precise velocity control
- Access robot camera images
- Unified API with port specification

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name BracketBot Multi-Robot Control
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 @highlight/mcp-server

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

1. Start the robot control FastAPI servers:
- First robot on port 8000
- any other robots on 8001, 8002, etc

2. Important Update: The Claude desktop client now automatically runs the MCP server for you
- No need to manually start the server with python server.py
- The MCP server functionality is integrated directly into the Claude desktop client

3. The MCP server allows AI agents to control multiple robots and access their cameras.

drive_forward

Move a robot forward. Accepts a `port` parameter to specify which robot to control.

drive_backward

Move a robot backward. Accepts a `port` parameter to specify which robot to control.

turn_left

Turn a robot left. Accepts a `port` parameter to specify which robot to control.

turn_right

Turn a robot right. Accepts a `port` parameter to specify which robot to control.

stop

Stop robot movement. Accepts a `port` parameter to specify which robot to control.

drive

Control a robot with precise velocity values. Accepts a `port` parameter to specify which robot to control.

beep

Play a sound through a robot's speaker. Accepts a `port` parameter to specify which robot to control.

get_camera_image

Get an image from a robot's camera. Accepts a `port` parameter to specify which robot to control.

robot_status

Get robot status information. Accepts a `port` parameter to specify which robot to control.

list_available_robots

List all available robots and their status.

All tools accept a port parameter (default: 8000) to specify which robot to control.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "bracketbot multi-robot control": {
            "env": {},
            "args": [
                "-y",
                "@highlight/mcp-server"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "npx"
}

Macos

{
    "env": [],
    "args": [
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "npx"
}

Windows

{
    "env": [],
    "args": [
        "/c",
        "npx",
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "cmd"
}

Multi-Robot Control MCP Agent

This project creates an MCP (Model Context Protocol) server that allows AI agents to control multiple robots via existing FastAPI robot control servers.

Features

- Control multiple robots simultaneously
- Control robot movement (forward, backward, left, right)
- Play sounds through the robots' speakers
- Get robot status information
- Precise velocity control
- Access robot camera images
- Unified API with port specification

Prerequisites

- Python 3.10+
- UV (Python package manager)
- Multiple running robot control FastAPI servers (as provided in the example)

Setup

1. Ensure you have a Python 3.10 environment active
2. Install dependencies using UV:

   uv pip install -e .

Usage

1. Start the robot control FastAPI servers:
- First robot on port 8000
- any other robots on 8001, 8002, etc

2. Important Update: The Claude desktop client now automatically runs the MCP server for you
- No need to manually start the server with python server.py
- The MCP server functionality is integrated directly into the Claude desktop client

3. The MCP server allows AI agents to control multiple robots and access their cameras.

Available Tools

All tools accept a port parameter (default: 8000) to specify which robot to control.

Movement Control

- drive_forward: Move a robot forward - drive_backward: Move a robot backward - turn_left: Turn a robot left - turn_right: Turn a robot right - stop: Stop robot movement - drive: Control with precise velocity values

Audio Control

- beep: Play a sound through a robot's speaker

Camera Access

- get_camera_image: Get an image from a robot's camera

System Information

- robot_status: Get robot status information - list_available_robots: List all available robots and their status

Available Resources

- robot://info/{port}: Get information about a specific robot's capabilities

Examples

# Get status from robot on port 8000
status_robot1 = await client.robot_status(port=8000)

Get status from robot on port 8001

status_robot2 = await client.robot_status(port=8001)

Make both robots beep with different tones

await client.beep(port=8000, frequency=440, duration=1.0) # A4 note on robot 1 await client.beep(port=8001, frequency=523.25, duration=1.0) # C5 note on robot 2

Get a list of all available robots

robots = await client.list_available_robots()

Note on Image Handling

The camera image tools use MCP's native Image class for handling image data. This allows the AI agent to receive the image data in a format that can be properly handled by the client without need for additional conversion.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.