Skip to content

ivoryzh/MCP4SDL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Robot Control MCP

MCP Server YouTube Video

Control robots and design experiment through Claude Desktop using Model Context Protocol (MCP) and IvoryOS.

Quick Start

1. Install IvoryOS

In the existing script environment, install ivoryos

pip install ivoryos

2. Start IvoryOS

Option 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__)

Slide1.PNG Option B - Class instance:

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__)

Slide2.PNG

Note
To see the above interfaces, you need to create an account using the app link.

img.png

It’s recommended to use:

username: admin
password: admin

for easy access.

If you choose a different username/password, remember to update the config file in step 5.

3. Install uv and Claude Desktop

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 | sh

4. Configure Claude Desktop

Add 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"
      }
    }
  }
}

5. Restart Claude Desktop

Quit the Claude Desktop on Windows (screenshot of quiting from the taskbar)

img.png

That's it! You can now control your robots through Claude.

Additional Steps

Work with simulated devices/operations

If you don't have access to a physical robot, you can simulate device operations by creating mock functions or classes.

Prompt Example

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.  

mock_sdl_prompt.png

Developer Guide

The developer-friendly version server.py for contributors.

uv add "mcp[cli]"
uv run mcp install server.py

Usage Examples

Ask Claude:

  • "Tell me more about the platform"
  • "Show robot status"
  • "Execute calibration workflow"
  • "Move robot to position x=10, y=5"

Troubleshooting

  • 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

Resources

Contributing

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

About

This is project is based on the ivoryOS and its MCP server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors