# MCP4SDL

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

- **Type:** MCP server
- **Install:** `agentstack add mcp-ivoryzh-mcp4sdl`
- **Verified:** Pending review
- **Seller:** [ivoryzh](https://agentstack.voostack.com/s/ivoryzh)
- **Installs:** 0
- **Category:** [Integrations](https://agentstack.voostack.com/c/integrations)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [ivoryzh](https://github.com/ivoryzh)
- **Source:** https://github.com/ivoryzh/MCP4SDL

## Install

```sh
agentstack add mcp-ivoryzh-mcp4sdl
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Robot Control MCP

[](https://youtu.be/s3gXrPKNfYY)

Control robots and design experiment through Claude Desktop using Model Context Protocol (MCP) and [IvoryOS](https://github.com/AccelerationConsortium/ivoryOS).

## Quick Start

### 1. Install IvoryOS
In the existing script environment, install ivoryos
```bash
pip install ivoryos
```

### 2. Start IvoryOS

**Option A - Function blocks:**
```python
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__)
```

**Option B - Class instance:**
```python
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:
> ```text
> 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: 
```bash
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
Install uv on Mac:
```bash
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`

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

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
```prompt
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.  
```

### Developer Guide
The developer-friendly version [server.py](server.py) for contributors.
```bash
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
- **IvoryOS**: [repo](https://github.com/AccelerationConsortium/ivoryOS) | [docs](https://ivoryos.readthedocs.io/en/latest/)
- **IvoryOS Client**: [repo](https://github.com/ivoryzh/ivoryOS-client)
- **IvoryOS MCP**: [repo](https://github.com/AccelerationConsortium/ivoryOS-mcp) 
- **FastMCP**: [repo](https://github.com/jlowin/fastmcp) | [docs](https://gofastmcp.com/)
- **MCP Python SDK**: [repo](https://github.com/modelcontextprotocol/python-sdk) | [docs](https://modelcontextprotocol.io/docs/tools/python-sdk)

## 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**

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [ivoryzh](https://github.com/ivoryzh)
- **Source:** [ivoryzh/MCP4SDL](https://github.com/ivoryzh/MCP4SDL)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: flagged — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-ivoryzh-mcp4sdl
- Seller: https://agentstack.voostack.com/s/ivoryzh
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
