IvoryOS MCP
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
Explore
| 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.
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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
IvoryOS MCPCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install uv.
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
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",
}
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>"
}
}
}

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), theuv 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
Load prebuilt workflow script

Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



