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
Details
- Author
- ivoryzh
- Downloads
- 221
- Categories
- Other
Jump to
- 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:
- 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, 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

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.



