IvoryOS MCP

by ivoryzh

221 downloads
Not rated
GitHub

About

IvoryOS is a Python-based unified robot control web interface, developed for user-friendly workflow design and control for Self-Driving Labs (SDLs). It works by introspecting the Python script, dynamically searching for available module and their method. The methods are available

Details

Author
ivoryzh
Downloads
221
Categories
Other

- Get IvoryOS platform info and signature (platform-info)
- List, load, and submit workflow scripts from the database
- List and load workflow execution data (CSV and logs)
- Call platform functions directly with execute-task
- Run workflow scripts repeatedly or with dynamic parameters
- Pause, resume, abort, or safely stop workflow execution

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 IvoryOS MCP
    Command (node, npx, python, etc.)

    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

Install uv, clone the repository, and install dependencies with uv pip install -r uv.lock. Configure the IvoryOS URL and login credentials in a .env file or directly in ivoryos_mcp/server.py. Then install the server in Claude Desktop using mcp install ivoryos_mcp/server.py.

platform-info

summarize ivoryOS and the current deck functions, no authentication required.

execution-status

Get workflow status

execute-task

Execute a robot task and return task_id.

list-workflow-scripts

List workflow scripts

load-workflow-script

Load a workflow script

submit-workflow-script

Submit a workflow script

pause-and-resume

Toggle pause and resume for workflow execution

abort-pending-workflow

Abort pending workflow execution

stop-current-workflow

Stop workflow execution after current step

run-workflow-repeat

Run the loaded workflow with repeat times

run-workflow-kwargs

Run the loaded workflow with a list of keyword arguments

run-workflow-campaign

Run the loaded workflow with ax-platform (credit: Honegumi)

list-workflow-data

List workflow data

load-workflow-data

Load workflow data

Claude Desktop / Cursor

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

{
    "mcpServers": {
        "ivoryos mcp": {
            "IvoryOS MCP": {
                "command": "uvx",
                "args": [
                    "ivoryos-mcp"
                ],
                "env": {
                    "IVORYOS_URL": "http://127.0.0.1:8000/ivoryos",
                    "IVORYOS_USERNAME": "<IVORYOS_USERNAME>",
                    "IVORYOS_PASSWORD": "<IVORYOS_PASSWORD>"
                }
            }
        }
    }
}

McpServers

{
    "IvoryOS MCP": {
        "command": "uvx",
        "args": [
            "ivoryos-mcp"
        ],
        "env": {
            "IVORYOS_URL": "http://127.0.0.1:8000/ivoryos",
            "IVORYOS_USERNAME": "<IVORYOS_USERNAME>",
            "IVORYOS_PASSWORD": "<IVORYOS_PASSWORD>"
        }
    }
}

IvoryOS MCP server

![](https://badge.mcpx.dev?type=server 'MCP Server')
License: MIT

Serve as a robot control interface using IvoryOS and Model Context Protocol (MCP) to design, manage workflows, and interact with the current hardware/software execution layer.

📦 Installation

Install uv.

1. Clone the Repository

git clone https://gitlab.com/heingroup/ivoryos-mpc
cd ivoryos-mcp

2. Install dependencies

When using IDE (e.g. PyCharm), the uv environment might be configured, you can skip this section.
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install -r uv.lock

⚙️ Configuration

Option 1: in .env, change ivoryOS url and login credentials.
IVORYOS_URL=http://127.0.0.1:8000/ivoryos
IVORYOS_USERNAME=admin
IVORYOS_PASSWORD=admin

Option 2: In ivoryos_mcp/server.py, change ivoryOS url and login credentials.

url = "http://127.0.0.1:8000/ivoryos"
login_data = {
"username": "admin",
"password": "admin",
}

🚀 Install the server (in Claude Desktop)

mcp install ivoryos_mcp/server.py

✨ Features

| Category | Feature | Description | |-------------------------|--------------------------|--------------------------------------------------------| | ℹ️ General Tools | platform-info | Get ivoryOS info and signature of the platform | | | execution-status | Check if system is busy and current/last task status | | ℹ️ Workflow Design | list-workflow-scripts | List all workflow scripts from the database | | | load-workflow-script | Load a workflow script from the database | | | submit-workflow-script | Save a workflow Python script to the database | | ℹ️ Workflow Data | list-workflow-data | List available workflow execution data | | | load-workflow-data | Load CSV and execution log from selected workflow | | 🤖 Direct Control | execute-task | Call platform function directly | | 🤖 Workflow Run | run-workflow-repeat | Run workflow scripts repeatedly with static parameters | | | run-workflow-kwargs | Run workflow scripts with dynamic parameters | | | run-workflow-campaign | Run workflow campaign with an optimizer | | 🤖 Workflow Control | pause-and-resume | Pause or resume the workflow execution | | | abort-pending-workflow | Finish current iteration, abort future executions | | | stop-current-workflow | Safe stop of current workflow |

> ⚠️ It's recommended to only use allow always for tasks with ℹ️
> and use allow once for tasks with 🤖.
> These tasks will trigger actual actions on your hosted Python code.

🧪 Examples

The example prompt uses the abstract SDL example.

Platform info

status.gif

Load prebuilt workflow script

load script.gif
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.