Control robots and design experiment through Claude Desktop using Model Context Protocol (MCP) and IvoryOS.
In the existing script environment, install ivoryos
pip install ivoryosOption A - Function blocks:
import ivoryos
@ivoryos.block
def move_robot(x: float, y: float, z: float):
"""Move robot to specified coordinates"""
# Your robot control logic here
return True
ivoryos.run(__name__)import ivoryos
class RobotController:
def move(self, x: float, y: float, z: float):
"""Move robot to specified coordinates"""
# Your robot control logic here
return True
robot = RobotController()
ivoryos.run(__name__)Note
To see the above interfaces, you need to create an account using the app link.It’s recommended to use:
username: admin password: adminfor easy access.
If you choose a different username/password, remember to update the config file in step 5.
Install uv on Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Install uv on Mac:
curl -LsSf https://astral.sh/uv/install.sh | shAdd to your Claude Desktop config file:
- 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": "your_username",
"IVORYOS_PASSWORD": "your_password"
}
}
}
}Quit the Claude Desktop on Windows (screenshot of quiting from the taskbar)
That's it! You can now control your robots through Claude.
If you don't have access to a physical robot, you can simulate device operations by creating mock functions or classes.
Can you provide a dummy self-driving lab script in Python, representing unit operations in chemistry?
I want one version using a class, and another example using simple functions.
Functions should be meaningful and can be scripted as a workflow/experiment.
Use primitive data inputs wherever possible.
Finally, provide a natural language summary of the experiment.
The developer-friendly version server.py for contributors.
uv add "mcp[cli]"
uv run mcp install server.pyAsk Claude:
- "Tell me more about the platform"
- "Show robot status"
- "Execute calibration workflow"
- "Move robot to position x=10, y=5"
- Connection failed? Check if IvoryOS is running at the URL
- Auth errors? Verify username/password in config, check if you can login through the web app with the combination.
- MCP not loading? Restart Claude Desktop after config changes
- IvoryOS: repo | docs
- IvoryOS Client: repo
- IvoryOS MCP: repo
- FastMCP: repo | docs
- MCP Python SDK: repo | docs
Hackathon participants welcome! Any contribution helps:
- 🤖 Try with your platform - Test with your robot/hardware setup
- 📝 Share examples - Add your robot control scripts
- 🐛 Report issues - What broke? What's missing?
- 💡 Suggest features - What would make this more useful?
- 📚 Improve docs - Help others get started faster
No contribution is too small—even trying it out and giving feedback is valuable!
🏆 Hackathon Project




