home / mcp / so-arm100 mcp server

SO-ARM100 MCP Server

Provides MCP-based control for the SO-ARM100 robot via HTTP SSE, streamed HTTP, or local stdio transports.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "ilialarchenko-robot_mcp": {
      "url": "http://127.0.0.1:3001/sse",
      "headers": {
        "MCP_PORT": "3001",
        "MCP_SERVER_IP": "127.0.0.1"
      }
    }
  }
}

You can run an MCP server to let AI agents control your SO-ARM100 robot and connect it to any MCP client. This server exposes transports for real-time communication and can be controlled locally or remotely, enabling natural language instructions to move and calibrate the robot.

How to use

Start the MCP server in one of several transports depending on your setup. Use SSE for a persistent HTTP connection, or the Streamed-HTTP transport for broader client compatibility. You can also run the server in a local stdio setup for direct Python-based control.

Common workflows include starting the server with a transport, then connecting a client that sends natural language commands to operate the robot. You can verify the server is reachable and calibrate the robot before issuing complex instructions.

If you want to test the server locally, run the following to start the server in SSE mode, which provides a streaming endpoint for MCP clients:

mcp run mcp_robot_server.py --transport sse

How to install

Prerequisites: you need Python and a working virtual environment. You may also install lerobot separately if required by your setup.

Create a virtual environment, activate it, and install dependencies.

python -m venv .venv
source .venv/bin/activate  # use .venv\Scripts\activate on Windows
pip install -r requirements.txt
```

It may be required to install lerobot separately, just use the official instructions from the lerobot setup.

Configuration and MCP endpoints

The MCP server supports multiple connection methods. You can expose an HTTP transport or use a local stdio setup. The following examples show how to configure each transport and how to reference the server from an MCP client.

HTTP transports expose a URL that MCP clients connect to. Standard local stdio runs use a Python command to start the server directly.

Examples and configs

{
  "mcpServers": {
    "SO-ARM100 robot controller": {
      "type": "http",
      "url": "http://127.0.0.1:3001/sse",
      "args": []
    }
  }
}

Manual stdio configuration

{
  "mcpServers": {
    "SO-ARM100 robot controller": {
      "type": "stdio",
      "command": "/path/to/.venv/bin/python",
      "args": ["/path/to/mcp_robot_server.py"]
    }
  }
}