Skip to main content
Glama
cluesang

MCP Cobot Server

by cluesang

MCP Cobot Server

This repository contains the MCP Cobot Server, a FastMCP server implementation for the M5 MyCobot280 robot.

Based on the model context protocol python-sdk: https://github.com/modelcontextprotocol/python-sdk?tab=readme-ov-file#quickstart

Features

  • Implements the MCP standard for efficient context management.

  • Built with FastMCP for high performance and scalability.

  • Designed for integration with collaborative robot (myCobot) systems.

Related MCP server: RobotArm MCP P340

Requirements

  • Python 3.8+

  • FastMCP library

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/mcp-cobot-server.git
    cd mcp-cobot-server
  2. Install dependencies:

    uv sync
    source .venv/bin/activate

Note This project uses uv to install manage the python virtual environment and dependencies. Learn more here: https://docs.astral.sh/uv/guides/projects/

Usage

Start the server:

# launch a standalone MCP server with:
uvx mcpo --port 8000 -- uv run --with mcp[cli] --with pymycobot mcp run ./server.py

# Install the mcp profile with claude
mcp install server.py

For development:

# debug the mcp interface
mcp dev server.py

Available Functions

The following functions are exposed to mcp.tool in server.py:

  1. get_angles: Retrieves the current angles of all servos.

  2. move_angle: Moves a specific joint (servo) to a target angle at a specified speed.

  3. move_angles: Moves all joints to specified angles at a given speed.

  4. go_home: Moves all joints to a predefined "home" position.

  5. set_home: Sets the current joint angles as the new "home" position.

  6. change_color: Changes the LED matrix color of the robot.

  7. relax: Releases all servos, allowing the robot arms to relax.

  8. interpretive_dance_routine: Executes a creative dance routine based on a description, involving joint movements and LED color changes.

MyCobot M5 280

The myCobot SDK I'm using is documented here: https://github.com/elephantrobotics/pymycobot/blob/main/docs/MyCobot_280_en.md The robot I'm using is here: Elephant Robotics myCobot 280 M5Stack 2023 - 6 DOF Collaborative Robot

Joint ranges

Joint Id

Range

1

-168 ~ 168

2

-135 ~ 135

3

-150 ~ 150

4

-145 ~ 145

5

-165 ~ 165

6

-180 ~ 180

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Related MCP Connectors

Related MCP Servers