MCP server for ivoryOS.
Project description
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.
🚀 Quickstart with Claude Desktop
Install uv. Open up the configuration file, and add IvoryOS MCP config.
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"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>"
}
}
}
}
📦 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 | Route | Description |
|---|---|---|---|
| ℹ️ General Tools | platform-info |
GET /instruments |
Get ivoryOS info and signature of the platform |
execution-status |
GET /executions/status |
Check if system is busy and current/last task status | |
| ℹ️ Workflow Design | list-workflow-scripts |
GET /library/<deck_name> |
List all workflow scripts from the database |
load-workflow-script |
GET /library/<workflow_name> |
Load a workflow script from the database | |
submit-workflow-script |
POST /draft/submit_python |
Save a workflow Python script to the database | |
get-optmizer-schema |
POST /executions/optimizer_schema |
Get all optimizers schema | |
| ℹ️ Workflow Data | list-workflow-data |
GET /executions/records |
List available workflow execution data |
load-workflow-data |
GET /executions/records/<workflow_id> |
Load execution log and data file | |
| 🤖 Direct Control | execute-task |
POST /instruments/<component> |
Call platform function directly |
| 🤖 Workflow Run | run-workflow-repeat |
POST /executions/config |
Run workflow scripts repeatedly with static parameters |
run-workflow-kwargs |
POST /executions/config |
Run workflow scripts with dynamic parameters | |
run-workflow-campaign |
POST /executions/campaign |
Run workflow campaign with an optimizer | |
| 🤖 Workflow Control | pause-and-resume |
GET /executions/pause-resume |
Pause or resume the workflow execution |
abort-pending-workflow |
GET /executions/abort/next-iteration |
Finish current iteration, abort future executions | |
stop-current-workflow |
GET /executions/abort/next-task |
Safe stop of current workflow |
⚠️ ℹ️ are resources, but decorated as tool due to the current issue with MCP Python SDK and Claude Desktop integration.
It's recommended to only useallow alwaysfor ℹ️ tasks
and useallow oncefor 🤖 tasks. 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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ivoryos_mcp-0.1.7.tar.gz.
File metadata
- Download URL: ivoryos_mcp-0.1.7.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98557e2c17f514935b6ad347e79003deeec41032fd530d25985a850c324303c4
|
|
| MD5 |
7036a5800645e6a935b9177a0679df5c
|
|
| BLAKE2b-256 |
56cf71eca3f2c2bdc38dc1e202f940e0cfce6cb1f2a1876afff530540a0be724
|
File details
Details for the file ivoryos_mcp-0.1.7-py3-none-any.whl.
File metadata
- Download URL: ivoryos_mcp-0.1.7-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89dfd0ba66454656e6d5542aa77e243aa379693ef9fa60610f305e63ea3f6f5f
|
|
| MD5 |
aac757ca180d504ef5e9e1885d77b486
|
|
| BLAKE2b-256 |
706c5e46a8be107371d27ce72b8be3ac469676c16de390e0eda311817eceb42b
|