mcp-cobot-server

cluesang/mcp-cobot-server

3.1

If you are the rightful owner of mcp-cobot-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

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

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.

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 IdRange
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 file for details.